浅谈操作系统——操作系统的结构设计

235 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第25天,点击查看活动详情

操作系统的结构设计

  • 传统的操作系统结构
    • 无结构OS
    • 模块化OS结构
    • 分层式OS结构
  • 现代OS结构——微内核结构

无结构OS

  • 设计基于功能实现和获得高的效率
  • OS是为数众多的一组过程的集合
  • OS整体无结构(程序之间)
  • 程序内部代码无结构(goto语句非常多)
  • To construct the actual object program of the OS
  • One first compiles all the individual procedures, or files containing the procedures, then binds them all together into a single object file using the system linker

模块化OS结构

  • 20世纪60年代出现,基于“分解”和“模块化”原则来控制 大型软件的复杂度。

模块的独立性

  • 模块大小的划分
  • 衡量模块独立性的指标
  • 内聚性:模块内部各部分间联系的紧密程度
  • 耦合度:模块间相互联系和相互影响的程度

模块化OS的优点

  • 提高OS设计的正确性、可理解性和可维护性
  • 增强OS的可适应性
  • 加速OS的开发过程

模块化OS的缺点

  • 设计时对模块的划分与接口的规定不精确
  • 模块间存在复杂依赖关系

分层式OS结构

分层设计的基本原则:每一层都仅使用其底层所提供的功能和服务。

分层设计考虑的因素

  • 程序嵌套 作业调度/进程控制/内存分配
  • 运行频率 频率高-> 低层(速度快)时钟管理
  • 公共模块
  • 用户接口 最高层

微内核(MicroKernel)OS结构

  • 20世纪80年代后期发展起来,可支持多处理机运行,适用于分布式系统环境。
  • 微内核技术:精心设计的、能实现现代OS核心功能的小型内核,它与一般OS不同,更小更精练,运行于核心态、开机后 常驻内存。
  • 微内核OS结构的特征
    • 以微内核为OS核心
    • 以客户/服务器为基础
    • 采用面向对象的程序设计方法

image.png

image.png

这篇主要说的是一些操作系统的基础知识,了解一下就好了