问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

嵌入式操作系统是什么

发布网友 发布时间:2022-04-22 05:39

我来回答

1个回答

热心网友 时间:2023-07-06 03:05

引用的资料: 嵌入式操作系统EOS(Embedded OperatingSystem)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度工作,控制协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌人式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件功能等外,还有以下特点:
  (1)可装卸性。开放性、可伸缩性的体系结构。
  (2)强实时性。EOS实时性一般较强,可用于各种设备控制当中。
  (3)统一的接口。提供各种设备驱动接入.
  (4)操作方便、简单、提供友好的图形GUI,图形界面,追求易学易用.
  (5)提供强大的网络功能,支持TCP/IP协议及其它协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,为各种移动计算设备预留接口.
  (6)强稳定性,弱交互性。嵌入式系统一旦开始运行就不需要用户过多的干预,这就要负责系统管理的EOS具有较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统调用命令向用户程序提供服务。
  (7)固化代码。在嵌入系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统.
  (8)更好的硬件适应性,也就是良好的移植性.
  国际上用于信息电器的嵌入式操作系统有40种左右。现在,市场上非常流行的EOS产品,包括3Corn公司下属子公司的Palm OS,全球占有份额达50%,Microsoft公司的Windows CE不过29%。在美国市场,Palm OS更以80%的占有率远超Windows CE。开放源代码的Linux很适于做信息家电的开发.
  比如:中科红旗软件技术有限公司开发的红旗嵌入式Linux和美商网虎公司开发的基于Xlinux的嵌人式操作系统“夸克"。“夸克”是目前全世界最小的Linux,它有两个很突出的特点,就是体积小和使用GCS编码。
  常见的嵌入式系统有:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive .
  嵌入式操作系统的种类
  一般情况下,嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。
  a. 非实时操作系统
  早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中段来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其他中断。
  实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其他任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式应用被广泛使用。
   b. 实时操作系统
  实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。
  实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。
  实时多任务操作系统是指具有实时性、能支持实时控制系统工作的操作系统。其首要任务是调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的*和要求。实时操作系统具有如下功能:任务管理(多任务和基于优先级的任务调度)、任务间同步和通信(信号量和邮箱等)、存储器优化管理(含ROM的管理)、实时时钟服务、中断管理服务。实时操作系统具有如下特点:规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快。
  实时操作系统可分为可抢占型和不可抢占型两类。对于基于优先级的系统而言,可抢占型实时操作系统是指内核可以抢占正在运行任务的CPU使用权并将使用权交给进入就绪态的优先级更高的任务,是内核抢了CPU让别的任务运行。不可抢占型实时操作系统使用某种算法并决定让某个任务运行后,就把CPU的控制权完全交给了该任务,直到它主动将CPU控制权还回来。中断由中断服务程序来处理,可以激活一个休眠态的任务,使之进入就绪态;而这个进入就绪态的任务还不能运行,一直要等到当前运行的任务主动交出CPU的控制权。使用这种实时操作系统的实时性比不使用实时操作系统的系统性能好,其实时性取决于最长任务的执行时间。不可抢占型实时操作系统的缺点也恰恰是这一点,如果最长任务的执行时间不能确定,系统的实时性就不能确定。
  可抢占型实时操作系统的实时性好,优先级高的任务只要具备了运行的条件,或者说进入了就绪态,就可以立即运行。也就是说,除了优先级最高的任务,其他任务在运行过程中都可能随时被比它优先级高的任务中断,让后者运行。通过这种方式的任务调度保证了系统的实时性,但是,如果任务之间抢占CPU控制权处理不好,会产生系统崩溃、死机等严重后果。
  嵌入式操作系统的发展
  嵌入式操作系统伴随着嵌入式系统的发展经历了4个比较明显的阶段。
  第一阶段是无操作系统的嵌入算法阶段,是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。这种系统大部分应用于一些专业性极强的工业控制系统中,一般没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格很低,以前在国内工业领域应用较为普遍,但是已经远远不能适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域的需求。
  第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:CPU种类繁多,通用性比较差;系统开销小, 效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
  第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。
  第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。目前大多数嵌入式系统还孤立于Internet之外,但随着Internet的发展以及Internet技术与信息家电、工业控制技术等结合日益密切,嵌入式设备与Internet的结合将代表着嵌入式技术的真正未来。
  使用实时操作系统的必要性
  嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。
  首先,嵌入式实时操作系统提高了系统的可靠性。在控制系统中,出于安全方面的考虑,要求系统起码不能崩溃,而且还要有自愈能力。不仅要求在硬件设计方面提高系统的可靠性和抗干扰性,而且也应在软件设计方面提高系统的抗干扰性,尽可能地减少安全漏洞和不可靠的隐患。长期以来的前后台系统软件设计在遇到强干扰时,使得运行的程序产生异常、出错、跑飞,甚至死循环,造成了系统的崩溃。而实时操作系统管理的系统,这种干扰可能只是引起若干进程中的一个被破坏,可以通过系统运行的系统监控进程对其进行修复。通常情况下,这个系统监视进程用来监视各进程运行状况,遇到异常情况时采取一些利于系统稳定可靠的措施,如把有问题的任务清除掉。
  其次,提高了开发效率,缩短了开发周期。在嵌入式实时操作系统环境下,开发一个复杂的应用程序,通常可以按照软件工程中的解耦原则将整个程序分解为多个任务模块。每个任务模块的调试、修改几乎不影响其他模块。商业软件一般都提供了良好的多任务调试环境。
  再次,嵌入式实时操作系统充分发挥了32位CPU的多任务潜力。32位CPU比8、16位CPU快,另外它本来是为运行多用户、多任务操作系统而设计的,特别适于运行多任务实时系统。32位CPU采用利于提高系统可靠性和稳定性的设计,使其更容易做到不崩溃。例如, CPU运行状态分为系统态和用户态。将系统堆栈和用户堆栈分开,以及实时地给出CPU的运行状态等,允许用户在系统设计中从硬件和软件两方面对
  实时内核的运行实施保护。如果还是采用以前的前后台方式,则无法发挥32位CPU的优势。
  从某种意义上说,没有操作系统的计算机(裸机)是没有用的。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。
  实时操作系统的优缺点
  在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。
  但是,使用嵌入式实时操作系统还需要额外的ROM/RAM开销,2~5%的CPU额外负荷,以及内核的费用。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见死人活了腿上都是浓泡? 佛山市南海区里水镇怎么坐车去广东省广州市白云区同和镇元下田福泰... 电加热宝加水要注意什么? 电热宝如何放气 谁知道静雅思听中《寻访二战德国兵02:保卫祖国》的背景音乐 为什么我的ios8.02要1.7G? 华硕游戏笔记与普通笔记本有什么区别 朴智妍荣誉记录 朴智妍艺术贡献的电影 5升级Ios8.0.2怎么样 如何区分动物黄油和植物黄油 嵌入式操作系统是否就是类似于个人电脑的windows系... 地砖发黑用什么清洗 牛油遇到凉水会变固态吗,怎么区分是牛油还是石蜡 什么是嵌入式操作系统? 男生为什么突然请女生喝奶茶 嵌入式操作系统有哪些?举例说明? 大面积的地砖怎么清理卫生 牛油怎样分类 男生请女生喝奶茶暗示什么 石蜡和牛油怎么区别 简单的介绍一下嵌入式操作系统? 请喝奶茶是什么意思 怎么用彩铅画星空画 火锅底料的牛油该怎么选呢? 喝奶茶什么内涵意思 怎样通过熔点来识别牛油和石蜡? 画星空应该怎么注重色彩过渡? 经常梦见找厕所,跟身体有关系吗? 一个男生要请女生喝奶茶,是什么意思? 嵌入式操作系统和一般的操作系统有什么区别 嵌入式开发所用到的操作系统有几种? 为什么Linux是嵌入式系统,而windows不是? 被限制高消费怎么查询? 求个好用的浏览器,界面干净,没有推荐的新闻的那... 限高征信能查出来吗 有什么适合做新闻类博客网站的 WordPress 主题 怎样让右下角的腾讯网新闻不再显示 法院限高派出所可以查出来吗 好123点开新闻网站自动下载怎么回事 唾液干净还是水干净 新闻 在哪里看限高结案文书 1997年香港2元硬币值多少钱,我港币硬币现在值钱多... HDMI有哪些规格?具体些! 香港的2元硬币是什么材料做成的,长期戴在身上,是... 最近看到很多中国女生卖淫的新闻,漂亮的女生真的... hdmi线缆规格有哪几种 吃人参、黄芪,田七,有什么作用 人民法院限制高消费名单怎么查询 hdmi线材规格有哪些