1.1 操作系统的基本概念

操作系统 (Operating System, OS)
控制和管理整个计算机系统的硬件与软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。

操作系统的两个核心作用:

易考点:操作系统是最基本的系统软件,是硬件之上的第一层软件;它提供的是"接口"而非"服务",应用程序通过系统调用获得操作系统提供的服务。

1.2 操作系统的特征

操作系统有四大基本特征,其中并发共享是最基本的,二者互为存在条件。

1. 并发 (Concurrency)

指两个或多个事件在同一时间间隔内发生。多道程序环境下,多个程序宏观上同时运行,微观上交替执行。

并行 vs 并发
并行:多个事件在同一时刻发生(需要多核/多处理机)。
并发:多个事件在同一时间间隔内发生(单核通过分时实现)。
引入进程的目的是使程序能并发执行。

2. 共享 (Sharing)

系统中的资源可供多个并发执行的进程共同使用。分为两种方式:

3. 虚拟 (Virtual)

通过某种技术将一个物理实体变为若干个逻辑上的对应物。用于实现资源复用。

虚拟技术物理实体逻辑对应物实现原理
时分复用一台处理机多台逻辑处理机多道程序分时使用 CPU
空分复用一块物理内存多块虚拟内存虚拟内存技术、分区分配

4. 异步 (Asynchronism)

多道程序环境下,由于资源争夺、进程切换等因素,进程以不可预知的速度推进,即"走走停停"。但只要运行环境相同,OS 必须保证多次执行结果相同(即程序执行的封闭性可再现性)。

关系总结:并发是共享的前提,共享是并发的基础。并发与共享使得程序异步执行,虚拟则是对资源的抽象复用。

1.3 操作系统的发展历程

阶段特征主要问题
手工操作阶段人工操作,独占资源人机矛盾、CPU 等待人工
批处理阶段(单道)自动性、顺序性、单道性CPU 与 I/O 串行,资源利用率低
批处理阶段(多道)多道、宏观并行微观交替无交互能力
分时操作系统同时性、交互性、独立性、及时性不能响应紧急任务
实时操作系统及时性、可靠性
网络/分布式 OS网络通信、资源共享、分布式计算复杂度高
多道程序设计
允许多个程序同时存在于内存中,并允许它们交替使用 CPU。其核心是:当一道程序因 I/O 请求而暂停执行时,CPU 立即转去执行另一道程序。优点是资源利用率高、系统吞吐量大。
分时系统 vs 实时系统:分时系统追求交互性响应时间(秒级);实时系统追求及时性可靠性(毫秒/微秒级)。实时系统又分硬实时(绝对不可超时)和软实时(偶尔超时可容忍)。

1.4 操作系统运行机制

1. 用户态与核心态(管态)

CPU 在执行不同程序时,根据程序对资源和指令的访问权限,运行在两种不同状态:

对比项核心态(管态/内核态)用户态(目态)
执行程序内核程序应用程序
资源访问可访问全部硬件和内存只能访问受限资源
特权指令可执行不可执行(会触发陷阱)
典型指令I/O 指令、置中断、清内存、时钟设置普通运算、访存
特权指令与非特权指令
特权指令:仅在核心态下可执行的指令,如 I/O 指令、置中断屏蔽、内存清零、停机等。
非特权指令:用户态下可执行,如普通运算、访存指令。

2. 用户态与核心态的切换

注意:用户态到核心态的切换是由硬件自动完成的(中断/异常机制),核心态到用户态的切换是由 OS 软件完成。访管指令是用户态下有意请求内核服务的指令,它本身是非特权指令。

3. 系统调用

操作系统为应用程序提供的、内核级别的服务接口。应用程序通过系统调用陷入核心态,获得 OS 提供的服务。

系统调用按功能可分为六类:

类别典型调用说明
设备管理请求/释放设备申请设备、启动 I/O
文件管理打开/关闭/读/写文件操作
进程控制创建/撤销/阻塞/唤醒进程管理
进程通信消息传递/信号量进程间数据交换
内存管理分配/回收内存存储管理
时钟管理获取/设置时间时间相关服务
系统调用执行过程
用户程序执行访管指令(int/trap/syscall)→ 硬件检测到特权指令陷阱 → 保存用户态现场(PC、PSW)→ 切换到核心态 → 跳转到系统调用入口 → 执行内核服务例程 → 恢复现场 → 返回用户态继续执行。

4. 操作系统内核

操作系统内核是计算机配置的底层软件,通常包含以下功能模块:

原语 (Primitive)
处于操作系统最底层、最接近硬件、运行时间短、调用频繁、具有原子性(不可被中断)的程序段。用原语可保证操作不可分割。

5. 中断与异常

中断是操作系统获得 CPU 控制权的核心机制,是并发多道程序设计的基础。

分类来源典型例子同步/异步
内中断(异常/陷阱)CPU 内部执行除零、缺页、地址越界、系统调用 trap同步
外中断(中断)CPU 外部设备时钟中断、I/O 完成中断、键盘异步
重要区分:异常(内中断)由 CPU 执行指令时引起,是同步的;中断(外中断)由外部信号引起,是异步的。系统调用属于自愿性内中断(陷阱 trap)。

1.5 操作系统结构

操作系统内核的结构设计影响系统性能、可靠性与扩展性。主要有以下几种结构:

结构原理优点缺点
模块组合结构(宏内核)将进程管理、内存管理、文件系统等所有功能模块紧耦合在内核态性能高(模块间直接调用)耦合度高,一个模块崩溃导致全系统崩溃
层次结构将 OS 功能分层,每层只依赖下层,层间接口清晰结构清晰,易于调试与维护层间调用开销大,性能受限
微内核结构内核只保留最基本功能(进程调度、IPC、内存映射),其他服务作为用户态进程可靠可扩展(服务崩溃不影响内核)、支持分布式频繁的用户态↔内核态切换开销大
外核结构内核仅提供资源复用机制,由应用库操作系统自行管理资源应用可定制资源管理策略实现复杂,应用间隔离开销大
宏内核 vs 微内核:宏内核(Linux/Windows)将大量服务放入内核态,性能高但庞大易崩溃;微内核(Mach/Minix)仅保留最小内核,服务运行在用户态,可靠性强但 IPC 开销大。408 考点:微内核的基本功能包括进程管理、存储管理、进程通信(IPC)和中断处理。

1.6 系统引导与启动

计算机从上电到 OS 运行,经历一系列引导过程,将 OS 内核从外存载入内存并初始化。

引导过程

引导程序 Bootloader

引导程序位于 MBR 或 EFI 系统分区,负责将 OS 内核从外存载入内存。常见 Bootloader:GRUB(Linux)、Windows Boot Manager、LILO。两阶段引导:第一阶段(MBR,512B)加载第二阶段;第二阶段加载内核并传递启动参数。

BIOS vs UEFI:BIOS 16 位实模式,MBR 分区最大 2TB;UEFI 32/64 位保护模式,支持 GPT 大容量磁盘、安全启动(防止恶意代码)、快速启动。408 关注:MBR 与 GPT、引导过程顺序。

1.7 虚拟机 [22新增]

虚拟机 (Virtual Machine, VM)
通过虚拟化技术在单个物理机上模拟出多台逻辑计算机,每台虚拟机可运行独立的操作系统(Guest OS),共享底层物理硬件资源。

虚拟机监视器 (VMM / Hypervisor)

VMM 是虚拟机技术的核心软件层,负责在物理硬件与 Guest OS 之间进行资源协调与隔离。分为两种类型:

类型说明典型代表特点
Type 1(裸机型/原生)VMM 直接运行在物理硬件之上,不依赖于宿主操作系统VMware ESXi、Xen、KVM、Hyper-V性能高,常用于数据中心
Type 2(宿主型)VMM 运行在宿主操作系统之上,作为宿主 OS 的一个应用程序VMware Workstation、VirtualBox、QEMU(模拟模式)部署方便,适合桌面开发

虚拟化的分类

虚拟机的优势与用途

408 考点:区分 VMM Type 1 vs Type 2;理解虚拟化的三种分类(CPU/内存/I/O);虚拟机与容器的区别——虚拟机有完整 Guest OS(开销大、隔离强),容器(如 Docker)共享宿主机内核(开销小、隔离弱)。