自管理微内核:从云到资源架构
1. 引言
在多核和多处理器系统中,分割技术在代码和数据处理方面具有重要意义。通过将面向服务架构(SOA)范式应用于代码和数据,可以将核心缓存填充为较小的部分,而不是完整的执行环境,从而避免超出可用空间。然而,这种方法也带来了一些问题。
2. SOA 应用于代码和数据的问题
将 SOA 应用于代码和数据时,会出现以下几个问题:
1. 动态性 :在正常执行过程中,进程会在仅部分加载到内存的方法之间跳转,因此需要不断进行加载和卸载操作。
2. 依赖性 :代码和数据存在直接关系,在分离代码和数据块时需要考虑数据访问。
3. 完整性 :多个代码段访问相同的数据块,并且可能存在相同数据的复制,因此需要进行更新通信以确保进程行为的完整性。
4. 分布性 :分割后的代码不一定按严格的顺序执行和加载,多个核心可能托管部分代码、复制数据等。为了确保完整性和依赖性,并提高性能,这种分布需要考虑进程的限制、要求和能力。
3. SOA 与操作系统
微内核操作系统主要采用面向对象(或服务)的方法,将功能分割成具有灵活通信接口的库。这允许根据需要按需加载库,并在多个核心之间分布以实现更高效的执行。每个核心的缓存可以根据各自进程的需求托管部分操作系统功能,从而有效分布操作系统在缓存和核心上的负载,同时提高系统功能的可用性,改善性能并减少过程调用冲突的风险。
虽然段可以复制,关键的重复功能(如虚拟内存管理)可以同时托管在每个核心上,避免直接出
超级会员免费看
订阅专栏 解锁全文

1989

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



