嵌入式操作系统简析
根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统是与应用紧密结合的,具有很强专用性,必须结合实际系统需求进行合理的裁减利用。国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
一.嵌入式操作系统基本要点包括以下7点
1.前后台系统
对基于芯片开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。中断服务程序处理异步事件,这部分可以看成前台行为。后台也可以叫任务级,前台也可以叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。
2.操作系统
操作系统是计算机最基本的程序,操作系统复杂计算机系统全部软硬资源的分配与回收、控制与协调等并发的活动,提供用户获得良好的工作环境,为用户扩展新的系统能提供软件平台。
3.实时操作系统
实时操作系统是一段嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行与RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源管理,消息管理,任务调用及异常处理等工作。每个任务均有一个优先级,动态切换各个任务,保证对实时性的要求。
4.代码的临界区
代码的临界区是指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入,为确保临界区代码的执行,在进入临界区之间要关中断,而临界区代码执行完成以后要立即开中断。
5.资源
程序运行时可使用的软、硬件环境统称为资源,资源可以是输入输出设备,例如打印机、键盘和显示器。资源也可以是一个变量、一个结构或一个数组等。
6.共享资源
可以被一个以上任务使用的资源叫做共享资源,为了防止数据被破坏,每个任务在共享资源打交通时,必须独占该资源,这叫做互斥。
7.任务
一个任务也称为作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己,实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。
![](http://m.amcfsurvey.com/webstorage/images/display/reg.jpg)
评论