王道操作系统,视频链接:1.4 操作系统的体系结构(上)

操作系统的体系结构

操作系统的体系结构分为:大内核、微内核、分层结构、模块化、外核
考试常考的点为大内核(也称宏内核)、微内核。其他三个点了解即可。

操作系统的内核

操作系统分为内核功能与非内核功能,具体如图所示:
计算机系统的层次结构
非内核功能:如GUI
内核功能:

  • 进程管理、存储器管理、设备管理等功能
    Ubuntu、CentOS的开发团队,其主要工作就是实现非内核功能,而内核都是用了Linux内核
  • 时钟管理、中断处理、原语(设备驱动、CPU切换等)
    原语是一种特殊的程序,具有原子性,也就是说,这段程序的运行不可被中断
  • 图示:
    操作系统内核
    上方的时钟管理、中断处理、原语三个部分与硬件关联较为紧密,所以操作系统内核必须包括这三个部分。
    因为对资源进行管理的功能更多的是对数据结构的操作,不会直接涉及硬件,所以不是所有操作系统都把这部分功能放到内核中的,其中,包括的称之为大内核,不包括的,称之为微内核。
    无论内核如何定义,内核都需要运行在内核态,非内核功能都需要运行在用户态。

操作系统的体系结构

如图所示:
两种不同内核的处理逻辑
对于大内核来说,进程管理等三个需求都处于内核中,不需要频繁在用户态与内核态中切换,而对于微内核来说,这三个需求都处于非内核,每次处理都需要在用户态与内核态中切换,因为这个切换的过程是需要成本的,所以在图示的例子中,微内核下的系统性能会较低。(具体情况具体讨论,不是所有情况微内核新能都比大内核低)
注意:变态不是专业词汇,在考试等场景时,不能够使用这个词汇。

知识回顾与重要考点

大内核与微内核的区分

关于Windows NT(来自deepseek)

Windows NT(意为“新技术”)在设计之初,确实希望打造成一个纯微内核系统,以实现更好的模块化和可移植性。

但微软很快在实践中碰到了微内核架构的经典问题:性能瓶颈。

  • 问题:在微内核下,像图形子系统(GUI) 这类对性能要求极高的服务,如果放在用户态,每次操作都需要在内核态和用户态之间频繁切换,导致效率极低。

  • 解决:为了解决性能问题,微软最终将图形子系统、DirectX技术等关键组件从用户态移入了内核态。

这种“设计上借鉴微内核思想,但实现上为了提高性能,将关键服务移入内核”的务实做法,最终形成了一种混合架构

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐