“计算机系统概述”学习提纲
前言
操作系统的知识抽象、晦涩、不易理解并记忆,在此对“计算机系统概述”一章中重点知识总结成提纲。
计算机系统分层(另一种视角)
从上/高到下/低/底层:
- 用户
- 应用程序
- 操作系统
- 硬件
操作系统的特征
- 并发
- 共享(互斥共享;同时访问)
注意:宏观上的“同时”,微观上可能并行或并发。
并发和共享是操作系统两个最基本的特征。
- 虚拟(时分复用技术:虚拟处理器;空分复用技术:虚拟存储器,虚拟外部设备)
- 异步
操作系统的功能
管理计算机系统资源:
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
提供用户与计算机硬件系统间接口:
- 作为接口(命令接口=联机命令接口/交互式命令接口+脱机命令接口/批处理命令接口;程序接口/广义指令/系统调用;图形接口/图形用户界面/GUI)
图形接口是调用系统调用实现的功能,本质还是使用程序接口。
扩充计算机资源:
- 扩充机器(裸机硬件+操作系统等软件->虚拟机)
操作系统的发展历程
从早到晚依次为:
- 手工操作阶段(无操作系统)
- 脱机/批处理阶段(出现操作系统;单道批处理系统+多道程序技术->多道批处理系统)
- 分时操作系统(分时技术)
- 实时操作系统(在某个时间限制内完成某些紧急任务而不需要时间片排队;硬实时系统+软实时系统)
- 网络操作系统
- 分布式操作系统
- 个人计算机操作系统(目前使用最广泛)
其他操作系统类型:嵌入式操作系统、服务器操作系统、智能手机操作系统等。
中央处理器(CPU)的运行模式/工作状态
- 内核程序,运行在内核态(管态,核心态),可执行特权、非特权指令
- 应用程序,运行在用户态(目态),可执行非特权指令
注意:内核态不可执行陷入/访管/Trap指令。
使用程序状态字寄存器中的一位二进制数标识中央处理器(CPU)的运行模式/工作状态。
操作系统内核的内容
两部分:
- 与硬件相关的模块
- 运行频率高的程序
四方面:
- 时钟管理
- 中断机制
注意:中断机制中只有少部分功能属于内核
- 原语:是一类程序
- 系统控制的数据结构和处理(进程、存储器和设备管理)
注意:
不同操作系统内核的内容可能不同。
操作系统=内核部分+非内核部分。
特权指令的内容类型
- 时钟操作
- 中断操作
- 原语操作
- 系统调用操作(广义指令)
用户态->内核态:陷入/访管/Trap指令,不是特权指令。
内核态->用户态:一般是中断返回指令,是特权指令。
或:
- 有关操作I/O设备
- 有关访问程序状态
- 有关存取特殊寄存器
- 其他
中断(广义中断)/中断和异常的分类
- 中断(广义中断)/中断和异常=中断(狭义中断;外中断)+异常/例外/陷入(内中断)
- 外中断(硬件中断)=可屏蔽中断+不可屏蔽中断
- 内中断(不可屏蔽中断)=故障+自陷(软件中断)+终止(硬件中断)
或:
- 外中断=外设请求(如I/O操作完成)+人工干预(如用户强行终止进程)
- 内中断=自愿中断+强迫中断
- 自愿中断,指令中断(如系统调用时使用陷入/访管/Trap指令)
- 强迫中断=硬件故障(如缺页)+软件中断(如整数除以0)
系统调用的分类(按功能)
- 进程控制
- 进程通信
- 内存管理
- 文件管理
- 设备管理
用户态切换为内核态的常见原因/关键词
大部分与中断和异常有关:
- 时钟中断
- I/O处理
- 非法操作码(如整数除以零)
- 地址越界
- 运算溢出
- 虚拟内存系统的缺页处理
- 陷入指令
- 系统调用
操作系统的体系结构/内核架构
- 宏内核/单内核/大内核
- 微内核
- 混合内核(相对于纯粹宏内核、微内核的概念)
基于宏内核的有:Windows,Linux,macOS,Android、iOS等。
基于微内核的有:Fuchsia,鸿蒙OS等。
注意:目前主流的操作系统大多基于混合内核。
基于微内核架构操作系统的组成及功能
操作系统=微内核+若干服务器(进程)
服务器进程、客户(机)进程运行在用户态,通过微内核在内核态提供的消息传递机制实现交互。
微内核的功能
- 与硬件处理紧密相关的部分
- 一些较基本的功能
- 客户(机)和服务器之间的通信
或:
- 进程(线程)管理
- 低级存储器管理
- 中断和陷入处理
服务器(进程)的功能
- 进程(线程)管理
- 存储器管理
- 文件管理
- 设备管理
- …
微内核架构采用“机制+策略分离”原理构造操作系统:
将进程、存储器、文件和设备管理等功能一分为二,属于“机制”的小部分放在微内核,如进程调度机制;属于“策略”的大部分放在服务器(进程),如进程调度策略。
宏内核的优、缺点
优点:高性能。
缺点:代码庞大,结构复杂、混乱,维护困难。
微内核的优、缺点
优点:代码微小,结构清晰,维护简单。
- 扩展性和灵活性
- 可靠性和安全性
- 可移植性
- 分布式计算
缺点:低性能(因为需要频繁在内核态和用户态之间切换)。
虚拟机管理程序的类型
- 第一类虚拟机管理程序。裸金属架构,类比系统软件/操作系统,向上层提供若干虚拟机
注意:
虚拟机(进程)运行在用户态。
虚拟机中的操作系统(进程)认为自身运行在内核态(虚拟内核态),实际运行在用户态。
虚拟机中的用户(进程)运行在用户态。
- 第二类虚拟机管理程序。寄居架构,类比应用软件,如VMware Workstation
操作系统的设计方式
- 分层法
- 模块化
- 内核架构(宏内核,微内核,混合内核)
- 虚拟化技术(两类虚拟机管理程序,虚拟机)
- 分区(分配资源)
- 外核(一种为虚拟机分配资源的程序,运行在内核态)
- …
操作系统的引导过程
- 激活中央处理器(CPU):激活的中央处理器(CPU)读取只读存储器(ROM)中的引导(boot)程序,执行基本输入/输出系统(BIOS)的指令——引导/自举程序
- 硬件自检:有故障中止启动,无故障正常启动
- 加载存储设备(硬盘等)的相关内容:基本输入/输出系统(BIOS)获取启动顺序,基本输入/输出系统(BIOS)根据启动顺序将控制权转移给相关硬盘,中央处理器(CPU)根据启动顺序将硬盘中引导扇区的内容加载到主存储器(MM)中——硬盘/可引导盘
- 加载主引导记录(MBR)
- 加载活动分区:主引导记录(MBR)扫描硬盘分区表,识别并加载活动分区——分区/活动分区
- 加载分区引导记录(PBR)——扇区
- 加载启动管理器(引导操作系统的程序):分区引导记录(PBR)识别并加载启动管理器——根目录、启动管理器(引导操作系统的程序)
- 加载操作系统
硬盘=若干分区。
分区=若干扇区。
扇区=若干目录、文件/程序。
硬盘=引导盘+非引导盘。需要识别并加载可引导盘。
分区=活动分区+非活动分区。需要识别并加载活动分区:通过主引导记录(MBR)中的硬盘分区表。
活动分区的第一个扇区是分区引导记录(PBR)。需要识别并加载第一个扇区
第一个扇区的根目录保存有启动管理器(引导操作系统的程序)。需要识别(并加载)根目录、启动管理器(引导操作系统的程序):通过分区引导记录(PBR)
或按照识别(并加载)的过程:
- 引导/自举程序
- (硬件自检)
- 硬盘/可引导盘
- 分区/活动分区:通过主引导记录(MBR)中的硬盘分区表
- 扇区/第一个扇区/分区引导记录(PBR)
- 根目录、启动管理器(引导操作系统的程序):通过分区引导记录(PBR)
- 操作系统
总结
操作系统的知识抽象、晦涩、不易理解并记忆,在此对“计算机系统概述”一章中重点知识总结成提纲。
参考资料
- 《2023年操作系统考研复习指导》组编:王道论坛
- 哔哩哔哩平台《王道计算机考研 操作系统》视频课
作者的话
- 感谢参考资料的作者/博主
- 作者:夜悊
- 版权所有,转载请注明出处,谢谢~
- 如果文章对你有帮助,请点个赞或加个粉丝吧,你的支持就是作者的动力~
- 文章在描述时有疑惑的地方,请留言,定会一一耐心讨论、解答
- 文章在认识上有错误的地方, 敬请批评指正
- 望读者们都能有所收获