前言

操作系统的知识抽象、晦涩、不易理解并记忆,在此对“计算机系统概述”一章中重点知识总结成提纲。


计算机系统分层(另一种视角)

从上/高到下/低/底层:

  • 用户
  • 应用程序
  • 操作系统
  • 硬件

操作系统的特征

  • 并发
  • 共享(互斥共享;同时访问)

注意:宏观上的“同时”,微观上可能并行或并发。
并发和共享是操作系统两个最基本的特征。

  • 虚拟(时分复用技术:虚拟处理器;空分复用技术:虚拟存储器,虚拟外部设备)
  • 异步

操作系统的功能

管理计算机系统资源:

  • 处理机管理
  • 存储器管理
  • 文件管理
  • 设备管理

提供用户与计算机硬件系统间接口:

  • 作为接口(命令接口=联机命令接口/交互式命令接口+脱机命令接口/批处理命令接口;程序接口/广义指令/系统调用;图形接口/图形用户界面/GUI)

图形接口是调用系统调用实现的功能,本质还是使用程序接口。

扩充计算机资源:

  • 扩充机器(裸机硬件+操作系统等软件->虚拟机)

操作系统的发展历程

从早到晚依次为:

  • 手工操作阶段(无操作系统)
  • 脱机/批处理阶段(出现操作系统;单道批处理系统+多道程序技术->多道批处理系统)
  • 分时操作系统(分时技术)
  • 实时操作系统(在某个时间限制内完成某些紧急任务而不需要时间片排队;硬实时系统+软实时系统)
  • 网络操作系统
  • 分布式操作系统
  • 个人计算机操作系统(目前使用最广泛)

其他操作系统类型:嵌入式操作系统、服务器操作系统、智能手机操作系统等。


中央处理器(CPU)的运行模式/工作状态

  • 内核程序,运行在内核态(管态,核心态),可执行特权、非特权指令
  • 应用程序,运行在用户态(目态),可执行非特权指令

注意:内核态不可执行陷入/访管/Trap指令。
使用程序状态字寄存器中的一位二进制数标识中央处理器(CPU)的运行模式/工作状态。


操作系统内核的内容

两部分:

  • 与硬件相关的模块
  • 运行频率高的程序

四方面:

  • 时钟管理
  • 中断机制

注意:中断机制中只有少部分功能属于内核

  • 原语:是一类程序
  • 系统控制的数据结构和处理(进程、存储器和设备管理)

注意:
不同操作系统内核的内容可能不同。
操作系统=内核部分+非内核部分。


特权指令的内容类型

  • 时钟操作
  • 中断操作
  • 原语操作
  • 系统调用操作(广义指令)

用户态->内核态:陷入/访管/Trap指令,不是特权指令。
内核态->用户态:一般是中断返回指令,是特权指令。

或:

  • 有关操作I/O设备
  • 有关访问程序状态
  • 有关存取特殊寄存器
  • 其他

中断(广义中断)/中断和异常的分类

  • 中断(广义中断)/中断和异常=中断(狭义中断;外中断)+异常/例外/陷入(内中断)
  • 外中断(硬件中断)=可屏蔽中断+不可屏蔽中断
  • 内中断(不可屏蔽中断)=故障+自陷(软件中断)+终止(硬件中断)

或:

  • 外中断=外设请求(如I/O操作完成)+人工干预(如用户强行终止进程)
  • 内中断=自愿中断+强迫中断
  • 自愿中断,指令中断(如系统调用时使用陷入/访管/Trap指令)
  • 强迫中断=硬件故障(如缺页)+软件中断(如整数除以0)

系统调用的分类(按功能)

  • 进程控制
  • 进程通信
  • 内存管理
  • 文件管理
  • 设备管理

用户态切换为内核态的常见原因/关键词

大部分与中断和异常有关:

  • 时钟中断
  • I/O处理
  • 非法操作码(如整数除以零)
  • 地址越界
  • 运算溢出
  • 虚拟内存系统的缺页处理
  • 陷入指令
  • 系统调用

操作系统的体系结构/内核架构

  • 宏内核/单内核/大内核
  • 微内核
  • 混合内核(相对于纯粹宏内核、微内核的概念)

基于宏内核的有:Windows,Linux,macOS,Android、iOS等。
基于微内核的有:Fuchsia,鸿蒙OS等。
注意:目前主流的操作系统大多基于混合内核。


基于微内核架构操作系统的组成及功能

操作系统=微内核+若干服务器(进程)

服务器进程、客户(机)进程运行在用户态,通过微内核在内核态提供的消息传递机制实现交互。

微内核的功能

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

或:

  • 进程(线程)管理
  • 低级存储器管理
  • 中断和陷入处理

服务器(进程)的功能

  • 进程(线程)管理
  • 存储器管理
  • 文件管理
  • 设备管理

微内核架构采用“机制+策略分离”原理构造操作系统:
将进程、存储器、文件和设备管理等功能一分为二,属于“机制”的小部分放在微内核,如进程调度机制;属于“策略”的大部分放在服务器(进程),如进程调度策略。


宏内核的优、缺点

优点:高性能。

缺点:代码庞大,结构复杂、混乱,维护困难。


微内核的优、缺点

优点:代码微小,结构清晰,维护简单。

  • 扩展性和灵活性
  • 可靠性和安全性
  • 可移植性
  • 分布式计算

缺点:低性能(因为需要频繁在内核态和用户态之间切换)。


虚拟机管理程序的类型

  • 第一类虚拟机管理程序。裸金属架构,类比系统软件/操作系统,向上层提供若干虚拟机

注意:
虚拟机(进程)运行在用户态。
虚拟机中的操作系统(进程)认为自身运行在内核态(虚拟内核态),实际运行在用户态。
虚拟机中的用户(进程)运行在用户态。

  • 第二类虚拟机管理程序。寄居架构,类比应用软件,如VMware Workstation

操作系统的设计方式

  • 分层法
  • 模块化
  • 内核架构(宏内核,微内核,混合内核)
  • 虚拟化技术(两类虚拟机管理程序,虚拟机)
  • 分区(分配资源)
  • 外核(一种为虚拟机分配资源的程序,运行在内核态)

操作系统的引导过程

  1. 激活中央处理器(CPU):激活的中央处理器(CPU)读取只读存储器(ROM)中的引导(boot)程序,执行基本输入/输出系统(BIOS)的指令——引导/自举程序
  2. 硬件自检:有故障中止启动,无故障正常启动
  3. 加载存储设备(硬盘等)的相关内容:基本输入/输出系统(BIOS)获取启动顺序,基本输入/输出系统(BIOS)根据启动顺序将控制权转移给相关硬盘,中央处理器(CPU)根据启动顺序将硬盘中引导扇区的内容加载到主存储器(MM)中——硬盘/可引导盘
  4. 加载主引导记录(MBR)
  5. 加载活动分区:主引导记录(MBR)扫描硬盘分区表,识别并加载活动分区——分区/活动分区
  6. 加载分区引导记录(PBR)——扇区
  7. 加载启动管理器(引导操作系统的程序):分区引导记录(PBR)识别并加载启动管理器——根目录、启动管理器(引导操作系统的程序)
  8. 加载操作系统

硬盘=若干分区。
分区=若干扇区。
扇区=若干目录、文件/程序。

硬盘=引导盘+非引导盘。需要识别并加载可引导盘。
分区=活动分区+非活动分区。需要识别并加载活动分区:通过主引导记录(MBR)中的硬盘分区表。
活动分区的第一个扇区是分区引导记录(PBR)。需要识别并加载第一个扇区
第一个扇区的根目录保存有启动管理器(引导操作系统的程序)。需要识别(并加载)根目录、启动管理器(引导操作系统的程序):通过分区引导记录(PBR)

或按照识别(并加载)的过程:

  1. 引导/自举程序
  2. (硬件自检)
  3. 硬盘/可引导盘
  4. 分区/活动分区:通过主引导记录(MBR)中的硬盘分区表
  5. 扇区/第一个扇区/分区引导记录(PBR)
  6. 根目录、启动管理器(引导操作系统的程序):通过分区引导记录(PBR)
  7. 操作系统

总结

操作系统的知识抽象、晦涩、不易理解并记忆,在此对“计算机系统概述”一章中重点知识总结成提纲。


参考资料

  • 《2023年操作系统考研复习指导》组编:王道论坛
  • 哔哩哔哩平台《王道计算机考研 操作系统》视频课

作者的话

  • 感谢参考资料的作者/博主
  • 作者:夜悊
  • 版权所有,转载请注明出处,谢谢~
  • 如果文章对你有帮助,请点个赞或加个粉丝吧,你的支持就是作者的动力~
  • 文章在描述时有疑惑的地方,请留言,定会一一耐心讨论、解答
  • 文章在认识上有错误的地方, 敬请批评指正
  • 望读者们都能有所收获