嵌入式应用日益广泛,程序设计也越来越复杂,这就需要一个操作系统来对其进行管理和控制;同时,移植了操作系统的嵌入式系统开发也大大减少了应用程序员的负担,不必每次都从头开始设计。
在计算机技术发展的初期,计算机系统中没有“操作系统”这个概念。 为了给用户提供一个与计算机之间的接口,同时提高计算机的资源利用率,便出现了计算机监控程序,使用户能通过监控程序来使用计算机。 随着计算机技术的发展,计算机系统的硬件、软件资源也越来越丰富,监控程序已不能适应计算机应用的要求。 于是,在20 世纪60 年代中期监控程序又进一步发展,形成了操作系统。 发展到现在,广泛使用的有三种操作系统,即多通批量处理操作系统、分时操作系统以及实时操作系统。
多通批量处理系统一般用于计算中心较大的计算机系统中。 由于其硬件设备比较全、价格较高,所以此类系统十分注意CPU 及其他设备的充分利用,追求高的吞吐量,不具备实时性。
分时操作系统的主要目的是让多个计算机用户能共享系统的资源,能及时地响应和服务于联机用户,只具有很弱的实时功能,但与真正的实时操作系统仍然有明显的区别。
IEEE 的实时UNIX 分委会认为实时操作系统应具备以下特点:
①异步的事件响应。 实时系统为了能在系统要求的时间内响应异步的外部事件,要求有异步I/O 和中断处理能力。 I/O 响应时间常受内存访问、盘访问和处理机总线速度的限制。
②切换时间和中断延迟时间确定。
③优先级中断和调度。 必须允许用户定义中断优先级和被调度的任务优先级,并指定如何服务中断。
④抢占式调度。 为保证响应时间,实时操作系统必须允许高优先级任务一旦准备好运行,马上抢占低优先级任务的执行。(www.xing528.com)
⑤内存锁定。 必须具有将程序或部分程序锁定在内存的能力,锁定在内存的程序减少了为获取该程序而访问的时间,从而保证了快速响应时间。
⑥连续文件。 应提供存取盘上数据的优化方法,使得存取数据时查找时间最少。 通常要求将数据存储在连续文件上。
⑦同步。 提供同步和协调共享数据使用和时间执行的手段。 总的来说,实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。 它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机的整体,起着核心作用,由它来管理和协调各项工作,为应用软件提供良好的运行环境和开发环境。
从实时系统的应用特点来看,实时操作系统可以分为一般实时操作系统和嵌入式实时操作系统两种。
一般实时操作系统与嵌入式实时操作系统都是具有实时性的操作系统,它们的主要区别在于应用场合和开发过程。 一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统中,并且提供了开发、调试和运用一致的环境。
嵌入式实时操作系统应用于实时性要求高的实时控制系统中,而且应用程序的开发程序是通过交叉开发来完成的,即开发环境与运行环境不一致。 嵌入式实时操作系统有规模小(一般为几KB 到几十KB)、可固化和实时性强(在ms 或μs 数量级上)的特点。
μC/OS-Ⅱ是一个可裁减的、源代码开放的、结构小巧、可剥夺型的实时多任务内核。 它提供任务调度、任务间的通信与同步、任务管理、时间管理和内存管理等基本功能。 本章主要介绍μC/OS-Ⅱ的内核结构及μC/OS-Ⅱ在嵌入式处理器上的移植。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。