Skip to content

1.6 操作系统的体系结构

Giovanna

About 995 wordsAbout 3 min

2024-08-31

一、无结构操作系统

存在于早期开发的操作系统。

  • 开发的侧重点是

    • 功能的实现
    • 效率的提高
  • 系统结构:

    • 过程的集合
    • 过程之间相互调用

Note

整体式系统

  • 缺点:

    • 难以调试与维护
    • 扩展性很差

二、模块化结构

  • 模块化结构

    • 按功能划分成若干个模块
    • 模块之间通过接口实现交互
  • 模块独立性衡量标准

    • 内聚性:模块内部各部分间联系的紧密程度
    • 耦合度:模块间相互联系和相互影响的程度
  • 优点

    • OS设计的正确性高,易于理解和维护
  • 缺点

    • 接口难以定义
    • 模块之间存在复杂的依赖关系

三、分层式结构

  • 分层式结构

    1. 按功能流图的调用顺序等原则划分为若干层
    2. 每层只能使用其直接下层所提供的服务
    3. 每层对其上层隐藏其下各层的存在

Note

2和3体现了单向依赖关系

  • 优点

    • 易保证系统的正确性
    • 易于理解和维护
    • 易于扩充
  • 缺点

    • 系统效率低

双模式系统结构示意图如下:

image.png

请思考:

1. 进程调度程序、时钟中断处理程序和命令解释程序哪种模式下执行?

进程调度程序:内核模式

时钟中断处理:内核模式

命令解释程序:用户模式

进程调度程序属于系统调用,时钟中断处理属于中断,而发生中断、陷阱或系统调用时,处理器是置于内核模式的。命令解释程序属于接口命令,因此属于用户模式。

2. 系统调用时的模式切换过程?

一个运行态的用户进程在执行系统调用命令之后

  1. 向操作系统传递各种参数

  2. 执行陷入指令,保存现场,操作系统由用户态转变为内核态

  3. 进程开始执行系统调用

  4. 如果系统调用的内容为调度CPU以外的系统资源,则分为以下两种情况:

    1. 资源空闲,可以直接使用,则进程使用资源,同时保存现场,转为阻塞态,当使用完资源时,资源向进程发出信号,进程转为就绪态
    2. 资源被占用,需要排队,则进程开始排队,同时保存现场,转为阻塞态,当排到该进程时,转为就绪态,然后当等待到CPU时,转为情况1
  5. 资源使用完成,释放资源,恢复现场

  6. 系统调用完成,返回用户态

image.png

四、微内核

实现思想:在操作系统内核中只留下一些最基本的功能,而将其它服务尽可能地从内核中分离出去,用若干个运行在用户态的服务器进程来实现,形成“客户/服务器模式”。普通用户进程通过内核向服务器进程发送请求。

image.png

  • 机制与策略

    • 机制:实现某一功能的具体执行机构——怎么做
    • 策略:方法或原则,用以优化功能实现——做什么
    • 机制与策略的分离:如基于优先级的进程调度中,选择进程,为之分配处理机,使之运行属于机制部分;而为每个进程设定优先级则属于策略部分。
  • 微内核的基本功能

    • 进程管理
    • 低级存储器管理
    • 中断和陷入处理
  • 优点

    • 增强了系统的可扩展性
    • 增强了系统的可靠性
    • 可移植性好
    • 提供了对分布式系统的支持
  • 缺点

    • 运行效率有所降低:消息传递开销+模式切换开销