操作系统 - 2.3 操作系统的组织结构

  随着操作系统的发展,它的功能越来越强,自身的代码量也越来越大。这样,就越需要采用良好的组织结构来保证正确性以及自身的维护及扩展。

一体化结构(Simple Monolithic Structure)

  也叫单体结构。这种结构中,操作系统是一组过程的集合,每个过程都有定义好的接口,对硬件有直接的控制。MS-DOS和BSD UNIX内核都是采用单体结构的。
MS-DOS结构

层次结构

  操作系统由若干层组成,每一层提供一套功能,并且该功能只依赖于该层以内的各层。分层中,最底层为硬件,最高层为用户接口。

  • 优点:
    • 结构简单
    • 方便调试
    • 易扩展
  • 缺点:
    • 限制过于严格
    • 开销大
      层次结构

微内核结构

  微内核结构的主要思想就是把原本内核中不必要的服务都移出去,让内核尽量的精简、高效。大多数微内核提供进程和内存管理服务、其他服务之间的信息传递服务以及很少的其他服务。

  • 优点:
    • 易扩展
    • 易移植
    • 更可靠
    • 更安全
  • 应用:
    • Mach是最早也是最广为人知的微内核,是Mac OSX的主要组成
    • Windows NT采用过微内核结构,但是在Windows95时遇到了性能问题,NT4.0之后为了提高性能就把更多的服务移回了内核,到了XP就更偏向于单体化
    • QNX也是一个基于微内核、用于嵌入式的实时操作系统
      微内核

模块化结构

  现代操作系统的发展是面向对象的,OS由一个相对较小的内核和一组动态库组成。如下图为Solaris操作系统的组成结构。
  模块化和层次结构有点相像,不过在模块化结构中,任何一个模块都可以直接和其他模块连接,不需要通过中间层。
  模块化的结构中,内核相对较小,这又和微内核有点像。但是这里的内核不需要提供信息传递的功能,因为其他模块之间可以直接交流。
模块化