一个典型的嵌入式操作系统应该具备下列特点。
1.可裁剪性
可裁剪性是嵌入式操作系统最大的特点,因为嵌入式操作系统的目标硬件配置差别很大,有的硬件配置非常高档,有的却因为成本原因,硬件配置十分紧凑,嵌入式操作系统必须能够适应不同的硬件配置环境,具备较好的可裁剪性。在配置高、功能要求多的情况下,嵌入式操作系统可以通过加载更多的模块来满足这种需求;而在配置相对较低、功能单一的情况下,嵌入式操作系统必须能够通过裁剪的方式,把一些不相关的模块裁剪掉,只保留相关的功能模块。为了实现可裁剪,在编写嵌入式操作系统的时候,就需要充分考虑,进行仔细规划,对整个操作系统的功能进行细致划分,每个功能模块尽量以独立模块的形式来实现。
具体的裁剪方式有两种。一种方式是把整个操作系统功能分割成不同的功能模块,进行独立编译,形成独立的二进制可加载映像,这样就可以根据应用系统的需要,通过加载或卸载不同的模块来实现裁剪。另外一种方式,是通过宏定义开关来实现裁剪,针对每个功能模块,定义一个编译开关(#define)来进行标志。若应用系统需要该模块,则在编译的时候,定义该标志,否则取消该标志,这样就可以选择需要的操作系统核心代码,与应用代码一起联编,实现可裁剪的目的。其中,第一种方式是二进制级的可裁剪方式,对应用程序更加透明,且无需公开操作系统的源代码,第二种方式则需要应用程序详细了解操作系统的源代码组织。
2.与应用代码一起链接
嵌入式操作系统的另外一个重要特点,就是与应用程序一起,链接成一个统一的二进制模块,加载到目标系统中。而通用操作系统则不然,它有自己的二进制映像,可以自行启动计算机,应用程序单独编译链接,形成一个可执行模块,并根据需要在通用操作系统环境中运行。(www.xing528.com)
3.可移植
通用操作系统的目标硬件往往比较单一,比如,对于UNIX、Windows等通用操作系统,只考虑几款比较通用的CPU就可以了,比如Intel的IA32和Power PC。但在嵌入式开发中却不同,存在多种多样的CPU和底层硬件环境,仅CPU可能就会有十几款。嵌入式操作系统必须能够适应这种情况,在设计的时候充分考虑不同底层硬件的需求,通过一种可移植的方案来实现不同硬件平台上的方便移植。比如,在嵌入式操作系统设计中,可以把硬件相关部分代码单独剥离出来,在一个单独的模块或源文件中实现,或者增加一个硬件抽象层,来实现不同硬件的底层屏蔽。总之,可移植性是衡量一个嵌入式操作系统质量的重要标志。
4.可扩展
嵌入式操作系统的另外一个特点,就是具备较强的可扩展性,可以很容易地在嵌入式操作系统上扩展新的功能。比如,随着Internet的快速发展,可以根据需要,在对嵌入式操作系统不做大量改动的情况下,增加TCP/IP功能或HTTP解析功能。这样必然要求嵌入式操作系统在设计的时候,充分考虑功能之间的独立性,并为将来的功能扩展预留接口。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。