论文部分内容阅读
相对于早期一体化内核的复杂系统,以L4为代表的微内核系统仅在内核中保留了地址空间、进程间通讯以及调度的机制,但该系统通用的设备驱动模块则相对不足。微内核系统下的设备驱动模块运行于用户态,其优点在于该模块与内核及用户态中的其它模块之间有较好的隔离性,其缺点是微内核系统中的设备驱动不统一、架构混乱、移植性差;微内核系统之间各个模块的交互涉及大量系统调用和数据复制,因此效率相对低下;设备驱动模块的装载和运行的安全性也较弱。本文结合现有的研究成果,提出微内核系统下具有通用性和复用性的设备驱动环境架构,以及确保安全性的安全加载和监护线程,并通过对于微内核系统进程间通讯的合理设计以提高设备驱动的效率,研究内容具有一定的参考价值。本文首先提出微内核系统中设备驱动环境应有的基本要素和设计方案,并基于L4/Fiasco中设备驱动环境的优化设计,完成MicroALSA架构的设计和实现,使L4/Fiasco下具有完整的音频设备驱动架构。MicroALSA采用设备驱动环境架构提升对Linux中ALSA架构的复用率,调用DLoader模块监护设备驱动的安全性。测试结果表明,MicroALSA架构具有较高的安全性,付出的代价是在性能和音效表现上比ALSA架构降低了2%-7%,相对于安全性和可扩展性的提升,这一损失是可接受的。本文提出了微内核系统下设备驱动环境的优化设计和执行方法,并成功地实现了MicroALSA架构。其中设备驱动环境设计具有一定的创新性,本文的设计对于将来更多的微内核系统中设备驱动环境搭建有一定借鉴价值。