自上个世纪七十年代提出嵌入式系统的概念以来,嵌入式系统以其高性能、低功耗、低成本和小体积等优势,获得了飞速的发展与广泛的应用,然而,由于受到当时硬件水平的制约,嵌入式系统的软件开发方式与以 PC 为代表的通用计算机系统的软件开发方式一开始就完全不同。当时的嵌入式系统硬件平台一般都是基于 8 位机的简单系统,系统的硬件设计者通常也是系统的软件开发者,编程语言绝大多数也以汇编语言为主,硬件设计者在进行硬件系统的设计时,同时会考虑程序如何编写,而在进行程序设计时,也会考虑与硬件的配合,因此,嵌入式系统的设计开发人员一般都非常了解系统的底层软、硬件细节。
由于软、硬件条件的制约,这些系统一般都用于实现一个或几个简单的数据采集与控制功能,程序结构多使用简单的控制循环,配合中断服务来实现对外界请求的相应,不采用操作系统,所以,系统开发者对通用计算机基于操作系统的软件开发工具和技术的理解与掌握比较有限。而与此同时,另一大批人则对以 Microsoft Windows 、 Linux 为代表的操作系统技术深深着迷,醉心于在这些操作系统上的应用程序开发,他们感兴趣的东西是如何使用诸如 VB 、 VC 、 Java 之类的高级编程语言,在操作系统平台上实现更复杂和更精彩的应用,而不太关心系统的更多的硬件细节。传统的观点一般将前者归类为硬件开发人员,而后者通常被称之为软件程序员。这两大群体在很长一段时间几乎也是井水不犯河水,各自有着不同的开发应用领域。
然而,随着计算机软、硬件技术的飞速发展和人们的应用需求越来越高,特别是随着以 ARM 、 PowerPC 、 MIPS 等为代表的高性能嵌入式微处理器普遍使用,使传统意义上的嵌入式系统的概念发生了很大的变化。以基于 8 位机的嵌入式系统为例,当应用系统随着需求的增加变得越来越复杂、使用范围变得越来越广泛时,系统每增加一项新的功能,都会带来应用软件结构的变化,甚至需要完全重新设计,而这种问题在基于操作系统的通用计算机上就小得多,显然,没有操作系统的支持已经成为传统的嵌入式系统的最大的缺陷,但由于 8 位机系统有限的运算能力和存储容量,不足以支持操作系统的运行,信盈达嵌入式企鹅要妖气呜呜吧久零就要因此,在很长一段时间以来,人们尽管已经意识到这个问题的存在,但也没有更好的解决办法。
自上个世纪九十年代以来,嵌入式系统的设计提出了 “ 片上系统 ” ( SoC , System on Chip )的概念,目前,嵌入式系统的硬件设计已进入以 SoC 为核心的阶段,显然, SoC 为高性能的嵌入式系统开发的提供了功能丰富的硬件平台,而这些平台强大的运算能力和存储能力,足以支持复杂嵌入式操作系统( EOS , Embedded Operating Systems )的运行。
嵌入式操作系统的发展是伴随的嵌入式微处理器性能的不断提高而逐渐发展起来的,最近几年来,嵌入式操作系统的应用领域不断扩大,其原因主要是嵌入式系统软件开发复杂度的增加,同时,高性能的嵌入式微处理器的推广使用,为嵌入式操作系统的可靠运行提供了硬件平台的保障。目前,在嵌入式系统中使用的操作系统种类也非常繁多,其中,市场份额占有比较高的有 Linux 、 Windows CE 、 VxWorks 、 QNX 、 eCos 、 uC/OS II 等。嵌入式操作系统主要可分为两大类,一类是商业级的嵌入式操作系统,这类操作系统一般都经过较长时间的使用,且都由一些大公司开发与维护,在性能或服务上都有较好的保证,如 Windows CE 、 VxWorks 、 QNX 等,但这类操作系统一般价格比较昂贵,且都不公开核心代码,这就与嵌入式系统用户定制性较强、升级换代快等特点相违背,因此其应用范围受到了很大的限制。另一类则是源代码开放的嵌入式操作系统,如 Linux 、 eCos 、 uC/OSII 等,尽管这类系统在技术支持和服务上有所欠缺,且对开发人员有较高的要求,但由于用户可定制性好、具有可持续开发的优势,从目前看来,其应用范围反而比商业嵌入式操作系统广泛得多。
|