第一章:嵌入式实时操作系统的基本概念
1、什么是操作系统?
只由硬件构成的计算机叫“裸机”,此时的计算机是不能正常工作的。计算机必须在硬件的基础上配以相应的软件才能构成真正的计算机系统,才能完成相应的任务需求,而操作系统就是软件能够运行的基础或者平台。
操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
操作系统管理着计算机系统的主要几类资源,如处理器,存储器,输入输出设备,数据与文档资源等,同时也向计算机用户提供若干服务。主要完成计算机硬件资源的调度和分配、信息的存储保护以及并发活动的协调和控制等许多工作。
2、操作系统的作用和功能
操作系统的作用:操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统管理着软硬件资源,作为应用程序设计人员来说,他们使用的只是操作系统提供的库函数,不必搞清楚操作系统是如何工作的。即操作系统为应用程序的设计者提供了一个更便于使用的虚拟计算机。
操作系统的功能:
l 管理处理器:管理中断,调度处理的的工作(如何运行多道程序)
l 管理存储:合理的分配和使用资源
l 管理外部设备:提供外部设备的驱动程序和管理外部设备的速度,利用率等
l 管理文件:对以文件的形式存储在外存(如硬盘)上的大量的程序和数据进行管理
l 管理网络和通信:提供网络通信,故障管理,安全管理,性能管理等网络功能
l 管理用户接口:提供使用上述功能的接口
3、什么是嵌入式系统?
与嵌入式系统相对的是通用计算机系统,通用计算机系统是由软件和硬件组成的,其技术要求是高速、海量的数值计算,技术方向是总线速度的无限提升,存储容量的无限扩大。现代通用计算机系统小到微型通用计算机和个人通用计算机,大到巨型通用计算机及其网络,形态、特性多种多样。通用计算机系统的特点是能进行精确、快速的计算和判断,而且通用计算机性能好,使用容易,还能联成网络。
嵌入式系统是对对象进行自动控制而使其具有智能化并可嵌入对象体系中的专用计算机系统。区分是否为嵌入式系统的一个简单的方法就是:是否植入了操作系统。“嵌入式”,“专业性”,“计算机系统”是嵌入式系统的三个基本要素。嵌入式的技术要求是对象的智能化控制能力,技术发展方向是与对象密切相关的嵌入性能,控制性能与控制可靠性等。
嵌入式系统起源于微型计算机时代,随着时代的进步,基于通用计算机系统的结构的微型计算机无法满足大众的需求,从而开创了嵌入式系统独立发展的新时代。独立发展的初期是单片机时代,按照“创新模式”发展的单片形态的嵌入式系统大致可分为MCU,SOC两个阶段。SOC是比MCU拥有更高集成度的系统级芯片,随着技术的发挥,基于SOC的单片系统正在成为嵌入式系统的主流器件。
4、嵌入式系统的特点:
硬件部分通常不使用像硬盘那样大容量的存储介质,而大多数使用EPROM,EEPROM或闪存作为存储介质。
软件部分包括操作系统软件和应用软件。操作系统一般应该具有较强的实时性,并可以对多任务进行管理,而应用软件都是一些专门性的很强的应用软件。
嵌入式与通用性的相比有以下特点:
l 专用性强,嵌入式系统通常是面向某个特定的应用的。
l 可裁剪性好,嵌入式系统的硬件和操作系统都必须是可裁剪的,以便满足不同用户的实际需求。
l 实时性与可靠性好,嵌入式系统的中的软件固化在存储器芯片或单片系统的存储器里,大大提高了系统的可靠性
l 功耗低,正因为嵌入式系统中的软件固化在存储芯片或单片系统的存储器中,所以功耗低。
5、嵌入式操作系统
在没有嵌入式操作系统之前,程序员得到的只是硬件的裸机,为了在硬件上运行软件,对不同的硬件都要自己编程来解决,使应用程序的开发效率低。
嵌入式操作系统就是指运行在嵌入式硬件平台上,对整个系统及其所操作的部件,装置等资源进行统一协调、指挥和控制的系统软件。与普通的操作系统相比有以下的特点:微型化、可裁剪性、实时性、高可靠性、易移植性。
6、实时操作系统
实时操作系统是指使计算机系统及时响应外部事件的请求,并能及时控制所有实时设备与实时任务协调运行,且能在一个规定的时间内完成对事件的处理的系统。
对实时系统的两个基本要求:
1、实时系统的计算必须产生正确的结果,称为逻辑或功能正确
2、实时系统的计算必须在预定的时间内完成,称为时间正确。
按时间正确的程度来分,实时操作系统又分为硬实时操作系统和软实时操作系统两种。
硬实时操作系统是指系统在极的时间内完成实时任务,超过时间的运算结果和错误结果是不能容忍的。
软实时操作系统是指系统完成实时任务的截止时间要求不是十分严格,超过时间的运算结果的可信度降低,不是完全没有用途。
为了实现实时性,必须要满足三个条件:
1. 实时操作系统必须是多任务系统,大大提高了CPU的利用率,方便应用程序的设计和维护
2. 任务的切换时间应与系统中的任务数无关。
3. 中断延迟的时间可预知并尽可能短。
7、嵌入式系统的任务及嵌入式实时操作系统
嵌入式系统的任务:典型任务:无限循环
嵌入式系统以“微内核”为主,主要提供三项服务来辅助应用程序设计人员,他们分别是:1)内存管理,应用程序某一部分需要使用内存时,分配内存空间,使用完毕之后,释放内存函数。
2)多任务管理,嵌入式系统提供丰富的多任务管理和良好的任务调度机制,控制任务的启动、运行、暂停和结束等状态。通常这些调度算法满足实时性要求。
3)外围资源管理,一个完整的嵌入式应用系统,除了本身的微处理器,内存之外,还要有外围设备的支持。操作系统要对这些资源进行合理的调度和管理,才能保证资源的合理分配。
8、嵌入式系统的现状
现在比较常见的操作系统有WindRiver公司的VxWorks,pSOS,微软公司的Windows CE,QNX公司的QNX OS
手持设备嵌入式操作系统中三分天下的Plam,WinCE,EPOC
免费的,源代码开放的操作系统:uCLinux,ucos-ii
ucos-ii是1992年Jean J.Labrosse编写的嵌入式多任务实时操作系统,是用C语言和汇编语言来编写的,其中绝大部分代码是用C语言编写的,只有极少部分与处理器密切相关的部分是用汇编语言编写的,所以可移植性较好。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/39818.html