操作系统的主要功能:任务调度(处理器管理),内存管理,设备管理,文件管理,网络通信管理,提供用户接口。
嵌入式系统的定义:嵌入式系统是对对象进行自动控制而使其具有智能化并可嵌入对象体系中的专用计算机系统。
嵌入式系统的特点:
1、专用性强,通常面向某个特定应用,其硬件为特定用户群来设计。
2、可裁剪性好,其硬件和软件可根据用户实际应用需要设计,去除冗余功能,使其能满足应用要求的情况下达到最精简的配置。
3、实时性与可靠性好,因为实时性系统是根据优先权来进行任务调度的抢占式操作系统,从而能快速响应外部事件,其程序固化到mcu存储器或存储器芯片中,大大提高其可靠性。
4、功耗低。
5、微型化,占用内部存储容量小(1MB以内)。
6、易移植性:能适应多种多样的硬件平台,51,80x86,cotex-M3,ARM7等
为满足快速响应外部事件,实时操作系统需要具备以下条件:
1、多任务,在一个任务未满足执行的条件下CPU的使用权交给就绪状态的任务,这样能提高CPU的利用率。
2、内核为可剥夺型内核,即当多个任务就绪执行时,CPU总是执行优先级最高的,而且优先级高的任务变为就绪状态时就能抢占CPU的使用权。
3、任务的切换时间要短,操作系统最重要的功能是任务调度,其任务切换时间对实时型响应事件的效果影响非常密切。
4、中断延迟,外部事件发生通常以中断信号来通知CPU转向中断服务程序,其中断延迟和相应的时间会影响系统的实时性。
uC/OS-II是有Jean J.Labrosse于1992年编写的一个嵌入式多任务实时操作系统,绝大部分代码用C语言编写,与处理器相关的极少部分用汇编语言编写,因此只需要很小的改动就可以移植到8位,16位,32位处理器上。uc/OS-II结构简洁,可读性强,具备实时操作系统的大部分功能,是嵌入式初学者入门的最佳选择。uC/OS-II的源代码相关文件如下图所示: