什么是嵌入式操作系统_嵌入式操作系统
Linux(EmbeddedLinux是标准Linux经过小型化和裁剪后的专用Linux操作系统,可以固化在容量只有几KB或MB的存储芯片或单片机中,适用于特定的嵌入式应用。目前成功开发的嵌入式系统中,大约有一半使用嵌入式Linux。
这是与其母体——Linux本身的优秀特性分不开的。
首先,Linux系统层次结构分明,内核完全开放。Linux由许多小而高性能的微内核和系统组成。在内核代码完全开放的前提下,不同领域、不同层次的用户可以很容易地根据自己的应用需求对内核进行裁剪,低成本地设计开发出真正符合自己需求的嵌入式系统。
其次,Linux具有强大的网络支持功能。Linux诞生于互联网,具有UNIX的特性,保证了它支持所有标准的互联网协议,可以利用Linux的网络协议栈开发嵌入式TCP/IP网络协议栈。
再次,Linux拥有完整的工具链,易于自行搭建嵌入式系统的开发环境和交叉运行环境,可以克服仿真工具在嵌入式系统开发中的障碍。一般嵌入式操作系统的程序调试和跟踪都是利用仿真器来实现的,但是当以Linux系统为原型时,我们可以绕过这个障碍,直接利用内核调试器来调试操作系统的内核。
最后,Linux具有广泛的硬件支持特性。无论是RISC还是CISC,无论是32位还是64位处理器,Linux都可以在上面运行。Linux中最常用的微处理器是IntelX86芯片家族,但也可以运行在嵌入式处理器上,这意味着嵌入式Linux将会有更广阔的应用前景。
嵌入式Linux和Linux一样,具有成本低、多硬件平台支持、性能优异、网络支持好等优点。此外,为了更好地适应嵌入式领域的发展,嵌入式Linux在Linux的基础上做了一些改进,比如将其内核结构从单片结构改为微内核结构,同时也提高了系统的实时性。
嵌入式Linux和Linux一样,有很多版本,不同的版本针对不同的需求,在内核等方面加入了特定的机制。
目前,朱友朋老师已经提供了最全面、最深入、最系统的关于Linux的教学课程。可以搜索朱有朋物联网大讲堂,在官网看免费视频。
2.VxWorks
VxWorks操作系统是美国WindRiver公司于1983年设计开发的嵌入式实时操作系统(RTOS)。VxWorks有以下优点。
实时性好。系统本身的开销很小,进程调度、进程间通信、中断处理等系统公共程序简洁有效,使得它们的延迟很短。此外,VxWorks提供的多任务机制采用优先级抢占和轮换调度机制来控制任务,充分保证了可靠的实时性。
高可靠性,从而保证用户工作环境的稳定性。
集成开发环境完整、功能强大,方便用户使用。
但是由于VxWorks的源代码不开放,其部分功能(如网络功能模块)的更新滞后。VxWorks的开发和使用需要支付高额的专利费,大大增加了用户开发的成本。
3.QNX
QNX由加拿大QNX软件系统有限公司开发,广泛应用于自动化、控制、机器人、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、安全与防御系统、POS机和零售机等任务关键型应用领域。
QNX独特的微内核和消息结构使得运行和开发非常方便。QNX具有很强的可扩展性,用户可以直接将应用程序代码和QNX内核编译在一起,为一个简单的嵌入式应用程序生成一个单独的映像。
4.WindowsCE(推荐课程:Windows CE系统定制及驱动程序开发培训课程)
WindowsCE是微软公司开发的开放的、可升级的32位嵌入式操作系统,是基于掌上电脑的电子设备操作系统。WindowsCE的图形用户界面非常优秀,WindowsCE是模块化的、结构化的、基于Win32的、独立于处理器的。
WindowsCE继承了Windows传统的图形界面。用户可以使用Windows95/98上的编程工具(如VisualBasic、VisualC等。)在WindowsCE的平台上,使用相同的功能,使用相同的界面风格。Windows上的大多数应用软件只需简单的修改和移植,就可以在WindowsCE平台上继续使用。但是WindowsCE的开发平台价格昂贵,在一定程度上限制了它的发展。
5.帕尔莫斯
PalmOS在PDA领域拥有庞大的用户群,曾经占据PDA操作系统90%以上的市场份额。PlamOS最明显的特点就是简洁,它的内核只有几千字节,用户可以很容易的开发和定制,具有很强的可操作性。
6.C/OS
开源的代码,清晰明了的代码结构,详细的注释,条理清晰,移植性好,系统短小精悍,是学习和研究实时操作系统的首选,但在工程应用中却很少使用。