操作系统结构(错题总结并入os引导与虚拟机)

操作系统大内核

时钟管理:实现计时功能

中断处理:负责实现中断机制

原语:是一种特殊的程序、处于os最底层,是最接近硬件部分、运行具有原子性(一气呵成,不可打断)、运行时间较短,调用频繁

补充:上述三个是为微内核的一部分功能(微内核所有功能都与硬件关联较紧密的模块)

对系统资源进行管理的功能:进程、存储器、设备管理(更多是对数据结构进行操作,不会直接涉及硬件)

补充:时钟管理和中断处理是程序并发的前提条件。

os的体系结构设计大内核还是微内核哪个性能好?

例:现在应用程序向os请求服务(进程、存储、设备管理)

因为在大内核中这些服务是需要在内核中执行的,所以只需要2次变态

在微内核中三个服务可以在用户态执行,因为部分操作还是需要进入内核,所以在用户态下执行完在进微内核操作,在调回用户态执行重复三轮。需要6次变态

微内核虽然把进程、存储、设备管理划分为在用户态执行,但是其中的部分操作还是需要在内核中才可运行。所以微内核的变态次数多导致降低了系统性能。

补充:变态是有成本的,要消耗不少时间,频繁变态降低系统性能

操作系统结构

分层结构:

思想:内核分多层,每层可单向调用更第低一层提供的接口

优点:便于调试和验证,自底向上逐层调试验证

缺点:效率低,不可跨层调用,系统调用执行时间长

模块化:

思想:将内核划分为多个模块,各模块之间相互协作

          内核=主模块+可加载内核模块

          主模块:负责核心功能,如进程调度、内存管理

          可加载内核模块:可以动态加载新模块到内核,无需重新编译整个内核

优点:

支持动态加载新的内核模块(安装设备驱动程序、安装新的文件系统模块到内核)、增强os适应性

任何模块都可以调用其他模块,无需采用信息传递进行通信,效率高

缺点:模块间互相依赖,难以调试和验证

大内核(宏内核、单内核):Linux、UNIX

思想:所有系统功能都放在内赫里,通常也采用了模块化的设计思想

优点:性能高,内核内部各种功能都可以直接互相调用

缺点:内核代码庞大、结构混乱、难以维护

           大内核中某个功能模块出错,可能导致整个系统崩溃

微内核:windows NT 

思想:只把中断、原语、进程通信等最核心的功能放入内核,进程、文件、设备管理等功能以用户进程的形式运行在用户态

优点:内核小功能少,易于维护,可靠性高

           内核外的某个功能模块出错不会导致整个系统崩溃

缺点:性能低,需频繁切换状态

           用户态下的各功能模块不可以直接相互调用,只能通过内核的”消息传递“来间接通信

外核(exokernel)

思想:内核负责进程调度、进程通信等功能,外核负责为用户进程分配未经抽象(连续的物理资源 )的硬件资源,且由外核负责保证资源使用安全

优点:

外核可直接给用户进程分配不虚拟、不抽象的硬件资源,使用户进程可以灵活的使用硬件资源

减少了虚拟硬件资源的映射层,提高效率

缺点:降低了系统的一致性,使系统变得更复杂

补充:

在普通的操作系统当中,想要申请一篇内存空间,给他分配的内存是进行抽象化虚拟化的,用户的视角看到的是一片连续的内存空间,事实上这是虚拟的内存空间,操作系统内核会把虚拟的空间映射到实际的物理页框中,这些物理页框通常都是离散的。

假设用户知道这片存储空间是需要经常随机访问的,如果采用普通操作系统,那么磁头在物理上跳转的距离更长。

使用外核模式下的os,可以直接分配未被抽象的资源,也就是连续的物理资源,这样磁头在物理上跳转的距离更短

考研 408 高频考点总结

1. 内核结构分类与对比
  • 宏内核(Monolithic Kernel)

    • 核心特征:所有系统服务(进程管理、内存管理、文件系统等)均在内核空间实现,通过系统调用直接访问硬件34。
    • 典型案例:Linux、Unix。
    • 优缺点
      • 优点:性能高(无用户 / 内核空间切换开销)、设计简单。
      • 缺点:内核体积庞大、可扩展性差(修改需重构内核)、稳定性低(功能耦合度高)34。
  • 微内核(Microkernel)

    • 核心特征:内核仅保留最小功能集(IPC、低级进程管理、中断处理),其他服务(文件系统、网络协议)在用户空间以服务器进程形式运行34。
    • 典型案例:Mach、Minix。
    • 优缺点
      • 优点:可扩展性强(服务动态添加)、可靠性高(内核功能少)、适合分布式系统(消息传递机制)。
      • 缺点:性能低(频繁消息传递)、设计复杂度高34。
  • 混合内核(Hybrid Kernel)

    • 核心特征:关键功能(内存管理、进程调度)在内核空间实现,部分服务(文件系统、设备驱动)以模块化形式集成,平衡性能与可扩展性348。
    • 典型案例:Windows NT(执行体层模块化设计)、Mac OS(Mach 微内核 + BSD 宏内核)48。
    • 优缺点
      • 优点:性能接近宏内核,可扩展性优于宏内核。
      • 缺点:模块划分可能不够清晰,调试复杂度较高。
  • 命题陷阱

    • 混淆 Windows NT 的混合内核与微内核(其部分服务仍在内核空间)8。
    • 微内核的 “消息传递” 与分布式系统的关联(真题常考)。
2. 机制与策略分离
  • 原理:内核实现基本机制(如 IPC 框架),策略(如调度算法)由用户空间模块动态调整。
  • 应用场景:微内核与混合内核的核心设计思想,提升系统灵活性34。
  • 真题示例
    • 问:微内核如何实现 “机制与策略分离”?
    • 答:内核提供 IPC 机制,调度策略由用户空间服务器进程实现,可动态替换。
3. 外核(Exokernel)
  • 补充考点:考研低频但需了解,其设计理念是将硬件资源直接暴露给用户程序,由用户自行管理(如资源分配),内核仅负责保护和仲裁3。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值