首页 理论教育 HelloChina:操作系统实现之路

HelloChina:操作系统实现之路

时间:2023-10-21 理论教育 版权反馈
【摘要】:Hello China定位为智能终端操作系统,具备如下特点。目前,Hello China实现了三级模块定制机制,如图1-6所示。Hello China V1.75版本支持GUI、网络、各类非核心的设备驱动程序等外围模块。Hello China的中断机制支持基于优先级的中断调度方式,使关键外部中断能够优先处理。总之,通过这些机制的综合支持,Hello China基本可以达到实时操作系统的标准要求。在设计的时候,Hello China充分遵从相关领域的已有标准,尽量降低用户或程序员的学习成本。

HelloChina:操作系统实现之路

Hello China定位为智能终端操作系统,具备如下特点。

1.伸缩性强

在最初设计的时候,就把Hello China操作系统的可伸缩性定为最重要的设计准则。所谓可伸缩性,指的是操作系统的功能和尺寸能够根据不同的需求灵活变动。从提供最基本的内核服务,到包含图形界面、文件系统、网络功能、各类应用程序的复杂系统,都可通过Hello China的定制机制做到。目前,Hello China实现了三级模块定制机制,如图1-6所示。

978-7-111-41444-5-Chapter01-6.jpg

图1-6 Hello China的三级扩展机制

第一层定制机制是针对操作系统内核模块的源代码级定制。可通过设定一些宏定义开关,对源代码功能进行裁剪。这个层面的定制需要重新编译内核,但无需对源代码做任何修改,也非常方便。这个层级的定制,可以使Hello China的内核只包含线程调度、内存管理(无虚拟内存)、线程同步等最基本的机制,编译后的尺寸可以达到十几KB,可满足功能受限的低端嵌入式系统的需求。

第二层定制机制是针对外围模块的配置文件定制机制。Hello China V1.75版本支持GUI、网络、各类非核心的设备驱动程序等外围模块。系统定义了一个模块配置文件(MODCFG.INI),凡是在这个文件内的模块,操作系统就会加载,否则不会加载。这样可以通过合理配置模块配置文件,使得操作系统只加载必要的外围模块,而无需加载全部模块,以节约资源。比如,可以配置Hello China,使之只加载网络功能模块,而无需加载GUI等外围模块,以满足网络设备的需要。当然,要实现这个层面的定制,操作系统内核必须支持文件系统,因为模块配置文件的读取和模块本身的读取都是通过文件系统完成的。

第三层定制机制是针对各类应用程序的动态加载和卸载机制。可以根据需要编写特定功能的应用程序,然后根据需要动态加载或卸载。这与通用操作系统类似,应用程序作为存放在外部存储介质上的可执行模块,可动态加载和卸载。

通过充分利用上述三个层面的定制机制,可以把Hello China的尺寸控制在十几KB到几MB的范围内,从而满足多种应用场景的需要。(www.xing528.com)

2.外部事件的快速响应

Hello China采用基于优先级的线程调度算法,支持多时机(如中断程序结束后、系统调用结束后等)的线程切换机制,可对外部事件做出快速响应。Hello China的中断机制支持基于优先级的中断调度方式,使关键外部中断能够优先处理。Hello China的内存管理机制可支持多种内存分配算法,比如可支持分配时间固定的内存分配算法,这使得内存分配操作的时间可预期,满足实时系统的需要。同时,Hello China虽然可选择启用MMU机制,但不提供内存换出(换出到硬盘,需要时再调回内存)功能,这可充分保证内存分配的速度。

总之,通过这些机制的综合支持,Hello China基本可以达到实时操作系统的标准要求。即使采用缺省的基于空闲链表的内存分配算法,禁止中断嵌套功能,其外部实时性也是可预期的。

3.兼容性设计

这里的兼容性,指的是兼容已有标准或已有功能的能力。在设计的时候,Hello China充分遵从相关领域的已有标准,尽量降低用户或程序员学习成本。比如对文件系统的支持,Hello China缺省支持FAT32和NTFS(只读)等文件系统,这可使得已有的存储卡、硬盘等存储设备上的数据,很容易地共享到Hello China上。再如提供的API函数,尽量模拟Windows操作系统的API函数,这样可使得程序员的学习成本最低,无需重新学习一套全新的API。又如,通过预置引导法等独创的引导机制,Hello China可以与已有操作系统(如Windows、Linux等)和谐共存,在对现有操作系统无任何影响的情况下,即可在PC上安装Hello China。

总之,做到最大可能的兼容性,可大大降低系统的使用成本和开发成本

此外,Hello China还有其他一些特征,比如独创的内核回调机制、系统调用注册机制、可扩展的文件系统管理框架、扩展性很强的驱动程序管理框架等,后续章节将做详细描述。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈