操作系统的体系结构

简介: 大内核结构:也叫宏内核/单内核。将操作系统的主要功能模块都作为操作系统内核。大内核结构包括进程管理、存储器管理、设备管理等功能(第四层)和时钟管理、中断处理、原语(第五层)。大内核优点:性能更高(CPU状态转换次数更少)大内核缺点:内核代码庞大,结构混乱,难以维护

一、内核结构


操作系统内核也有两种类别:大内核结构、微内核结构

f9f5a1cd1a6362cdcbd90f23a908a9aa_15466689ab924bbe8a419435a9e8ae7c.png


大内核结构:也叫宏内核/单内核。将操作系统的主要功能模块都作为操作系统内核。大内核结构包括进程管理、存储器管理、设备管理等功能(第四层)和时钟管理、中断处理、原语(第五层)。


大内核优点:性能更高(CPU状态转换次数更少)


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



微内核结构:只将最基本的操作系统功能保留在内核内。包括时钟管理、中断处理和原语(第五层)。


微内核优点:内核功能少,结构清晰,易于维护


微内核缺点:性能低,CPU需要频繁地在内核态与用户态之间切换



补充:为什么大内核结构CPU状态切换次数更少?


如下图,如果一个应用程序需要请求操作系统服务,该服务同时涉及到进程管理、存储器管理以及设备管理,那么在大内核结构下,CPU只需要从用户态切换到内核态就可以使用这些服务,然后再切换回用户态,总共共需要2次切换;而在微内核结构下,每使用一种服务就需要切换两次,总共需要切换6次切换。

e6420ad8c1679b4778b026c2dd0acd9a_ff703b5e0d7740ab850c8a487a58d54e.png



二、分层结构

33d6f02588fec81edc1439a5808919e4_f4b414994112415da8c76637eb388065.png


最底层是硬件,最高层是用户接口。


高层可以调用相邻的用户接口。


分层结构优点:


1.便于调试和验证,自下向上逐层验证


2.易于扩充与维护,各层之间调用接口清晰固定


分层结构缺点:


1.难以合理定义各层之间的边界


2.效率低,仅可调用相邻低层,系统调用执行时间很长


三、模块化结构

2476a0a3e3387db9bbf693462deb459a_4e15f75234c9417c89e9a4616723f0a2.png

将操作系统内核划分为多个模块,各个模块之间相互协作。


操作系统内核=主模块+可加载模块


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


可加载模块:可动态加载新模块到操作系统内核中,无需重新编译整个内核,如设备驱动程序


模块化结构优点:


1.模块间逻辑清晰,易于维护,确定模块间接口后可多模块开发


2.支持动态加载新的内核模块,增强系统的适应性


3.效率高,任意模块都可以调用其他模块


模块化结构缺点:


1.模块之间的接口普定义未必合理实用


2.模块间相互依赖,难以调试和验证


四、外核结构


外核负责为用户进程分配未经抽象的硬件资源,并且负责保证资源使用安全 。



什么是未经抽象的硬件资源?


即一片连续的存储空间,相比于不连续的空间使用效率更高。



外核结构优点:


1.可以直接给用户进程分配不虚拟、不抽象的硬件资源,用户进程更加灵活高效地使用硬件资源


2.减少虚拟硬件资源的映射层,提升效率(映射层:普通操作系统给用户进程分配的都是虚拟的硬件资源,比如虚拟内存,用户进程在访问自己的地址空间时只能提供虚拟地址,要想获得实际的物理地址,操作系统必须去查页表)


外核结构缺点:


1.降低了系统的一致性。有的进程分配了虚拟的地址,有的进程分配了实际的物理地址。


2.操作系统更加复杂

目录
相关文章
|
4月前
|
缓存 Linux Shell
Linux进程解析(冯诺依曼体系结构,操作系统,进程初步解析)
Linux进程解析(冯诺依曼体系结构,操作系统,进程初步解析)
75 1
|
4月前
|
存储 安全 Unix
用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS
用提问的方式来学习:冯·诺伊曼体系结构与操作系统OS
|
4月前
|
虚拟化
操作系统体系结构和内存分层
操作系统体系结构和内存分层
54 0
|
4月前
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
76 0
|
4月前
|
存储 缓存 Linux
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
【Linux】进程概念(冯诺依曼体系结构、操作系统、进程)-- 详解
|
2月前
|
存储 缓存 安全
【Linux】冯诺依曼体系结构与操作系统及其进程
【Linux】冯诺依曼体系结构与操作系统及其进程
141 1
|
3月前
|
存储 缓存 安全
Linux基础——冯诺依曼体系结构与操作系统
Linux基础——冯诺依曼体系结构与操作系统
61 1
Linux基础——冯诺依曼体系结构与操作系统
|
2月前
操作系统的体系结构
操作系统的体系结构
|
4月前
|
监控 安全 Unix
操作系统的体系结构、内核、虚拟机
操作系统的体系结构、内核、虚拟机
80 2
|
4月前
|
存储 Linux Windows
CHS_01.1.4+操作系统体系结构 一
CHS_01.1.4+操作系统体系结构 一