408 操作系统第一章

目录

一、操作系统基本概念

[1. 定义与定位](#1. 定义与定位)

[2. 四大核心功能](#2. 四大核心功能)

[3. 两类用户接口](#3. 两类用户接口)

[4. 四大基本特征](#4. 四大基本特征)

二、操作系统发展历程

[1. 手工操作与脱机 I/O](#1. 手工操作与脱机 I/O)

[2. 批处理系统](#2. 批处理系统)

[3. 分时操作系统](#3. 分时操作系统)

[4. 实时操作系统](#4. 实时操作系统)

[5. 网络与分布式操作系统](#5. 网络与分布式操作系统)

[6. 微机操作系统分类](#6. 微机操作系统分类)

三、操作系统运行环境(核心考点)

[1. 操作系统内核](#1. 操作系统内核)

[2. 处理机双重模式:用户态与内核态](#2. 处理机双重模式:用户态与内核态)

特权指令与非特权指令

状态切换

[3. 中断与异常](#3. 中断与异常)

定义与分类

[中断处理 vs 子程序调用](#中断处理 vs 子程序调用)

[4. 系统调用](#4. 系统调用)

执行过程(四步)

与普通过程调用的区别

四、操作系统结构

[1. 分层结构](#1. 分层结构)

[2. 模块化结构](#2. 模块化结构)

[3. 宏内核 vs 微内核](#3. 宏内核 vs 微内核)

[4. 外核结构](#4. 外核结构)

五、操作系统引导

六、虚拟机基础

[七、高频错题 & 易混避坑清单](#七、高频错题 & 易混避坑清单)


第一章是操作系统的入门总览,概念细碎、易混淆点多,是 408 选择题的高频出题区。本文完整覆盖 OS 定义功能、发展历程、运行环境、系统结构、引导与虚拟机全章节内容。

一、操作系统基本概念

1. 定义与定位

操作系统(Operating System, OS)是控制和管理计算机系统软硬件资源、合理调度与分配任务,为用户和其他软件提供统一接口与运行环境的最基本的系统软件。 它是硬件与用户之间的桥梁:向下管理硬件资源,确保系统高效安全运行;向上为应用程序提供运行环境。

2. 四大核心功能

操作系统作为计算机系统资源的管理者,核心负责四类资源管理:

  • 处理机管理:本质是 CPU 与进程调度,包括进程控制、同步、通信、调度、死锁处理
  • 存储器管理:内存分配与回收、地址映射、内存保护与扩充、虚实存储管理
  • 文件管理:磁盘空间管理、目录组织、文件读写与访问保护
  • 设备管理:处理 I/O 请求、屏蔽设备差异、缓冲管理、设备分配与驱动、虚拟设备

3. 两类用户接口

操作系统作为用户与硬件的接口,分为两大类:

  • 用户接口:面向普通用户,包括命令行接口(联机交互、批处理作业控制语言)和图形用户界面 GUI,降低使用门槛
  • 程序接口(系统调用) :面向应用程序,是程序请求系统服务、访问系统资源的唯一合法途径

易错点:库函数(如 printf、malloc)是对系统调用的封装,本身并非操作系统接口;纯计算类库函数(如 strlen、sqrt)不涉及系统调用。

4. 四大基本特征

操作系统的四个核心特征贯穿全课程,其中并发与共享是最基本特征,二者互为前提。

  1. 并发(Concurrency)
    • 定义:两个或多个事件在同一时间间隔内发生
    • 易混辨析:并行是两个事件在同一时刻真正同时发生;单 CPU 系统只有并发,多核 / 多 CPU 才能实现并行
    • 多道程序通过调度切换,让 CPU 与 I/O 设备并行工作,提升资源利用率
  2. 共享(Sharing)
    • 互斥共享:临界资源(打印机、变量、表格)同一时间段仅允许一个进程访问
    • 同时共享:宏观上同时访问,微观分时交替(如只读磁盘文件、可重入代码)
  3. 虚拟(Virtual) 通过时分复用(如 CPU 时间片轮转)、空分复用(如虚拟内存),将一个物理实体映射为多个逻辑实体,让用户感觉独占资源。
  4. 异步(Asynchronism) 进程以不可预知的速度断续推进,走走停停;只要程序运行环境正确,结果就具备可再现性。

二、操作系统发展历程

1. 手工操作与脱机 I/O

  • 手工阶段:用户独占整机,CPU 大量时间等待人工操作,资源利用率极低
  • 脱机 I/O:引入外围机完成 I/O 准备,减少 CPU 空闲时间,提升 I/O 效率

2. 批处理系统

  • 单道批处理:作业自动顺序执行,内存始终只有一道程序;解决了人工干预问题,但 CPU 利用率仍低
  • 多道批处理 :内存同时驻留多道程序,某道程序 I/O 阻塞时立即切换另一道运行
    • 特点:多道、宏观并行、微观串行
    • 核心解决问题:处理机调度、内存分配保护、I/O 调度、文件组织与安全
    • 优点:资源利用率高、系统吞吐量大
    • 缺点:无交互能力,响应时间长

3. 分时操作系统

将 CPU 时间划分为很短的时间片,轮流分配给各终端用户使用。

  • 核心特征:多路性、交互性、独立性、及时性
  • 核心目标:快速响应用户,支持多用户同时联机交互
  • 时间片固定时,用户数越多,响应时间越长

4. 实时操作系统

为严格时间限制的关键任务设计,必须在规定时限内完成处理。

  • 分类:硬实时系统(绝对不能超时,如飞控、机床控制)、软实时系统(偶尔超时可容忍,如订票、股票交易)
  • 核心要求:确定性、高可靠性、强实时性

5. 网络与分布式操作系统

  • 网络操作系统:实现多机通信与资源共享,用户需主动操作远程资源
  • 分布式操作系统:多机协同完成同一任务,对用户透明,像单一系统;核心是分布性、并行性、透明性

6. 微机操作系统分类

  • 单用户单任务:MS-DOS
  • 单用户多任务:Windows 桌面版
  • 多用户多任务:UNIX、Linux 服务器版、Windows Server

三、操作系统运行环境(核心考点)

1. 操作系统内核

现代 OS 采用分层架构,与硬件紧密相关、高频执行的核心组件常驻内存,称为内核。

  • 支撑功能:时钟管理、中断机制、原语(原子操作,关中断保证执行不被打断)
  • 资源管理功能:进程管理、存储器管理、设备管理

2. 处理机双重模式:用户态与内核态

为保护系统安全,CPU 设置两种运行模式,通过硬件标志位区分:

  • 内核态(管态):可执行全部指令,访问全部地址空间;执行操作系统内核代码
  • 用户态(目态):只能执行非特权指令,访问受限地址空间;执行用户程序代码
特权指令与非特权指令
  • 特权指令(必须内核态执行):直接操作硬件、修改系统全局状态的指令,如 I/O 指令、开关中断、修改 PSW、设置中断向量表、置时钟、停机指令
  • 非特权指令(用户态可执行):普通运算、数据读写、跳转等不影响系统安全的指令

易错点:访管指令(Trap / 陷入指令)在用户态执行,其作用是主动触发异常,让 CPU 自动切换到内核态,是系统调用的入口。

状态切换
  • 用户态 → 内核态:中断、异常、访管指令触发;由硬件自动完成模式切换,并非由软件指令直接修改状态字
  • 内核态 → 用户态:通过中断返回指令(特权指令)完成

3. 中断与异常

用户程序进入内核的唯一合法途径是中断或异常,是现代操作系统并发与调度的基础。

定义与分类
  • 外中断(中断) :来自 CPU 外部的硬件事件,如 I/O 完成、时钟中断
    • 可屏蔽中断(INTR):如普通 I/O 中断,可通过中断屏蔽字忽略
    • 不可屏蔽中断(NMI):如电源掉电,必须立即处理
  • 内中断(异常) :来自 CPU 执行指令内部的事件
    • 故障(Fault):可恢复,如缺页、除零;处理完返回当前指令重新执行
    • 自陷(Trap):主动触发,如系统调用的访管指令
    • 终止(Abort):严重错误,程序无法继续运行,如硬件故障
中断处理 vs 子程序调用
对比维度 中断处理 子程序调用
触发时机 随机、异步 事先安排、同步
主体关系 中断程序与被中断程序是主从关系 同一程序内的调用
实现方式 需要硬件电路支持 纯软件实现
入口地址 由中断向量表提供 由 CALL 指令指定
优先级 多中断需优先级裁决 无优先级

4. 系统调用

系统调用是操作系统提供给应用程序的接口,是请求内核服务的唯一合法方式,本质是特殊的过程调用。

执行过程(四步)
  1. 传递系统调用号与参数,通过寄存器或栈传入
  2. 执行陷入(Trap)指令,CPU 由用户态切换至内核态,保存现场
  3. 内核根据系统调用号查找中断向量表,定位并执行对应服务例程
  4. 恢复现场,返回用户态,继续执行用户程序
与普通过程调用的区别
  • 运行状态不同:普通调用全程用户态;系统调用会切换内核态
  • 状态切换:系统调用需陷入内核,由硬件完成模式切换
  • 返回机制:普通调用直接返回;系统调用可能引发调度,不一定立即返回
  • 嵌套深度:系统调用嵌套深度受内核栈限制

四、操作系统结构

1. 分层结构

将操作系统划分为若干层,底层为硬件、顶层为用户接口,仅上层调用下层,单向依赖。

  • 优点:便于调试与验证,易于扩展维护
  • 缺点:合理分层困难,跨层调用开销大,运行效率低

2. 模块化结构

将 OS 拆分为若干独立模块,定义模块间接口,通过接口通信。

  • 评价标准:高内聚、低耦合
  • 优点:灵活性强、便于扩展开发
  • 缺点:接口设计难度高,模块间依赖复杂,可靠性弱于分层结构

3. 宏内核 vs 微内核

维度 宏内核(单内核) 微内核
核心设计 进程、内存、文件、驱动等全部功能在内核态运行 仅保留最基础功能在内核,其余服务移至用户态
通信方式 直接函数调用 靠进程间通信(IPC)传递消息
性能 高,调用开销小 较低,IPC 与上下文切换开销大
可靠性 较低,单个模块崩溃可能导致全系统宕机 高,单个服务崩溃不影响内核
扩展性 差,修改需重新编译内核 好,新增服务无需改动内核
代表系统 Linux、早期 Windows QNX、Fuchsia、HarmonyOS NEXT

微内核核心保留三类机制:与硬件紧密相关的底层处理、基本资源管理、客户与服务器的通信支持。

4. 外核结构

内核仅负责资源隔离与分配,直接向用户层暴露硬件资源;资源管理由用户态库完成,减少抽象开销,性能更高。

五、操作系统引导

操作系统引导是开机后加载内核的完整流程: 加电 → BIOS/UEFI自检(POST) → 读取硬盘MBR主引导记录 → 执行Bootloader(如GRUB) → 加载操作系统内核到内存 → 内核初始化、创建核心进程 → 启动shell/图形界面

  • BIOS 固化在 ROM 中,是开机执行的第一段代码
  • MBR 位于硬盘第一个扇区,包含引导代码与分区表
  • Bootloader 负责将内核从磁盘读入内存并启动

六、虚拟机基础

虚拟机监控器(VMM/Hypervisor)将物理硬件虚拟化为多套逻辑硬件,每台虚拟机可独立运行完整操作系统。

  • 第一类虚拟机(裸金属型):VMM 直接运行在硬件之上,性能高,用于服务器(如 VMware ESXi、Xen)
  • 第二类虚拟机(宿主型):VMM 运行在普通宿主操作系统之上,使用便捷(如 VMware Workstation、VirtualBox)
  • 核心优势:资源隔离、多系统共存、快照迁移、提升硬件利用率

七、高频错题 & 易混避坑清单

以下为刷题中高频出错的核心结论,是第一章选择题的主要丢分点:

  1. 库函数 ≠ 系统调用:库函数运行在用户态,部分库函数封装了系统调用;纯计算类库函数不涉及内核,不能等同于操作系统接口。
  2. 并发 ≠ 并行:并发是同一时间间隔交替运行,并行是同一时刻同时运行;单 CPU 只有并发没有并行。
  3. 访管指令执行状态:访管指令本身在用户态执行,它的作用是触发异常、进入内核态;不能在内核态执行。
  4. 用户态→内核态的切换由硬件完成:不是由访管指令直接修改 PSW,而是 CPU 检测到陷入指令后自动完成模式切换。
  5. 分时系统的核心目标是快速响应用户,而非提高系统吞吐率;吞吐率是批处理系统的追求。
  6. 多道程序设计的技术前提是中断机制:没有中断就无法实现 I/O 阻塞时的进程切换。
  7. 中断向量表采用数组结构,通过中断号直接索引,访问速度最快。
  8. 微内核的优势是可靠、安全、易扩展,劣势是性能开销大;不能认为微内核性能一定优于宏内核。
  9. 操作系统不管理源程序的编译逻辑:编译器是上层应用软件,不属于 OS 的管理范畴。
  10. 进程数越多,CPU 利用率并非越高:进程过多会导致频繁切换,上下文开销增大,利用率反而下降。
  11. 缺页、除零属于异常(内中断),不属于外中断;时钟中断、I/O 完成中断属于外中断。
  12. 原语具有原子性,执行期间不允许被中断,通过关中断实现。
相关推荐
这个DBA有点耶2 小时前
连拿六年第一后宣布出海:国产数据库凭什么敢撕掉“平替”的标签?
数据库·人工智能·架构
云飞云共享云桌面2 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造
云和恩墨2 小时前
数据库监控简史:从会回答到能交付——AI-DBA如何成为真正的数字同事
数据库·人工智能·dba
这个DBA有点耶3 小时前
为什么删掉索引后,查询瞬间变快了?探讨MySQL的随机I/O与顺序I/O博弈
数据库·mysql·代码规范
Sakura_j_h_3 小时前
GitHub Actions 打包 Windows exe:中文编码与产物上传
windows·ci/cd·打包发布·github·pyinstaller·github actions
kingx34 小时前
BugKu 渗透测试 4 实战:文件上传打点,5 Flag 全通
数据库·渗透测试·web·内网渗透
我命由我123454 小时前
Python 实用操作 - 文件操作(打开与关闭文件、读取文件、文件写入)
java·开发语言·前端·javascript·数据库·python·java-ee
墨理学AI4 小时前
虚拟机导致的服务器交换内容占用过大(服务器卡顿)问题 快速解决
运维·服务器
程序猿老A4 小时前
轻量应用服务器怎么搭建个人网站?
服务器