在经济领域内,任何新产品的出现都必然面临着挑战和被挑战。而计算机软件作为一个特殊的商品,目前正面临着开放源代码的挑战。开放源代码促进了计算机技术的交流与发展,得到了越来越多的肯定与支持。但开源并不意味着免费。用户在获取并使用软件的同时,也在使用厂商提供的服务和安全保障。而服务和安全保障是计算机软件的真正价值所在,这是永远无法免费的。同时对于安全性和保密性要求较高的领域来说,免费和非自主版权并不是一个很好的选择。
谈到开源就不得不谈谈Linux系统,目前以Linux系统为代表的开源系统软件对传统的非开源系统软件发起了强有力的挑战。Linux系统的优秀特性和源代码的完全免费开放为我们提供了追赶世界先进水平的有利工具,但并不是唯一工具。如果我们仅局限于利用Linux来发展我们自己的计算机软件产业,那么是毫无前途可言的。
Linux系统之所以为众多厂商所青睐,除其自身的技术优秀外,还在于它为计算机软件厂商提供了廉价经济甚至免费的开发平台,但Linux系统并不是完美无缺的。在嵌入式系统上运行Linux的一个缺点是Linux体系提供硬实时性能需要添加实时软件模块。而这些模块运行的内核空间正是操作系统实现调度策略、硬件中断异常和执行程序的部分。由于这些实时软件模块是在内核空间运行的,因此代码错误可能会破坏操作系统从而影响整个系统的可靠性,这对于实时应用将是一个非常严重的弱点(内核空间更多的使用指针)。
另一方面,现成的实时操作系统(RTOS)完全是为实时性能而设计的,它通过在由用户而非系统级进程启动时分配给某个进程以高于其它进程的优先级的方式来实现实时性,进程在操作系统看来就是在内存里或硬盘驱动器上执行的程序。给他们指定进程ID或者数字标识符为的是避免直接使用指针,野指针的使用后果是灾难性的,有利于提高可靠性。