1.4 操作系统结构

本文探讨了操作系统设计中的分层法、模块化以及宏内核和微内核两种核心架构,分析了各自的优缺点,强调了性能、可靠性和可扩展性的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 分层法

概念

分层法是将操作系统分为若干层,最底层(层0)为硬件,最高层(层N)为用户接口,每层只能调用紧邻它的低层的功能和服务( 单向依赖)。

优点

  • 便于系统的调试和验证,简化了系统的设计和实现
  • 易扩充和易维护。在系统中增加、修改或替换一层中的模块或整层时,只要不改变相应层间的接口,就不会影响其他层。

缺点

  • 合理定义各层比较困难。因为依赖关系固定后,往往就显得不够灵活
  • 效率较差。操作系统每执行一个功能,通常要自上而下地穿越多层,各层之间都有相应的层间通信机制,这无疑增加了额外的开销,导致系统效率降低。

2. 模块化

模块化是将操作系统按功能划分为若干具有一定独立性的模块。每个模块具有某方面的管理功能,并规定好各模块间的接口,使各模块之间能够通过接口进行通信。

衡量模块独立性的标准

  • 内聚性,模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越好。
  • 耦合度,模块间相互联系和相互影响的程度。耦合度越低,模块独立性越好。

模块化的优点

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

模块化的缺点

  • 难满足需求,模块间的接口规定很难满足对接口的实际需求。
  • 各模块设计者齐头并进,每个决定无法建立在上一个已验证的正确决定的基础上,因此无法找到一个可靠的决定顺序。

3. 宏内核

宏内核,也称单内核或大内核,是指将系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为用户程序提供高性能的系统服务

优点

  • 因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。

缺点

    1. 随着操作系统设计规模增长,系统层次交互关系复杂,层次接口难以定义,层次之间界限模糊
    1. 不易拓展。

4. 微内核

微内核构架,是指将内核中最基本的功能保留在内核,而将那些不需要在核心态执行的功能移到用户态执行,从而降低内核的设计复杂性。那些移出内核的操作系统代码根据分层的原则被划分成若干服务程序,它们的执行相互独立,交互则都借助于微内核进行通信。

微内核结构

    1. 与硬件处理紧密相关的部分。
    1. 一些较基本的功能。
    1. 客户和服务器之间的通信。

这些部分只是为构建通用操作系统提供一个重要基础,这样就可以确保将内核做得很小。

微内核结构将操作系统划分为两大部分:微内核和多个服务器

微内核的功能

    1. 进程(线程)管理进程(线程)之间的通信功能是微内核OS最基本的功能,此外还有进程的切换、进程的调度,以及多处理机之间的同步等功能,都应放入微内核中。
    1. 低级存储器管理。在微内核中,只配置最基本的低级存储器管理机制,如用于实现将逻辑地址变换为物理地址等的页表机制和地址变换机制,这一部分是依赖于硬件的,因此放入微内核。而实现虚拟存储器管理的策略,则包含应采取何种页面置换算法,采用何种内存分配与回收的策略,应将这部分放在微内核外的存储器管理服务器中
    1. 中断和陷入处理。微内核OS将与硬件紧密相关的一小部分放入微内核,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,在识别中断或陷入的事件后,再发送给相关的服务器来处理,故中断和陷入处理也应放入微内核。

微内核优点

    1. 高可靠性和安全性,在微内核结构中,为了实现高可靠性,只有微内核运行在内核态,其余模块都运行在用户态, 一个模块中的错误只会使这个模块崩溃,而不会使整个系统崩溃。
    1. 扩展性和灵活性。许多功能从内核中分离出来,当要修改某些功能或增加新功能时,只需在相应的服务器中修改或新增功能,或再增加一个专用的服务器,而无须改动内核代码。
    1. 可移植性。与CPU和I/0硬件有关的代码均放在内核中,而其他各种服务器均与硬件平台无关,因而将操作系统移植到另一个平台上所需做的修改是比较小的。
    1. 分布式计算。客户和服务器之间、服务器和服务器之间的通信采用消息传递机制,这就使得微内核系统能很好地支持分布式系统和网络系统。

微内核缺点

  • 微内核结构的主要问题是性能问题。因为需要频繁地在核心态和用户态之间进行切换,操作系统的执行开销偏大。

5. 外核

在底层中,一种称为外核(exokermel) 的程序在内核态中运行。它的任务是为虚拟机分配资源,并检查使用这些资源的企图,以确保没有机器会使用他人的资源。每个用户层的虛拟机可以运行自己的操作系统,但限制只能使用已经申请并且获得分配的那部分资源。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值