- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * 当我们在设计信息电器、数字医疗设备等嵌入式产品时,嵌入式操作系统的选择至关重要。一般而言,在选择嵌入式操作系统时,可以遵循以下原则。总的来说,就是“做加法还是做减法”的问题。 (一)市场进入时间制定产品时间表与选择操作系统有关系,实际产品和一般演示是不同的。目前是Windows程序员可能是人力资源最丰富的。现成资源最多的也就可能是WinCE。使用WinCE能够很快进入市场。因为WinCE+X86做产品实际上是在做减法,去掉你不要的功能,能很快出产品,但伴随的可能是成本高,核心竞争力差。而某些高效的操作系统可能由于编程人员缺乏,或由于这方面的技术积累不够,影响开发进度。?????? * (二)可移植性操作系统相关性。当进行嵌入式软件开发时,可移植性是要重点考虑的问题。良好的软件移植性应该比较好,可以在不同平台、不同系统上运行,跟操作系统无关。软件的通用性和软件的性能通常是矛盾的。即通用以损失某些特定情况下的优化性能为代价。很难设想开发一个嵌入式浏览器而仅能在某一特定环境下应用。反过来说,当产品与平台和操作系统紧密结合时,往往你的产品的特色就蕴含其中。?????? * (三)可利用资源产品开发不同于学术课题研究,它是以快速、低成本、高质量的推出适合用户需求的产品为目的的。集中精力研发出产品的特色,其他功能尽量由操作系统附加或采用第三方产品,因此操作系统的可利用资源对于选型是一个重要参考条件。Linux和WinCE都有大量的资源可以利用,这是他们被看好的重要原因。其他有些实时操作系统由于比较封闭,开发时可以利用的资源比较少,因此多数功能需要自己独立开发。从而影响开发进度。近来的市场需求显示,越来越多的嵌入式系统,均要求提供全功能的Web浏览器。而这要求有一个高性能、高可靠的GUI的支持。 ?? * (四)系统定制能力信息产品不同于传统PC的Wintel结构的单纯性,用户的需求是千差万别的,硬件平台也都不一样,所以对系统的定制能力提出了要求。要分析产品是否对系统底层有改动的需求,这种改动是否伴随着产品特色?Linux由于其源代码开放的天生魅力,在定制能力方面具有优势。随着WinCE3.0原码的开放,以及微软在嵌入式领域力度的加强,其定制能力会有所提升。??? * (五)成本成本是所有产品不得不考虑的问题。操作系统的选择会对成本有什么影响呢?Linux免费,WinCE等商业系统需要支付许可证使用费,但这都不是问题的答案。成本是需要综合权衡以后进行考虑的——选择某一系统可能会对其他一系列的因素产生影响,如对硬件设备的选型、人员投入、以及公司管理和与其他合作伙伴的共同开发之间的沟通等许多方面的影响。?????? * (六)中文内核支持国内产品需要对中文的支持。由于操作系统多数是采用西文方式,是否支持双字节编码方式,是否遵循GBK,GBl8030等各种国家标准,是否支持中文输入与处理,是否提供第三方中文输入接口是针对国内用户的嵌入式产品的必需考虑的重要因素。 * * * * 下面我们看一看每个嵌入式操作系统的特点。 * (先讲)许多应用场合对嵌入式系统有实时性的要求,比如汽车的安全气囊要求能在一个极短的时间内侦测到汽车碰撞事件的发生并控制打开安全气囊。为了实现上述目标,一方面硬件的传感器和安全气囊要有足够快的响应速度,另一方面就是微处理器、嵌入式操作系统和相应的事件响应程序要能处理得足够快。 早期嵌入式系统时,由于任务简单,一般嵌入式等于实时;但是到了现在,嵌入式系统越来越复杂,包含了图形、通信等新功能,许多嵌入式系统就不是实时的了,比如大部分手机操作系统。 * * 嵌入式操作系统为了提高实时性能,就必须尽量缩短操作系统代码中的关闭中断过程,并通过精心的设计确定关中断的时间长短。这些设计包括: 1、操作系统中的进程必须是具有严格优先级差异的,而且应该是抢占式的操作系统内核,即最高优先级的进程即使是最后出现,也应该最先获得运行,而且是无条件立即停止当前进程的运行来切换到具有最高优先级的进程。如图2所示。 2、与实时处理相关的函数应尽量都是可重入的,即函数中均使用局部变量。如果使用全局变量,为保证程序的正确性必须对全局变量的访问加锁,而这样的保护措施有可能导致进程堵塞,从而影响操作系统的实时性。 3、高效的克服优先级反转问题,防止高优先级的进程由于等待某些被低优先级进程已占用的资源,从而被其他低优先级的进程抢先运行,影响系统的实时性能。 4、其他实时操作系统内核的设计,如解决周期性任务的调度和时间抖动问题等。 * 优先级倒置发生的主要原因就是由于资源共享引发的。资源共享指的是譬如信号量这样的供应计算机内存、端口等资源。 那么什么是优先级倒置呢?我
文档评论(0)