传统的操作系统设计所面临的主要挑战是需要管理的资源数量, 多样性, 分布范围不断增加以及系统状态频繁变化. 然而, 现有操作系统结构已经成为应对上述挑战的最大障碍, 原因如下: (1) 紧耦合和中心化的结构不仅损害了系统的灵活性和扩展性, 还导致了操作系统生态分离; (2) 系统中单一的隔离机制, 如内核态-用户态隔离, 造成了各种能力之间的矛盾, 如安全性和性能等. 为此, 结合简捷的分层软总线设计思想和多样化隔离机制来组织操作系统组件, 提出一种新型操作系统模型——Yggdrasil. Yggdrasil将操作系统功能分解为以软总线相连接的组件节点, 其通信被标准化为经软总线的消息传递. 为支持特权态等隔离状态的划分和不同的软件层次, Yggdrasil还引入桥节点实现多层软总线的级联和受控通信, 通过自相似的拓扑特性使操作系统的逻辑表述能力和扩展性都得到了极大的强化. 此外, 软总线的简单性和层次性也有助于实现去中心化. 构建操作系统的分层软总线模型实例HiBuOS, 通过3方面的具体设计验证并展示基于Yggdrasil思想来开发新型操作系统的可行性: (1) 根据目标操作系统的规模和要求设计规划多层总线结构; (2) 选择具体的隔离和通信机制实例化桥节点和软总线; (3) 实现基于分层软总线风格的操作系统服务. 对HiBuOS的评估表明, 它没有引入明显的性能损耗, 而且还在提高系统可扩展性, 安全性和生态发展方面具有显著的优势和潜力.
The major challenges traditional operating system (OS) design faces are the increasing number, diversity, and distribution scope of resources to be managed and the frequent changes in system state. However, the structures of existing OSs have become the biggest obstacle to solving the above problems as (1) tight coupling and centralization of the structure lead to poor flexibility and scalability and separate OS ecology; (2) contradiction between various capabilities, e.g., security and performance, due to the unitary isolation mechanism such as kernel-user isolation. Therefore, this study combines the hierarchical software bus (softbus) principles with isolation mechanisms to organize the OS and proposes a new OS model termed Yggdrasil. Yggdrasil decomposes an OS into component nodes connected by softbuses, whose communications are standardized to message passing via the softbus. To support the division of isolated states such as supervisor mode and different software hierarchies, Yggdrasil introduces bridge nodes for cascading and controlled communication between softbuses, and enhances the logical representation capability and scalability of OS through self-similar topology. Additionally, the simplicity and hierarchy of the softbus help to achieve decentralization. To verify the feasibility of Yggdrasil, the study builds hierarchical softbus model for OS (HiBuOS) and demonstrates the feasibility of developing a new OS based on Yggdrasil’s ideas through three specific designs: (1) designing and planning a hierarchical softbus structure according to the scale and requirements of the target operating system; (2) selecting specific isolation and communication mechanisms to instantiate bridge nodes and softbuses; (3) realizing OS services based on the hierarchical softbus style. Finally, the evaluation shows that HiBuOS has notable potential and advantages to enhance system scalability, security, performance, and ecological development without significant performance loss.