中断处理程序可以使用嵌入式操作系统教程提供的所有系统使用?对还是错?

嵌入式编程常用到的操作系统有哪些?_百度知道
嵌入式编程常用到的操作系统有哪些?
包括基于调用需求的虚拟内存,现在pSOS属于WindRiver公司的产品、工业自动化,因此QNX内核非常小巧(QNX4。大多数的VxWorks API是专有的、i960Windows CE Microsoft Windows CE是从整体上为有限资源的平台设计的多线程。这个系统是一个模块化;提供一些传统的。这个灵活的结构可以使用户根据实际的需求,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序。 QNX QNX是一个实时的,提供256个全局用户线程优先级。它支持多种处理器,如、可扩充的操作系统。LynxOS支持线程概念,包括消费电子产品。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制.1c标准.1b和POSIX、可规模扩展的实时操作系统。可以让开发者根据操作系统的功能和内存需求定制成每一个应用所需的系统。采用GNU的编译和调试器。它提供了一个很小的微内核以及一些可选的配合进程,将系统配置成微小的嵌入式操作系统或是包括几百个处理器的超级虚拟机操作系统,一个基于Motif的用户图形界面、高性能的实时操作系统,它的灵活性和可升级性非常突出,它遵循POSIX.1a、POWER PC等等、嵌入式。 LynxOS Lynx Real-time Systems的LynxOS是一个分布式、进程间通信。开发者可以利用它来实现从简单的单个独立设备到复杂的,其进程在独立的地址空间运行。与其他的嵌入式系统相比,专为嵌入式微处理器设计:POSIX、市场占有率最高的系统、MIPS RX000。它提供了很好的安全性和容错性、无线通讯产品;多媒体设备。操作系统的基本内核需要至少200K的ROM、数字电视&#47,都实现为协作的用户进程、医疗仪器、非实时系统的服务特征、底层网络通信和中断处理。 OS-9 Microwave的OS-9是为微处理器的关键实时任务而设计的操作系统。 Palm OS 3Com公司的Palm OS在PDA市场上占有很大的市场份额、多任务的操作系统,如x86。其内核仅提供4种服务。 pSOS ISI公司已经被WinRiver公司兼并.x大约为12Kb)而且运行速度极快。所有其它OS服务:进程调度.1b实时扩展、Motorola MC68xxx,它部分遵循POSIX相关标准、Sun Sparc、网络化的多处理器系统,在定制的或是商业化的硬件上提供高性能和高可靠性,提供一个完全多任务环境。 VxWorks VxWorks是目前嵌入式系统领域中使用最广泛、完整优先权、POSIX,广泛应用于高科技产品中,与工业标准兼容的网络系统以及应用开发工具
其他类似问题
为您推荐:
嵌入式编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁嵌入式系统_百度知道
嵌入式系统
什么是嵌入式系统
提问者采纳
09年我就辍学了。 先做个自我介绍,同时他们建议我去找了找一些嵌入式面试的题目。
后来陆续面试了几家公司,我发现自己真的有点入门了,应该是对嵌入式很感兴趣,里面介绍了他的学习方法和学习过程、监视或辅助设备,并找到嵌入式的工作,可以让我从基础的开始学起。里面的教程还不错。我就下决心想学嵌入式了,我想去找工作,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,减小尺寸降低成本,这样一月后我基本掌握了C和linux的基本操作,我才听到嵌入式这个行业,大专都没有毕业,必须学好这门技术。所以辍学后我一段时间,因为我学历的问题,做安防产品的应用的,这样差不多准备了20天左右
我觉得自己差不多入门了,我就去看关于实践部分的内容,是一个专科生介绍自己如何自学嵌入式,我在纠结着我能做什么,靠自己的双手吃饭,需要什么样的知识。我想只要我继续努力,告诉我学嵌入式多么的有前景。我至少不用每天都要靠父母养,不懂可以请教的,因为我比较沉默寡言,但是都不系统,这个相对难一点,也是比较好找工作的。
这两个月,说真的。C语言我差不多学了一个礼拜,但是我想我足够了,终于功夫不负有心人,因为我之前做了准备,很多我们也看不懂。我终于面试上的,虽然我知道在上海3500只能过温饱的生活、机器或用于工厂运作的设备,然后我就把不懂的问题总结记下来,都帮我解决了,我在那样的学校,希望能让和我一样的没有基础的朋友有信心,我想以后再慢慢啃。我想我也比较幸运,确实是当今比较热门的行业,我就去搜索嵌入式的视频. Institution of Electrical Engineer)的定义,我就开始准备这方面的知识,文章写的很好,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina,经理很看重我的努力,一套从入门到精通的视频,我希望自己的努力有所回报,就决定录用我。
收到他们寄过来的光盘后。视频比较便宜。
最后的一个月,可是处处碰壁,了解嵌入式项目具体的开发流程,所以我就想自学。
一次偶然的机会,我07年考上一所很烂专科民办的学校,问我是不是读计算机的,和去参加培训没有多大的区别;qKh 粘贴浏览器地址栏按回车键即打开)。
把本文写出来,然后给我介绍了一下嵌入式现在的火热情况,敲linux的基本命令,我也很迷茫,比别人差劲。我想应聘做技术的,不是很会说话,但是根本没有人学习。我每天都在不停的写一些简单的代码,一年学费要1万多,为什么别人都能自学成才,嵌入式系统为控制。没有想过几天过后,是整套的。听了她的介绍,明白了嵌入式应用到底是怎么做的,公司规模比较小。……………………………………………………
看你问的问题。他提到一个方法就是看视频,我们不比别人笨,我不知道培训是否真的能像他们宣传的那样好,为自己以后找工作做准备,所以我没有被选中。这点我真的很认同,就有面试了,确实我很想去学会一门自己的技术,我就从最简单的C语言视频教程学起,这样慢慢积累了一段时间,我实在看不到希望。由于嵌入式系统只针对一项特殊的任务,是一种“完全嵌入受控器件内部,差不多也就三个礼拜,但是驱动我只是有一点点的了解,在计算机分类那边想找本书学习。
后来,该怎么学习,于是我就到51job疯狂的投简历,很完整,我在百度知道看到一篇让我很鼓舞的文章,希望对和我一样完全没有基础的朋友有所帮助。
后来我又找到一份很好的视频,开的工资是3500一个月,但是第一次面试我失败了,我只好请教他们,我在他们提供linux虚拟机上都有做练习,但是他们的要求比较严格,我只能坚持努力着。我就到网上找了很多嵌入式的题目,其实你可以自学嵌入式,我就退学了,我自己也能养活自己的,说真的,所以我投的都是民营的小公司。
下面介绍下我的学习流程,其实我们没有必要自卑,需要有一年的项目经验。我就想去找工作看看,根据英国电气工程师协会( U。
我在想,专科没有毕业。后来有个女孩子走过来,我心里痒痒的,是在闵行的一家民营的企业,我真的不知道我能干什么。
主意一定,我自己看书往往看不了几页。那天我去新华书店。因为我知道几乎没有基础,学习了ARM的基本原理,一个比较完整的资料,也就是学习这方面的视频,这一看就是两个月,话说简单,我必要要靠自己来养活自己,也掌握了嵌入式的环境的一些搭建,嵌入式系统通常执行的是带有特定要求的预先定义的任务,我就上网查了下嵌入式,为特定应用而设计的专用计算机系统”,包含了如何学习,其实我还是很多不懂的,他们还是很热心的,接下来我就学了linux的基本命令,我工资一定会翻倍的,对linux也有更深层次的理解了,学的是生物专业!我要相信自己,具体的学校名称我就不说出来献丑了,大公司没有人会要我,除了吃饭睡觉,我的职务是嵌入式linux应用开发。
接下来我就去学习了人家的视频的培训教程,我不能放弃,因为看书实在太枯燥和费解的,把他们理解的记下来,虽然我自认为笔试很好。于是我去找嵌入式培训的相关信息,嵌入式培训的广告.lt&#47,我刚才看到一篇很不错的文章,我也可以的,最好能有老师教,写简单的C语言代码,希望对你有帮助,会做一些简单的东西了,有没有兴趣学习嵌入式,给我了一份传单,如果实在学不会我再去培训,所以我就想了解一段时间再做打算,我们一样会成功,学习嵌入式系统的概念,由于我没有什么基础。
退学后我也迷茫,设计人员能够对它进行优化,工资也是相对比较高,我就开始学习了嵌入式系统(Embedded system),我不适合去应聘做业务。与个人计算机这样的通用计算机系统不同,我是想找一个能够告诉我该怎么学的视频,我几乎都在学习,只要我们肯努力.K。关于如何学习嵌入式,虽然零星找到一些嵌入式的视频
提问者评价
其他类似问题
为您推荐:
其他1条回答
一 什么是嵌入式系统
嵌入式系统一般指非 PC 系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于 PC 中 BIOS 的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。
嵌入式系统几乎包括了生活中的所有电器设备,如掌上 PDA 、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何选择嵌入式操作系统
> 如何选择嵌入式操作系统
如何选择嵌入式操作系统
编者按:嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发 展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。我们将对三种在ARM CPU上较为流行的嵌入式操作系统作详细的分析。
  嵌入式操作系统是ARM CPU的软件基础,从8位/16位单片机发 展到以ARM CPU核为代表的32位嵌入式处理器,嵌入式操作系统将替代传统的由手工编制的监控程序或调度程序,成为重要的基础组件。更重要的是嵌入式操作系统对应用 程序可以起到屏蔽的作用,使应用程序员面向操作系统级开发应用软件,并易于在不同的ARM核的嵌入式处理器上移植。本文引用地址:  嵌入式操作系统都具 有一定的实时性,易于裁剪和伸缩,可以适合于从ARM7到Xscale各种ARM CPU和各种档次的应用,嵌入式操作系统可以使用广泛流行的ARM开发工具,如ARM公司的SDT/ADS和RealView等,也可以使用开发软件,如 GCC/GDB、KDE或Eclipe开发环境,市场上还有专用的开发工具,如Tornado、μC/View、μC/KA、CODE/Lab、 Metroworks等。  本文就目前国内在ARM CPU上广泛采用的三种嵌入式操作系统(、和)作分析。  嵌入式实时内核全世界数百种设备已经在使用,包括手机、路由器、不间断电源、飞行器、医疗设备和工业控制设备。μC /OS-II已经有ARM7TDMI、ARM9和Strong ARM等各种ARM CPU的移植,支持包含Atmel、Hynix、Intel、Motorola、Philips、Samsung、Sharp等公司的ARM核的 CPU.μC/OS-II的移植也相当容易,与CPU相关的代码包装在三个文件中,它们是os_cpu.h、os_cpu_a.asm和 os_cpu_c.c.μC/OS-II有60多个系统调用,覆盖任务、定时器、信号量、事件标志、邮箱、队列和内存管理,已经包含了传统嵌入式操作系统 内核(如PSOS,VRTX)的功能,还支持互斥型信号量,这是90年代的嵌入式操作系统内核,如VxWorks和VRTXsa才有的技术。  μC/OS-II因为是可抢占的实时内核,所以μC/OS-II与商业嵌入式实时内核在性能上没有什么差异,μC/OS-II没有用户态和内核态,任务 (线程)或中断和任务切换的响应可以很快,主要是和ARM CPU相关的。最新的2.7x版本还增加了算法以避免在移植中修改堆栈指针,这样可以保证μC/OS-II在不同的CPU上运行更稳定,移植更方便。μC /OS-II目前除了内核外还有商业化文件系统μC/FS,图形系统μC/GUI以及任务调试工具μC/KA和μC/View,但是μC/OS-II自己 目前还没有TCP/IP协议系统。  总的来说,μC/OS-II是一个非常容易学习,结构简单,功能完备和实时性很强的嵌入式操作系统内 核,适合于各种嵌入式应用以及大专院校教学和科研。最后需要说明,μC/OS-II不是免费软件,任何人学习使用μC/OS-II需要购买《嵌入式实时操 作系统μC/OS-II》一书,使用μC/OS-II的产品需要购买产品生产授权,购买了此授权的还可以得到开发期间的技术支持和升级服务。  操作系统是Linux小型化后,适合于没有MMU(内存管理单元)的微处理器芯片而裁剪成的操作系统,如果ARM CPU系列中的ARM7 TDMI、ARM940T等产品希望使用Linux操作系统,只能用μCLinux,当然,μCLinux也支持Motorola Dragonball、Coldfire等其它中低端嵌入式处理器。  μCLinux保持了传统Linux操作系统的主要特性,包括稳 定、强大的网络和文件系统的支持,μCLinux裁剪了大量的Linux内核以缩小尺寸,适合象512k/b RAM、1M/b Flash这样小容量、低成本的嵌入式系统。μCLinux系统小型化的另一简化是采用了μCLib库替代Linux的Glib库,使用μCLib可以大 大减少应用程序的代码尺寸,对于中小型嵌入式应用,μCLib功能可以满足需要,所以目前即使是某些采用Linux 2.4.操作系统这里要讨论的是可以嵌入在ARM CPU上的,具有MMU功能的Linux操作系统,也可以称是操作系统。与微软公司的软件不一样,Linux不是由一家公司所拥有、维护 开发的,Linux在市场有多种发行版本,所有发行版本都包含一样的Linux内核、基本工具和应用,不同的发行版本主要是在附加的工具链、应用、配置以 及各种内核补丁上有所不同。嵌入式Linux主要是在实时性增强、内核精简和裁减、支持多种CPU结构(如ARM CPU)等方面做了改进和提高。  使用嵌入式Linux系统有两种途径:第一是用户自己装配(称为DIY内核),你可以找到全部Linux代码,或直接到ARM CPU的源代码树下linux.org.uk“&www.ARMlinux.org.uk找到所需要的Linux版本的移植,或者某些半导体公司, 如三星、Motorola在自己的网站或在自己的ARM评估板含有一个最小Linux内核系统。如果这个最小内核没有包含GCC/GDB工具链,可能还要 到GNU的网站下载全部的源代码,然后再编译生成所需要版本的ARM工具链和应用程序库,这个过程是相当耗时和困难的。还需要指出,这种DIY内核的配 置,添加应用和驱动程序也是不标准的和复杂的,这是嵌入式系统的特殊性所在。  第二是选择一个商业化的嵌入式Linux操作系统平台。商 业化的嵌入式Linux版本是针对嵌入式处理器,如ARM所优化设计的,支持各种半导体厂家的评估板和主要的设备驱动,商业化的嵌入式Linux包含了文 件系统、应用、实时性扩展和技术支持培训服务,现今国外著名的商业化嵌入式Linux产品有:MontaVista Linux、Bluecat Linux、Timesys Linux、Metrowork Linux、Vlinux和Redhat Linux等,  国内也有红 旗、中软、新华嵌入式Linux. MontaVista Linux是MontaVista软件公司于1999年推出的,它是目前全球优秀的嵌入式Linux操作系统和工具供应商,MontaVista在嵌入式 Linux的实时性、交叉开发工具、高可用性、动态电源管理等Linux技术要点方面具有领先地位。MontaVista Linux最版本是3.1,采用Linux 2.4.20,针对8种CPU系列(包含ARM和Xscale)优化定制的商业化版本。  选 择象MontaVista Linux这样商业化嵌入式Linux,可以让用户把时间和资金放在应用软件和特定的硬件接口和设备驱动程序,使用商业化嵌入式Linux可以得到一定时 间(一般是1年)的技术支持,升级和培训(这很重要,因为Linux是每天都在变化的)。  商业化嵌入式Linux目前除国内的产品外, 价格还是很昂贵的,根据配置和服务时间,大约从几千到几万美元,多数国内用户从资金和心理上还很难承受,商业化嵌入式Linux开发工具相对于 Microsoft和象Tornado/VxWork的开发工具,在易于使用和丰富性方面还待于提高和改进。  同样作为Linux操作系统,笔者推荐使用带有MMU的嵌入式Linux,而不是mCLinux,因为绝大多数新的ARM CPU都是AMR9核,它们都带有MMU了,无论是开放源码的Linux社区还是商业化的嵌入式Linux公司的支持和维护都比mCLinux要好要快和 丰富得多。  结语  前面我们对三种在ARM CPU上较为流行的嵌入式操作系统作了详细的分析,在进入一个总结之前,笔者还想提到几个在国际上很有名气的嵌入式操作系统,它们是WindRiver公 司的VxWorks、ATI的Nucleus、iTron和WinCE,但它们在ARM CPU的应用不多见,介绍从略。  最后归纳一下 选择一个合适的ARM CPU的嵌入式操作系统的几个重要因素:第一是应用。如果你想开发的嵌入式设备是一个和网络应用密切相关或者就是一个网络设备,那么你应该选择用嵌入式 Linux或者mCLinux,而不是mC/OS-II.第二是实时性。没有一个绝对的数字可以告诉你什么是硬实时,什么是软实时,它们之间的界限也是十 分模糊的,这与你选择什么样的ARM CPU,它的主频、内存等参数有一定的关系。如果你使用加入实时补丁等技术的嵌入式Linux,如MontaVista Linux(2.4.17版本),最坏的情况只有436微秒,而99.9%的情况是195微秒。考虑到最新的Linux在实时性方面的改进。它可以适合于 90~95%的各种嵌入式系统应用。当然,你如果希望更快的实时响应,如高速的A/D转换需要几个微秒以内的中断延时,可能采用mC/OS-II是合适 的。当然,你采用象Vxworks这样传统的嵌入式操作系统也可以满足这样的强实时性要求。  第三是开发工具。显然,目前mC/OS- II、mCLinux和嵌入式Linux的开发工具与商业嵌入式操作系统工具还有一些差距,目前在ARM CPU上广泛流行和使用的是ARM公司SDT/ADS工具链,产品无论在功能、稳定性和众多的第三方厂商支持方面都很好,唯一不足的是缺少对嵌入式 Linux操作系统的支持,SDT/ADS的升级产品RealView计划支持GCC和嵌入式Linux,但目前还没有看到,mC/OS-II可以使用 ARM SDT/ADS,但没有操作系统调试功能。  第四是所选择的ARM CPU和参考板,象ARM7TDMI和ARM940T(如S3C)核是不能使用嵌入式Linux的,如果想用Linux,只能用mCLinux,如果想用VxWorks,  需要了解一下提供评估板的公司是否有BSP(板支持包),VxWorks自己只有少数ARM公司评估板的支持。  最后是价格和技术服务。在考虑购买商业嵌入式操作系统时,会遇到是买还是自己做的问题,这是很正常的,尤其是在采用开放源代码技术时,这个问题就更加突 出。有一点需要注意的是,有些产品如VxWorks是既按用户数收取开发费,也按用户产品售出的实际数量收取每个VxWorks软件运行的版税。 mC/OS-II只是收取每种产品一次性版税(不限数量)。Linux无论是mCLinux还是嵌入式Linux(即使是商业版本象MontaVista Linux)是不收版税的,商用嵌入式Linux是以服务费或订阅方式收取开发时的费用。很明显,国外产品价格是贵一些,但不能不承认他们在嵌入式操作系 统的技术已经远远走在前方。linux操作系统文章专题:
linux相关文章:
路由器相关文章:
tcp/ip相关文章:
路由器相关文章:
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一嵌入式操作系统是什么_百度知道
嵌入式操作系统是什么
引用的资料:
嵌入式操作系统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额外负荷,以及内核的费用。
其他类似问题
为您推荐:
嵌入式操作系统的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 嵌入式linux操作系统 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信