嵌入式操作系统基础
——C/OS-Ⅱ
第一讲嵌入式实时操作系统
第一节嵌入式系统
目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。而这专用计算机系统是嵌入到对象中。只见对象,不见计算机。
、、、 所示。
这个专用计算机系统承担对象的数据处理和对象各部件运动的控制。随着大规模集成电路的发展、嵌入式软件工程的发展,嵌入的对象越来越广泛。
第二节嵌入式实时操作系统
正如通用计算机系统,有很多软、硬件资源需要一个操作系统来管理,并提供用户一个良好的程序运行的环境。同样,作为嵌入式系统—专用计算机也需要一个操作系统。这个操作系统必须是实时的、嵌入式的。
许多早期的嵌入式系统开发者认为嵌入式系统不需要操作系统,但现在除了最简单的系统外,越来越多的嵌入式系统都引入了操作系统,比如中断驱动系统在引入嵌入式操作系统之后,系统的可靠性、安全性、可扩展性、功能性、灵活性、可管理性都大大提高。当然,我们这里所讲的嵌入式操作系统不一定是UcOS、VxWorks、WinCE、Linux等通用产品,也包括开发者自己编写的专用嵌入式操作系统。
嵌入式实时操作系统
在这些嵌入式操作系统中封装了越来越多的功能,除了对任务的切换、调度、通
信、同步、互斥、中断管理、时钟管理等,还可进一步封装内存管理、网络通讯协议、文件管理等功能,这些功能可以根据需要进行裁减。Linux正是由于其源代码开放,可以使开发者根据自己的需要进行裁剪而受到开发者的青睐。
计算机实时操作系统
实时操作系统首要特点是实时性。为此:
⑴实时操作系统必须是多任务的。
⑵实时操作系统内核应该是可剥夺型的。
图
图
图
图
关于内核应该是可剥夺型的
这种可剥夺性表现为:一个在运行的进程可被另一个进程剥夺其在CPU的运行权;另一方面,被剥夺运行权的进程,一旦再次获得运行时,能够正确无误运行,得到正确结果。为此,编译器、程序设计都要保证这点。
①可重入函数②不可重入的函数
viod strcpy(char *dest,char *src) int Temp;
{ void swap(int *x , int *y)
while(*dest++ = *src++) { {
; Temp = *x;
} *x = *y;
*dest = NULL; *y = Temp;
} }
对于含有不可剥夺的函数的进程是不剥夺的。
⑶进程调度的延时可预测并尽可能小
⑷系统提供的服务时间可预知.
嵌入式实时操作系统
实时嵌入式操作系统的种类繁多,大体上可分为两种,商用型和免费型。
商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵,如Vxworks、QNX、WinCE、Palm OS等。
免费型的实时操作系统在价格方面具有优势,目前主要有Linux、eCos和μC/OS-Ⅱ,稳定性与服务性存在挑战。
μC/OS-Ⅱ得到了美国航空管理局的认证,可用在飞行器上。这说明μC/OS-Ⅱ是稳定可靠的,可用在与人性命攸关的安全紧要的系统上。本课程讲授的就是μC/OS-Ⅱ。它是一个十分小的内核。
⑸中断延时尽可能小。否则影响高优先级进程的执行。
嵌入式实时操作系统
嵌入式系统是嵌入到某一对象中的专用计算机,它所占用的空间和所需的能源十分有限,甚至是苛刻的。这就要求操作系统是可剪裁的。对于不同的应用对象,必须剪裁掉与其无关的部分。这样嵌入式系统不但是实时的,而且是可剪裁的。这点与通用操作系统是不同的.
学习嵌入式操作系统
学习一种实时操作系统RTOS,如uc/OS,掌握实时系统的概念和设计方法;
嵌入式系统以应用为中心,应用时选择“适用”的操作系统;
知道如何剪裁操行系统;
嵌入式Linux、eCos;
自己“写”RTOS——一种学习态度;
由于嵌入式系统自身的特点,采用的程序设计语言是汇编语言、C/C++语言、JAVA语言。所用的编译器应与处理器相适应。
嵌入式实时操作系统 来自淘豆网m.daumloan.com转载请标明出处.