关键词:
微内核操作系统
POSIX标准
C库函数
重定位技术
信号处理技术
摘要:
日益复杂化的需求催生出了愈发庞杂的嵌入式系统,而为了保证系统的安全性、实时性、低功耗特性,并适用于一些资源受限的应用场景,微内核架构应运而生。在进行操作系统开发时,希望能够兼顾Linux开发习惯,以便于开发工作。又因为Linux符合POSIX标准,故此微内核操作系统也需要符合POSIX标准。POSIX标准是一套为解决软件可移植性问题而设立的接口标准。主流操作系统:Linux和Unix都符合POSIX标准。POSIX标准又可分为POSIX.1和POSIX.13等,其中POSIX.1主要面向桌面和服务器,而POISX.13面向实时系统,因而微内核操作系统选择了POSIX.13规范。而针对嵌入式实时系统,POSIX-PSE51标准是POSIX标准的一个子集,同时也是最小的子集,它不需要多进程(线程),符合微内核中只有线程概念的情况,所以要实现POSIX-PSE51标准。本文对微内核技术和宏内核技术的优缺点进行了深入的研究和分析,并结合了mginkgo微内核操作系统的系统服务设计和具体情况,从POSIX-PSE51标准包含的内容开始进行分析,到对库函数的编译链接过程进行研究,再之后对库函数的性能优化进行研究与实现,以此完成符合POSIX-PSE51标准的微内核操作系统的主要工作,本文重点研究了以下三个部分,其主要内容包括:***标准中,针对团队自研的mginkgo微内核操作系统采用的库函数结构设计、库函数具体实现和优化措施,以及动态库重定位技术、信号处理技术,并对编译出的库的空间大小进行优化,提高程序的空间性能;2.缓冲区技术,对数据结构、方法实现,以及实现原理与流程进行了阐述,并且引入了预读技术与哈夫曼压缩技术来提高缓冲区的效率;3.安全相关技术,采用了“金丝雀”技术、边界值技术、校验和技术,并针对这三种技术进行了多安全技术融合,以此提高缓冲区的安全性、可靠性,同时引入了锁优化技术,在POSIX的基础上,引入了无锁队列、RCU机制、分段锁三种锁优化技术,来提高系统的安全性与并行性。最后,在ARM Cortex-A7 So C开发板上完成相关的功能测试、性能测试。通过对测试结果的研究与分析可以发现本论文设计并实现的微内核操作系统符合预期标准,实现了符合POSIX-PSE51标准的微内核操作系统这一需求,提高了微内核操作系统的兼容性和应用程序的可移植性。