嵌入式实时系统的可配置混合内核
1. 引言
嵌入式系统的应用范围十分广泛,从简单的玩具到飞机都有涉及。因此,对实时性、性能和安全性的要求也各不相同,从可以忽略不计到不可或缺都存在。现代实时操作系统中的许多安全特性,如果没有专用硬件的支持,往往会以牺牲性能为代价。
在嵌入式系统中,提高安全性的常见方法是通过内核架构将应用程序与操作系统分离。为了提高操作系统服务的安全性,也可以将服务与基本操作系统功能分离,将每个服务放在用户空间的独立地址空间中。
使用内核架构时,需要考虑哪些功能保留在内核中,哪些功能放在用户空间。从安全角度看,希望将尽可能多的功能放在独立的用户空间部分;从性能角度看,则希望尽量减少放在用户空间的功能,以避免昂贵的上下文切换和不同地址空间之间的通信开销。这种权衡的方向很大程度上取决于应用程序的需求和场景。
这里介绍一种可配置的混合内核,它是对精细粒度可配置实时操作系统Dreams的扩展。该混合内核允许高效地配置哪些服务放在内核空间,哪些放在用户空间,主要目标是让开发者能够根据安全的故障隔离和效率的速度需求来调整内核。
为了使用户空间的系统服务尽可能快,高性能的上下文切换至关重要。高性能上下文切换需要特定的硬件调整,这里将介绍在PowerPC405架构上的操作系统实现方法。
2. 相关工作
在操作系统领域,微内核和单内核方法的优缺点已经被广泛讨论。如今,市场上领先的操作系统和实时操作系统中都能找到这两种内核设计。
微内核方法的优点是将操作系统组件隔离在用户空间,微内核中只实现基本和基础功能,其他功能则分离在不同的地址空间。这增加了容错性,因为错误只会影响一小部分代码。
超级会员免费看
订阅专栏 解锁全文
980

被折叠的 条评论
为什么被折叠?



