嵌入式系统中为什么要添加操作系统?这个问题很多人都能回答,并且也一定要很多答案。当外行问及我这个问题的时候,我说是想让程序脱离硬件,提高程序的可移植性和可读性;另外就是当系统比较复杂的情况下,操作系统可以为这个复杂的系统提供管理机制,开发人员只要完成功能函数,并且添加任务即可,不用再去管不同的任务之间通信以及各个不同功能之间如何协同工作等等的问题。但是这样说出来,似乎没法让他们感受到操作系统的强大。
想想还是在这里让自己总结一下,心里才会舒服点。操作系统个人并没有真正在项目中使用过,但是从我的一些经历来看,操作系统一般是用在一些要求比较苛刻、系统比较复杂的场合。这也足以证明,操作系统的确有“能人之所不能”的强大。
个人觉得操作系统的强大至少有一下几点:
1、系统复杂程度较高,实现的功能较多。需要通过操作系统为这个复杂的系统提供一种管理机制。能够使得这个系统中不同的模块高效的运作。例如window,如果电脑上面没有操作系统,电脑要管理键盘、鼠标、显示器等等的硬件系统,还有电脑上面各种各样的软件。如果要在电脑上在安装新的软件,就如同要拓展系统的功能,这个时候有可能会影响到其他的功能模块。而有了操作系统以后,就不必考虑这些问题,因为在操作系统中,每个任务都认为是自己独享整个CPU。
2、软件的移植性。比如QQ,如果没有操作系统,QQ不可能向现在这样火爆。不同的PC机有着不同的配置和CPU,如果没有操作系统,那么,QQ这样的软件,就无法在任何PC上都能安装。而由windows的情况下,QQ只要在winsows上实现就好了,根本不用管PC是什么配置,是什么CPU。这些问题都由操作系统搞定。
3、在操作系统上提供的一些功能相对有其优越性。比如TCP/IP协议栈,在操作系统上面实现的协议栈或许就比单独在前后台下实现的协议栈稳定性和可靠性要好。