硬系统和软系统的有什么区别 软实时和硬实时操作系统的区别
Linux\u7cfb\u7edf\u4e2d\u4ec0\u4e48\u662f\u8f6f\u94fe\u63a5\u4ec0\u4e48\u662f\u786c\u94fe\u63a5\u5982\u4f55\u786c\u8fde\u63a5\u6307\u901a\u8fc7\u7d22\u5f15\u8282\u70b9\u6765\u8fdb\u884c\u8fde\u63a5\u3002\u5728Linux\u7684\u6587\u4ef6\u7cfb\u7edf\u4e2d\uff0c\u4fdd\u5b58\u5728\u78c1\u76d8\u5206\u533a\u4e2d\u7684\u6587\u4ef6\u4e0d\u7ba1\u662f\u4ec0\u4e48\u7c7b\u578b\u90fd\u7ed9\u5b83\u5206\u914d\u4e00\u4e2a\u7f16\u53f7\uff0c\u79f0\u4e3a\u7d22\u5f15\u8282\u70b9\u53f7(Inode Index)\u3002\u5728Linux\u4e2d\uff0c\u591a\u4e2a\u6587\u4ef6\u540d\u6307\u5411\u540c\u4e00\u7d22\u5f15\u8282\u70b9\u662f\u5b58\u5728\u7684\u3002
\u4e00\u822c\u8fd9\u79cd\u8fde\u63a5\u5c31\u662f\u786c\u8fde\u63a5\u3002\u786c\u8fde\u63a5\u7684\u4f5c\u7528\u662f\u5141\u8bb8\u4e00\u4e2a\u6587\u4ef6\u62e5\u6709\u591a\u4e2a\u6709\u6548\u8def\u5f84\u540d\uff0c\u8fd9\u6837\u7528\u6237\u5c31\u53ef\u4ee5\u5efa\u7acb\u786c\u8fde\u63a5\u5230\u91cd\u8981\u6587\u4ef6\uff0c\u4ee5\u9632\u6b62\u201c\u8bef\u5220\u201d\u7684\u529f\u80fd\u3002
\u5176\u539f\u56e0\u5982\u4e0a\u6240\u8ff0\uff0c\u56e0\u4e3a\u5bf9\u5e94\u8be5\u76ee\u5f55\u7684\u7d22\u5f15\u8282\u70b9\u6709\u4e00\u4e2a\u4ee5\u4e0a\u7684\u8fde\u63a5\u3002\u53ea\u5220\u9664\u4e00\u4e2a\u8fde\u63a5\u5e76\u4e0d\u5f71\u54cd\u7d22\u5f15\u8282\u70b9\u672c\u8eab\u548c\u5176\u5b83\u7684\u8fde\u63a5\uff0c\u53ea\u6709\u5f53\u6700\u540e\u4e00\u4e2a\u8fde\u63a5\u88ab\u5220\u9664\u540e\uff0c\u6587\u4ef6\u7684\u6570\u636e\u5757\u53ca\u76ee\u5f55\u7684\u8fde\u63a5\u624d\u4f1a\u88ab\u91ca\u653e\u3002\u4e5f\u5c31\u662f\u8bf4\uff0c\u6587\u4ef6\u771f\u6b63\u5220\u9664\u7684\u6761\u4ef6\u662f\u4e0e\u4e4b\u76f8\u5173\u7684\u6240\u6709\u786c\u8fde\u63a5\u6587\u4ef6\u5747\u88ab\u5220\u9664\u3002
\u4e00. \u786c\u5b9e\u65f6\u64cd\u4f5c\u7cfb\u7edf\uff0c\u6307\u7528FPGA\u6216\u8005CPLD\u8fdb\u884c\u786c\u7f16\u7801\u7684\u7cfb\u7edf\uff0c\u8fd9\u7c7b\u7cfb\u7edf\u4e00\u822c\u9700\u8981\u5c11\u91cf\u8f6f\u4ef6\u8fdb\u884c\u8f85\u52a9\uff1b \u4e8c. \u8f6f\u5b9e\u65f6\u64cd\u4f5c\u7cfb\u7edf\u6709\u4e24\u79cd\uff1a \u57fa\u4e8eNand Flash\u542f\u52a8\u7684\u7cfb\u7edf\uff0c\u8fd9\u7c7b\u7cfb\u7edf\u7684\u4f18\u70b9\u662f\u542f\u52a8\u65f6\uff0c\u4e0d\u7528\u628a\u4ee3\u7801\u52a0\u8f7d\u81f3\u5185\u5b58\uff0c\u76f4\u63a5\u5728Flash\u4e0a\u8fd0\u884c\uff0c\u53ef\u4ee5\u5728\u8282\u7701\u5185\u5b58\u7684\u540c\u65f6...
国际上常见的嵌入式操作系统大约有40种左,右如: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等,系统有Microsoft的WinCE,3Com的Palm,以及Symbian和Google的Android等。(一)VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。
VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。
然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。
(二)Windows CE
Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。
(三)嵌入式Linux
这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。
由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。有庞大的开发人员群体。无需专门的人才,只要懂Unix/Linux和C语言即可。随着 Linux在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。优秀的网络功能,这在Internet时代尤其重要。稳定——这是Linux 本身具备的一个很大优点。内核精悍,运行所需资源少,十分适合嵌入式应用。
支持的硬件数量庞大。嵌入式Linux和普通Linux并无本质区别,PC上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。
在嵌入式系统上运行Linux的一个缺点是Linux体系提供实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点。
(四)μC/OS一Ⅱ
μC/OS一Ⅱ是著名的源代码公开的实时内核,是专为嵌入式应用设计的,可用于8位,16位和32位单片机或数字信号处理器(DSP)。它是在原版本μC /OS的基础上做了重大改进与升级,并有了近十年的使用实践,有许多成功应用该实时内核的实例。它的主要特点如下:
公开源代码,容易就能把操作系统移植到各个不同的硬件平台上;
可移植性,绝大部分源代码是用C语言写的,便于移植到其他微处理器上;
可固化;
可裁剪性,有选择的使用需要的系统服务,以减少斗所需的存储空间;
占先式,完全是占先式的实时内核,即总是运行就绪条件下优先级最高的任务;
多任务,可管理64个任务,任务的优先级必须是不同的,不支持时间片轮转调度法;
可确定性,函数调用与服务的执行时间具有其可确定性,不依赖于任务的多少;
实用性和可靠性,成功应用该实时内核的实例,是其实用性和可靠性的最好证据。
由于μC/OS一Ⅱ仅是一个实时内核,这就意味着它不像其他实时存在系统那样提供给用户的只是一些API函数接口,还有很多工作需要用户自己去完成。
(五)QNX
由QNX软件公司所开发的QNX操作系统,也是一套类UNIX的嵌入式操作系统,跟VxWorks同样的,QNX也是一套符合POSIX规范的操作系统。
与VxWorks同样发迹于1980年代的QNX,其特殊之处,在于其并非采用传统的高阶硬件虚拟层方式设计,而是以非常细碎的tasks形式来执行,由许多的微核心为基础组成完整的OS服务,因此QNX的硬件设计者可以自由的选择加载执行或不加载某些特定的服务,而不用去变更QNX的核心程序部份。因此基于QNX的嵌入式操作系统可以做到非常小的程度,而且依然可以具有相当高的效率与完整的菜单现。
QNX操作系统核心仅包含了CPU任务排程、进程间通讯、中断重导向以及定时器等部份,而除此之外包含驱动程序、档案系统堆叠协议以及使用者应用程序的所有程序都是属于在使用者阶段执行。QNX操作系统有个相当特殊的Proc阶段,专门负责程序process的建立,以及存储器管理等交集在系统微核心中的组件。基本上,QNX所有的组件都能透过消息传递这个函式来进行沟通,而具有良好定义的通讯机制,也能保障所有的组件都有完全独立且被保护的储存及执行空间。因此有问题的应用程序不会影响到其它组件的稳定性,发生问题的程序将会被自动终止并重新启动。
与传统的操作系统架构相较起来,微核心架构可以让嵌入式系统获得更为快速的平均回覆时间(MTTR),当硬件驱动程序失效,QNX可以在数毫秒之内,就对该驱动程序进行终止、回收资源并重新启动的步骤,让嵌入式设备可接近无停摆时间表现。
不过微核心RTOS的架构除了优点以外,由于其process间的讯息传递功能将会占用存储器频宽,影响到校能表现,因此在实际应用上,就必须采用特殊的最佳化手段,以避免掉讯息传递功能所带来的性能耗损。
虽然QNX整间公司在2004年出售给Haman International Industries,但QNX操作系统的发展脚步依旧没有停止,在国外,除了与各家国际汽车大厂合作,成为车用电子的主力操作系统以外,也获得相当多的航空公司与重要军事单位采用。而在2005年底,QNX也与国内几家包含联电、Zinwell等公司进行了合作,研华、控创等工业计算机厂商也都有针对这方面在发展。
(六)Nucleus Plus
这款嵌入式操作系统主要特征就是轻薄短小,其架构上的延展性,可以让Nucleus RTOS所占的储存空间压缩到仅有13K左右,而且Nucleus Plus是一款不需授权费的操作系统,并且提供了原始码。
Nucleus Plus本身只是Acclerated Technology公司完整解决方案里面的其中一环,这个RTOS本身架构属于先占式多工设计,有超过95%的原始码是用标准的ANSI C语言所编写,因此可以非常有效率的移植到各种不同的平台。Nucleus Plus在CISC架构处理器中,核心部份大约占去20KB左右的储存空间,而在RISC处理器上则是40KB左右,核心资料结构仅占约1.5KB,由于其即时回应、先占式多工、以及多process并行,并且开放原始码等特性,在国防、工控、航天工业、铁路、网络、POS、自动化控制以及信息家电等领域广泛受到应用。
就如同QNX一般,Nucleus Plus也可以根据目标产品的需求,来自行剪裁所需要的系统功能,达到精简体积的目的。而配合相对应的编译器(Borland c/c++、Microsoft c/c++)以及动态连结程序库和各种底层驱动程序,在开发上拥有非常相当大的便利性。诸如飞思卡尔(Freescale)、罗技(Logitech)公司、美国NEC、SK Telecom等公司,都有采用Nucleus Plus嵌入式操作系统作为开发产品使用。
绛旓細涓銆佺粍鎴愰儴鍒嗕笉鍚 1銆佺‖浠剁郴缁燂細CPU銆佸瓨鍌ㄥ櫒銆佽蒋鐩橀┍鍔ㄥ櫒銆佺‖鐩橀┍鍔ㄥ櫒銆佸厜鐩橀┍鍔ㄥ櫒銆佷富鏈烘澘銆佸悇绉嶅崱鍙婃暣鏈轰腑鐨勪富鏈恒佹樉绀哄櫒銆佹墦鍗版満銆佺粯鍥句华銆佽皟鍒惰В璋冨櫒绛夈2銆佽蒋浠剁郴缁燂細鐢辩郴缁熻蒋浠躲佹敮鎾戣蒋浠跺拰搴旂敤杞欢缁勬垚鐨勮绠楁満杞欢绯荤粺锛屾槸璁$畻鏈虹郴缁熶腑鐢辫蒋浠剁粍鎴愮殑閮ㄥ垎銆備簩銆搴旂敤涓嶅悓 1銆佺‖浠剁郴缁燂細鐢ㄤ簬瀹炰綋閮ㄤ欢銆
绛旓細涓銆佺粍鎴愰儴鍒嗙殑鍖哄埆 1. 纭欢绯荤粺鍖呮嫭锛欳PU銆佸瓨鍌ㄥ櫒銆佽蒋鐩橀┍鍔ㄥ櫒銆佺‖鐩橀┍鍔ㄥ櫒銆佸厜鐩橀┍鍔ㄥ櫒銆佷富鏈烘澘銆佸悇绉嶆帴鍙e崱浠ュ強鏁存満涓殑涓绘満銆佹樉绀哄櫒銆佹墦鍗版満銆佺粯鍥句华銆佽皟鍒惰В璋冨櫒绛夊疄浣撻儴浠躲2. 杞欢绯荤粺鐢辩郴缁熻蒋浠躲佹敮鎾戣蒋浠跺拰搴旂敤杞欢缁勬垚锛屾槸璁$畻鏈虹郴缁熶腑鐢辫蒋浠舵瀯鎴愮殑涓閮ㄥ垎锛岃礋璐g鐞嗚绠楁満璧勬簮绛夈備簩銆佸簲鐢ㄩ鍩熺殑...
绛旓細鐢ㄩ斿拰鍒嗙被涓嶄竴鏍凤細1銆佽蒋浠舵寜鐓ч氶斿彲鍒嗕负涓ゅぇ閮ㄥ垎锛屼竴閮ㄥ垎鏄郴缁熻蒋浠讹紝涓閮ㄥ垎鏄簲鐢ㄥ瀷杞欢銆傜郴缁熻蒋浠朵富瑕佺敤鏉ユ寚鎸ョ鐞嗙數鑴戝唴閮ㄥ悇閮ㄤ欢鐨勮繍琛屽伐浣溿傝屽簲鐢ㄥ瀷杞欢涓鑸槸涓轰簡瀹屾垚鏌愪竴绉嶆垨鑰呭嚑绉嶄换鍔¤岀紪鍐欑殑鐗瑰畾绋嬪簭銆2銆佺數鑴戠‖浠跺氨鏄敤鏉ョ淮鎸佺數鑴戠殑鏃ュ父杩愯鐨勶紝鍚勪釜閮ㄤ欢缁勫悎鎴愪竴涓暣浣擄紝鏀拺鐢佃剳杞欢鐨勬甯告搷浣...
绛旓細杞欢绯荤粺:鎿嶄綔绯荤粺鏄负浜嗘柟渚夸娇鐢ㄣ佺淮鎶ゅ拰绠$悊璁$畻鏈鸿岀紪鍒剁殑鐢ㄤ簬浜烘満浜ゆ祦鐨勭郴缁杞欢,鏄汉鏈烘矡閫氱殑妗ユ銆備汉鏄敤绯荤粺杞欢鏉ュ彂甯冨懡浠ゆ帶鍒惰绠楁満纭欢杩愯鍔ㄤ綔鐨勩 闂浜:纭欢绯荤粺鐨鍔熻兘鏄粈涔? 纭欢 鈥滆绠楁満纭欢鈥濈殑绠绉般備笌鈥滆蒋浠垛濈浉瀵广傜數瀛愯绠楁満绯荤粺涓墍鏈夊疄浣撻儴浠跺拰璁惧鐨勭粺绉般備粠鍩烘湰缁撴瀯涓婃潵璁,鐢佃剳鍙互鍒嗕负浜斿ぇ...
绛旓細纭郴缁熷拰杞郴缁熸槸涓ょ涓嶅悓鐨勬柟娉曡纭郴缁熸柟娉曡鏄互纭郴缁熸濇兂涓哄熀纭鐨銆傜‖绯荤粺鎬濇兂璁や负绯荤粺鏄瑙傚瓨鍦ㄧ殑瀹炰綋锛屽悇绉嶇郴缁熷湪涓-瀹氭潯浠朵笅閮藉瓨鍦ㄦ渶浼樼殑鍐呴儴缁撴瀯,浜哄彲浠ヤ粠绯荤粺澶栭儴瀵圭郴缁熻繘琛屽瑙傜殑鍒嗘瀽銆傞氳繃鍒嗘瀽鐮旂┒,浜轰滑鍙互鍙戠幇绯荤粺鍐呭悇閮ㄥ垎闂寸殑鐩镐簰浣滅敤瑙勫緥,骞朵互姝や负鍩虹鍙互瀹炵幇瀵圭郴缁熻繍琛岀殑棰勬祴鍜屾帶鍒躲備笌...
绛旓細璁$畻鏈虹殑纭綋绯荤粺鍖呮嫭璁$畻鏈虹殑鍏ㄩ儴纭缃拰鍔熻兘閮ㄤ欢銆 璁$畻鏈鸿蒋浣撶郴缁 浠呮湁纭綋绯荤粺鐨璁$畻鏈烘槸鏃犳硶宸ヤ綔鐨,蹇呴』涓哄畠缂栧埗鍑虹敱涓鏉℃潯鎸囦护缁勬垚鐨勭▼寮,瀹冩墠鑳芥甯稿伐浣溿傝绠楁満绯荤粺鐨勬墍鏈夌▼寮忓強鐩稿叧鐨勬枃浠剁О涓鸿蒋浣(sofare)銆傝绠楁満鐨勮蒋浣撶郴缁熷氨鏄负浜嗘墽琛屻佺鐞嗗拰缁存姢璁$畻鏈鸿岀紪鍐欑殑绋嬪紡(褰撶劧鍖呮嫭鏂囦欢)鐨勬诲拰銆傝蒋浣撶郴缁熸槸璁$畻鏈...
绛旓細璁$畻鏈虹殑鎵鏈夊姛鑳介兘鏄氳繃杞綋鏉ュ疄鐜扮殑锛屾病鏈夎蒋浣擄紝涔板洖鐨勭數鑴戞槸涓嶈兘宸ヤ綔鐨勩傝蒋浣撶郴缁熷寘鎷綔涓氱郴缁熴佺‖浣撻┍鍔ㄧ▼寮忓拰搴旂敤杞綋涓夊ぇ绫汇1銆佷綔涓氱郴缁 浣滀笟绯荤粺鏄數鑴戠殑鏍稿績杞綋銆傝繃鍘荤殑鐢佃剳鍑哄巶鏃堕兘鏄病鏈夊畨瑁绯荤粺鐨瑁告満銆傜幇鍦ㄥ晢涓氬拰鏂逛究浣跨敤鐨勫師鍥狅紝鍝佺墝鏈哄嚭鍘傛椂灏卞畨瑁呬簡姝g増浣滀笟绯荤粺銆備妇涓舰璞$殑渚嬪瓙锛岀數鑴戝氨璞...
绛旓細杞佺‖鏂规硶姣旇緝锛氱浉鍚岀偣锛氶棶棰樺鍚戯紱娉ㄩ噸绋嬪簭鍙婇樁娈碉紱涓嶅悓鐐: 鐮旂┒瀵硅薄锛涘熀鏈柟娉曪紱鏍稿績鍐呭锛纭郴缁鐨勭爺绌跺璞℃槸缁撴瀯鑹ソ鏄庣‘鐨勫伐绋嬬郴缁燂紝杞郴缁熺殑鐮旂┒瀵硅薄鏄粨鏋勪笉鑹殑 纭郴缁熺殑鍩烘湰鏂规硶浠ュ畾閲忎负涓伙紝杞郴缁熺殑鍩烘湰鏂规硶瀹氭у拰瀹氶噺缁撳悎 纭郴缁熺殑鏍稿績鍐呭鏄渶浼樺寲锛岃蒋绯荤粺鐨勬牳蹇冨唴瀹规瘮杈冨涔 ...
绛旓細浜ら氳繍杈纭郴缁鍖呮嫭鍥哄畾璁炬柦锛堝寘鎷溅绔欙紝閾佽建锛屽叕璺紝鏈哄満锛岀爜澶寸瓑锛夊拰鍙Щ鍔ㄧ殑璁炬柦(姹借溅锛岀伀杞︼紝椋炴満绛夛級銆杞郴缁灏辨槸鎸囪杩欎簺纭郴缁熸甯稿伐浣滅殑涓浜涜緟鍔╄鏂斤紝濡傞搧璺笂闈㈢殑鍒楄溅杩愯鍥撅紝鍏矾涓婇潰閲囧彇鐨勪竴浜涚鐞嗗拰绠″埗鎺柦銆傛垜璁板緱鎴戜笂浜ら氳繍杈撶郴缁熷垎鏋愮殑鏃跺欒佸笀鎻愯繃锛屾湁鐐瑰嵃璞★紝璇█涓嶆槸涔﹂潰鏍囧噯璇█锛屾剰鎬...
绛旓細璁$畻鏈鸿蒋浠舵寚璁$畻鏈绯荤粺涓櫎纭欢浠ュ鐨勬墍鏈変簨鐗╋紝涓鑸寘鎷绠楁満绋嬪簭銆佺▼搴忚鏄庝互鍙婂叾浠栬祫鏂欑瓑銆傛垜鍥借绠楁満杞欢淇濇姢鏉′緥鎵绉扮殑璁$畻鏈鸿蒋浠舵槸鎸囪绠楁満绋嬪簭鍙婂叾鏈夊叧鏂囨。銆傝绠楁満绋嬪簭鎸囦负浜嗗緱鍒版煇绉嶇粨鏋滆屽彲浠ョ敱璁$畻鏈虹瓑鍏锋湁淇℃伅澶勭悊鑳藉姏鐨勮缃墽琛岀殑浠g爜鍖栨寚浠ゅ簭鍒楋紝鎴栬呭彲琚嚜鍔ㄨ浆鎹㈡垚浠g爜鍖栨寚浠ゅ簭鍒楃殑绗﹀彿鍖栨寚浠ゅ簭鍒楁垨鑰...