Arceos 多进程支持思路

这里写目录标题

  • Arceos 多进程支持思路
    • 概念
    • 大体思路
      • 方案一 多用户空间,单内核空间
      • 方案二 多用户空间,公共内核空间
      • 方案三 多用户空间,多内核空间
  • 总结

Arceos 多进程支持思路

Arceos 多进程支持思路_第1张图片

概念

  • 用户空间:用户程序运行所在的地址范围;
  • 内核空间:内核代码运行所在的地址范围;

大体思路

多进程需要并行的用户空间,即多个进程共同运行在相同的用户空间上。为了防止各个进程之间的相互干扰,这时需要开启硬件 mmu ,对进程空间进行隔离。
由于 arceos 采用的是 libos 的方案,需要用户空间和内核空间运行在同一个特权模式上,即 S mode 下,所以在用户代码和内核代码都运行相同的地址空间上,这也使得在处理内核代码的运行空间上有如下三种方案:

  • 多用户空间,单内核空间:内核形成一个独立的内核进程,与用户进程一样独享一套完整的地址空间;
  • 多用户空间,公共内核空间:内核代码固定在一个地址范围内,且这个地址范围对每个进程来说都是一样的;
  • 多用户空间,多内核空间:内核代码不再有自己的地址空间,他和对应的进程共用一套地址空间,只是在进行进程切换的时候在采用一个共用的跳板来实现进程的上下文切换;

方案一 多用户空间,单内核空间

整体框

你可能感兴趣的:(libos,linux)