642 lines
34 KiB
Markdown
642 lines
34 KiB
Markdown
# 第一章 操作系统概述
|
||
|
||
## 一、知识讲解
|
||
|
||
### 1.1 操作系统的概念
|
||
|
||
#### 1.1.1 操作系统的地位
|
||
|
||
**操作系统在计算机系统中处于"中间层"位置**:位于**硬件抽象层(HAL, Hardware Abstraction Layer)之上**,**所有其它软件层之下**。
|
||
|
||
可以从两个视图理解:
|
||
|
||
- **运行视图**:硬件之上有系统库(lib)和操作系统,应用程序可以调用 lib 和操作系统,从而执行硬件指令。系统库是对 OS 部分功能的轻量封装(如 C 标准库对系统调用的包装)。
|
||
- **体系结构视图**:自底向上为 **硬件 → HAL → 操作系统 → 系统服务/系统库 → 应用程序**。操作系统起到承上启下的作用:向下管理硬件,向上提供服务。
|
||
|
||
> 易考点:操作系统的"位置"是**系统软件**,是离硬件最近的系统软件,但不是硬件本身。
|
||
|
||
#### 1.1.2 操作系统的作用
|
||
|
||
操作系统的两大基本作用:
|
||
|
||
1. **管理系统中各种软硬件资源**
|
||
- **CPU 管理**:一个 CPU 多个可运行程序——通过进程/线程调度实现 CPU 的多路复用。
|
||
- **内存管理**:使各进程空间相对独立,同时支持共享(如共享库、共享内存区)。
|
||
- **设备管理**:设备的分配、驱动、I/O 控制。
|
||
- **文件管理**:实现文件系统,支持文件操作(创建、读、写、删除、权限控制等)。
|
||
2. **为用户(应用程序)提供良好的服务(界面)**
|
||
- **API(系统调用)**:如 `open/read/write/fork/exec`。
|
||
- **GUI(图形用户界面)**、**行式命令**(`ls, cd, cat, vi, rm, mount` 等)。
|
||
- **JCL(作业控制语言)**:用于批处理系统。
|
||
|
||
#### 1.1.3 操作系统的定义
|
||
|
||
**操作系统**是位于硬件层(HAL)之上、所有其它软件层之下的一个**系统软件**,是**管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合**。
|
||
|
||
历史曾用名:**Operating Supervisor**、**Monitoring Program**(监控程序、监督程序)。
|
||
|
||
> 易错点:操作系统是"程序集合"(大量代码),不是单个程序。它不是硬件,不是应用软件,是系统软件。
|
||
|
||
---
|
||
|
||
### 1.2 操作系统的历史
|
||
|
||
#### 1.2.1 操作系统的产生
|
||
|
||
**(1) 手工操作阶段(20世纪40年代,无操作系统)**
|
||
|
||
作业处理步骤:
|
||
1. 程序、数据 → 穿孔机 → 纸带;
|
||
2. 穿孔纸带 → 光电机 → 机器内存;
|
||
3. 控制台开关启动第一条指令;
|
||
4. 运行结果在电传打字机上输出。
|
||
|
||
**缺点**:① 资源独占;② 手工费时。
|
||
|
||
**经典例子**:
|
||
- 一个作业在 1000 次/秒的机器上运行需要 1 小时,手动操作时间 4 分钟,手动与运行时间比为 **1:15**。
|
||
- 若计算机速度提高到 60 万次/秒,同样程序运行只需 6 秒,而手动操作时间不变,比例变为 **40:1**。
|
||
- **结论**:随着 CPU 速度提升,手工操作成为瓶颈,必须引入操作系统来接管。
|
||
|
||
**(2) 批处理阶段(20世纪50年代,操作系统雏形)**
|
||
|
||
- **联机批处理**:
|
||
- 优点:摆脱了人工干预(作业过渡无人工干预)。
|
||
- 缺点:I/O 操作慢,主机等待时间长(CPU 与 I/O 串行)。
|
||
- **脱机批处理**:
|
||
- 优点:减少主机等待 I/O 操作时间(用卫星机做 I/O,主机只做计算)。
|
||
- 缺点:① 人工搬动磁带;② 需要额外的卫星机。
|
||
|
||
**(3) 执行系统阶段(20世纪60年代初期)**
|
||
|
||
- **通道(Channel)**:专门用于控制 I/O 设备的处理机(I/O 处理机)。
|
||
- 有自己的指令系统和运控部件;
|
||
- 与主机共享内存;
|
||
- 接受主 CPU 委托执行通道程序,完成 I/O;
|
||
- 通道 I/O 操作与主 CPU 并行;
|
||
- 通道完成 I/O 时向主机发中断请求。
|
||
- **假脱机 SPOOLing(Simultaneous Peripheral Operation On-Line)**:既非联机,也非脱机。
|
||
- **意义**:通道和中断技术的出现,使操作系统进入初级阶段。
|
||
|
||
#### 1.2.2 操作系统的完善
|
||
|
||
| 类型 | 出现年代 | 关键思想 | 主要问题 |
|
||
|------|---------|---------|---------|
|
||
| **多道批处理系统** | 60 年代初期 | 主机中同时放多个作业 | 互斥、同步、通讯、死锁、饥饿、饿死 |
|
||
| **分时系统** | 60 年代初、中期 | 一台主机,多个终端,交互式 | 响应时间 |
|
||
| **实时系统** | 60 年代中期 | 满足时间约束条件 | 可靠性 |
|
||
| **通用操作系统** | 60 年代后期 | 三类系统结合 | 复杂度 |
|
||
|
||
> **关键判断**:多道批处理系统的出现,**标志着操作系统走向成熟**——从单道到多道,是**质变而非量变**,由此带来一系列复杂问题(互斥、同步、通讯、死锁、饥饿、饿死)。
|
||
|
||
#### 1.2.3 操作系统的发展
|
||
|
||
- 计算机体系结构由集中向分散 → 出现**网络操作系统**、**分布式操作系统**。
|
||
- 家用和商用微型计算机普及 → 出现**单用户多任务操作系统**。
|
||
- 大型计算任务需要更强算力 → 出现**多处理机(并行)操作系统**。
|
||
- 处理器芯片和存储介质在控制领域应用 → 出现**微内核**体系结构,衍生**嵌入式**和**智能卡操作系统**。
|
||
- 后摩尔时代 → **多核技术**兴起,新一代 OS 面临:多核的并发控制、多核下的进程调度。
|
||
|
||
---
|
||
|
||
### 1.3 操作系统的特性(4 大特性,常考)
|
||
|
||
#### (1) 并发性(Concurrency)
|
||
|
||
- **多个程序在宏观上同时向前推进**。
|
||
- 区分:
|
||
- **并发(Concurrent)**:宏观同时,微观交替(单核下分时交替执行)。
|
||
- **并行(Parallel)**:宏观微观都同时(多核/多 CPU 下物理同时执行)。
|
||
- 并发情形:用户程序与用户程序并发;用户程序与 OS 并发;OS 与 OS 并发。
|
||
- 并发是 OS 最重要的特性,其它三个特性都源自并发。
|
||
|
||
#### (2) 共享性(Sharing)
|
||
|
||
- **多个程序共用系统中的各种软硬件资源**。
|
||
- 共享必须在 OS 的协调和控制下进行。
|
||
- 共享方式:
|
||
- **互斥共享**(如打印机):一段时间内只允许一个进程访问。
|
||
- **同时访问**(如磁盘、代码段):宏观上多个进程可同时访问。
|
||
|
||
#### (3) 异步性(Asynchronism,随机性)
|
||
|
||
- 多个程序以**不可预知的速度**向前推进。
|
||
- 原因:并发执行 + 系统中断 + 资源争用 → 程序走走停停,运行时长不可预知。
|
||
- OS 必须保证:即使在异步情况下,只要环境相同,重复运行应得到相同结果(结果可重现性)。
|
||
|
||
#### (4) 虚拟性(Virtual)
|
||
|
||
- 把一个**实的资源**改造为**多个虚的资源**。
|
||
- 典型例子:
|
||
- 一个实的 CPU → 多个虚的 CPU(分时复用)。
|
||
- 内存 + 外存 → 虚存。
|
||
- 独占设备 + 共享设备 → 虚拟设备(数量多、速度快)。
|
||
|
||
> 记忆口诀:**并发是基础,共享是表现,异步是结果,虚拟是手段**。
|
||
|
||
---
|
||
|
||
### 1.4 操作系统的类型
|
||
|
||
#### 1.4.1 多道批处理系统(Off-line batch)
|
||
|
||
- **作业(Job)** = 程序 + 数据 + 说明书(用 JCL 编写)。
|
||
- **结果** = 程序运行结果 + 记帐信息。
|
||
- **输入井 / 输出井**:磁带或磁盘上的缓冲区域。
|
||
- **输入井作用**:缓冲(速度匹配)+ 作业调度(Job Scheduling)。
|
||
- **输出井作用**:缓冲(速度匹配)。
|
||
- 主机中作业合理搭配:
|
||
- 目标 1:提高资源利用率(如**计算型 + I/O 型**搭配)。
|
||
- 目标 2:提高吞吐量(Throughput)。
|
||
- 特点:**多道**(同时容纳多个作业)+ **成批**(分批进入系统)。
|
||
|
||
#### 1.4.2 分时操作系统(Time-Sharing,On-line)
|
||
|
||
- 一台主机连接多个终端。
|
||
- 界面 1:交互式命令语言(如 shell、command)。
|
||
- 界面 2:图形用户界面(GUI)。
|
||
- **特点**:
|
||
- **多路性**:一个主机与多个终端相连。
|
||
- **交互性**:以对话方式为用户服务。
|
||
- **独占性**:每个终端用户仿佛拥有一台虚拟机。
|
||
- 典型系统:CTSS(MIT)、Multics(MIT)、UNIX。
|
||
|
||
#### 1.4.3 实时操作系统(Real-Time OS)
|
||
|
||
应用领域:
|
||
- **实时控制**:工业控制、军事控制、医疗控制……
|
||
- **实时信息处理**:航班订票、联机情报检索……
|
||
|
||
**关键指标**:`t2 - t1`(响应时间,response time)。
|
||
|
||
**特点**:
|
||
- **响应及时(Prompt Response)**:必须在规定时限内完成。
|
||
- **可靠性高(High Reliability)**:不容许出错,常用于关键任务。
|
||
|
||
#### 1.4.4 通用操作系统(Multi-Purpose OS)
|
||
|
||
- 同时具有分时、实时、批处理功能。
|
||
- 目标:提高处理能力,扩展应用领域。
|
||
- 常见模式:
|
||
- **分时(前台)+ 批处理(后台)**(如 DEC 的 VMS、HP 的 GCOS-8)。
|
||
- **实时(前台)+ 批处理(后台)**。
|
||
|
||
#### 1.4.5 单用户操作系统
|
||
|
||
- 同一时刻仅有一个用户使用的系统。
|
||
- 应用:台式机、笔记本……
|
||
- 特点:**单用户、多进程、多线程**。
|
||
- 不同的程序 → 不同的进程。
|
||
- 相同的程序 → 不同的线程。
|
||
|
||
#### 1.4.6 网络操作系统(Network OS, NOS)
|
||
|
||
- **建立在宿主操作系统之上**的、提供网络通讯、网络资源共享、网络服务的**软件包**。
|
||
- 目标:相互通讯、资源共享、提供网络服务。
|
||
- 例子:database server、FTP server、e-mail server、telnet server。
|
||
- 缺点:**No Transparent View**(用户必须显式知道资源在哪里)。
|
||
|
||
#### 1.4.7 分布式操作系统(Distributed OS, DOS)
|
||
|
||
| 耦合方式 | 来源 | 是否公共内存 | 是否公共时钟 | 典型系统 |
|
||
|---------|------|-------------|------------|---------|
|
||
| **紧耦合**(Tightly Coupled) | 多机系统(多 CPU) | 有 | 有 | 多处理机 OS |
|
||
| **松散耦合**(Loosely Coupled) | 计算机网络(多 Host) | 无 | 无 | 分布式 OS |
|
||
|
||
**分布式 OS 特征**:
|
||
- 统一的操作系统。
|
||
- 资源的进一步共享(内存、CPU)。
|
||
- 可靠性高。
|
||
- 透明性(用户像使用单机一样使用整个系统)。
|
||
|
||
**目标**:进一步共享资源、负载均衡、计算加速。
|
||
**途径**:迁移(Migration)——作业迁移、进程迁移(线程一般随同进程迁移)。
|
||
**例子**:Solaris MC。
|
||
|
||
#### 1.4.8 多处理机操作系统
|
||
|
||
- 多处理机系统:**具有公共内存的多 CPU 系统**。
|
||
- **对称多处理机系统(SMP, Symmetric Multi-Processor)**:没有主从关系的多处理机系统。
|
||
- 多处理机 OS:有效管理和使用多个 CPU 的 OS。
|
||
- 复杂性:多个**主动体**(CPUs)相互协作。
|
||
- 例子:UNIX、Linux、Windows。
|
||
|
||
#### 1.4.9 嵌入式操作系统
|
||
|
||
- 嵌入在**掌上电脑、通讯设备、车载系统、信息家电**等非计算机类设施上的 OS。
|
||
- **特点**:**微内核结构(Micro-kernel)**,许多 OS 功能(文件系统、设备驱动)以**应用程序模式**运行。
|
||
- 优缺点:核心小(基本内存管理、CPU 管理、通讯程序)、适应范围广、可靠性高,但**效率低**。
|
||
- 例子:Win CE .NET(微软"维纳斯")、PalmOS、HOPEN(中科院钟锡昌"女娲")。
|
||
|
||
#### 1.4.10 多媒体操作系统
|
||
|
||
- **定义(百度百科)**:具有一般 OS 功能,还具有多媒体底层扩充模块,支持多媒体信息的采集、编辑、播放和传输。
|
||
- **注意**:多媒体 OS **不是一种独立的 OS 类型**,是现代 OS 的一种**特性**。
|
||
|
||
#### 1.4.11 智能卡操作系统
|
||
|
||
- 智能卡:含 CPU 芯片 + ROM。
|
||
- 面向 Java 的智能卡:JVM 解释程序,下载 Java applet 并执行。
|
||
- SC-OS:支持多个 applet 并发执行,进行必要的资源管理。
|
||
|
||
---
|
||
|
||
### 1.5 操作系统的运行环境
|
||
|
||
#### 1.5.1 定时装置
|
||
|
||
- **绝对时钟**:记载实际时间,**不发中断**。系统操作员可修改,供一般用户使用。
|
||
- **间隔时钟**:定时发生中断,一般间隔单位为"毫秒"。
|
||
- **关键作用**:间隔时钟是**实现多道程序的基础**——保证操作系统获得控制权。其它中断何时发生没有保障,但间隔时钟中断是确定性的。
|
||
|
||
#### 1.5.2 系统栈(System Stack)
|
||
|
||
- **作用**:保存中断现场、函数调用返回点、参数、局部变量、返回值。
|
||
- **位置**:操作系统区域。
|
||
- 例子:UNIX 中的 **PPDA**(Per-Process Data Area,含 user 区与系统栈)。
|
||
- 与堆(heap)对比:
|
||
- **栈**:自动分配/释放,存放局部变量、函数参数、返回地址,LIFO。
|
||
- **堆**:手动分配/释放,存放动态对象,需程序员或 GC 回收。
|
||
|
||
#### 1.5.3 特权指令与非特权指令
|
||
|
||
| 类型 | 执行权限 | 影响 | 例子 |
|
||
|------|---------|------|------|
|
||
| **特权指令**(Privileged) | 只有**管态**才能执行 | 影响系统状态 | 关中断、置程序状态字、停机、I/O |
|
||
| **非特权指令**(Non-Privileged) | 所有程序可用 | 不影响系统状态 | 取数、四则运算 |
|
||
|
||
> 易错点:用户程序若在用户态执行了特权指令,会触发**陷入(trap)**,OS 视作非法指令并杀死进程。
|
||
|
||
#### 1.5.4 处理机状态及状态转换
|
||
|
||
- **系统态**(System Mode,又称**管态、核态、核心态**)。
|
||
- **用户态**(User Mode,又称**目态、常态**)。
|
||
- **状态转换**:
|
||
- **管态 → 目态**:置程序状态字(PSW),由特权指令完成(OS 主动放弃特权)。
|
||
- **目态 → 管态**:中断、Trap(系统调用、异常、陷入)。
|
||
- **Dual-Mode Operation**:现代 OS 都必须支持的两种模式。
|
||
- 例子:
|
||
- **IBM 360/370 PSW 状态位(第 15 位)**:0=系统态,1=用户态。
|
||
- **Modern PC** 支持 4 个特权级 R0(最强)、R1、R2、R3(最弱),但目前仅使用 R0 和 R3。
|
||
|
||
#### 1.5.5 地址映射机构
|
||
|
||
- **逻辑地址(虚地址)** → **物理地址(实地址)**。
|
||
- 逻辑地址:程序中产生的地址(程序员视角)。
|
||
- 物理地址:存储器实际地址(硬件视角)。
|
||
- **软件映射可行但效率低**,所以常用硬件辅助(MMU)完成。
|
||
|
||
#### 1.5.6 存储保护设施
|
||
|
||
- **目的**:
|
||
- 防止应用程序侵犯 OS 空间;
|
||
- 防止应用程序侵犯其它用户空间。
|
||
- 实现方式:
|
||
- **越界检查**:地址是否在合法范围内。
|
||
- **越权检查**(对共享区域):是否有权访问。
|
||
|
||
#### 1.5.7 中断装置
|
||
|
||
- **发现并响应中断的硬件机构**。
|
||
- 处理流程:
|
||
1. 当前(PSW,PC)→ 系统栈(保存现场);
|
||
2. 中断向量(PSW,PC)→ 寄存器(装入新值)。
|
||
- 中断是 OS 得以运行的**唯一主动方式**(无中断则 OS 永远得不到 CPU)。
|
||
|
||
#### 1.5.8 通道与 DMA
|
||
|
||
| 特性 | 通道(Channel) | DMA |
|
||
|------|----------------|------|
|
||
| 是否独立指令系统 | 有(通道指令系统:读/写/控制/转移) | **没有** |
|
||
| 传输单位 | 较复杂,灵活 | **简单块传输** |
|
||
| 工作方式 | 可执行通道程序 | 仅在两块内存间搬数据 |
|
||
| 部件 | 有运控部件、CAW/CCW/CSW/CDW | 简单控制器 |
|
||
|
||
- 通道的 4 类字:
|
||
- **CAW**:通道地址字(Channel Address Word)。
|
||
- **CCW**:通道命令字(Channel Command Word)。
|
||
- **CSW**:通道状态字(Channel Status Word)。
|
||
- **CDW**:通道数据字(Channel Data Word)。
|
||
|
||
#### 1.5.9 I/O 保护
|
||
|
||
- **定义所有 I/O 指令为特权指令**。
|
||
- 目的:方便使用、防止发生冲突(多进程同时操作同一设备)。
|
||
- 用户进程必须通过**系统调用**间接使用 I/O 设备。
|
||
|
||
---
|
||
|
||
### 1.6 操作系统的界面形式
|
||
|
||
#### (1) 交互终端命令(Command Language)
|
||
|
||
例:UNIX Shell,`$ 命令名 -选项 参数`。
|
||
|
||
#### (2) 图形界面(GUI, Graphic User Interface)
|
||
|
||
如 Windows、macOS 的桌面系统。
|
||
|
||
#### (3) Shell Interface 优点
|
||
|
||
- 缩小核心(命令解释器在用户态,不进内核)。
|
||
- 不同用户可以选择不同界面(多种 shell 共存)。
|
||
- `cc`(编译器)与 shell 都属于**目态进程**,二者具有**父子关系**(shell fork+exec 出 cc)。
|
||
|
||
#### (4) 作业控制语言(JCL, Job Control Language)
|
||
|
||
| 语句类型 | 作用 | 备注 |
|
||
|---------|------|------|
|
||
| **作业标识语句** | 用户标识、作业标识、帐号 | — |
|
||
| **作业步语句** | 编译、连接装配、执行 | 一般对应**子进程** |
|
||
| **资源描述语句** | 内存需求、计算时间、其它资源 | — |
|
||
| **Goto 语句** | **正向转移** | **作业控制无循环** |
|
||
|
||
#### (5) 系统调用命令(OS API)
|
||
|
||
- 高级语言形式:`fd = open(file_name, mode)`
|
||
- 汇编语言形式:准备参数 → `trap n` → 取返回值
|
||
- **关键**:用户态 → 管态的转换(通过 trap/syscall 指令)。
|
||
|
||
---
|
||
|
||
### 1.7 操作系统的运行机理
|
||
|
||
核心循环:
|
||
|
||
```
|
||
程序 1 运行 → 发生中断 → 保存程序 1 现场 → 选择程序 P2 →
|
||
恢复程序 2 现场 → 程序 2 运行 → ...(循环)
|
||
```
|
||
|
||
**本质**:**中断是操作系统运行的驱动力**。没有中断,OS 永远得不到 CPU。
|
||
|
||
**PSW**(Program Status Word,程序状态字):置 PSW 即可完成管态/目态的切换。
|
||
|
||
---
|
||
|
||
### 1.8 研究操作系统的几种观点(重点简答)
|
||
|
||
| 观点 | 核心思想 | 关键词 |
|
||
|------|---------|--------|
|
||
| **进程观点** | OS 支持进程、支持进程间协同 | 互斥、同步、通讯 |
|
||
| **资源管理观点** | OS 是资源管理者 | 方便使用、防止冲突 |
|
||
| **虚拟机观点** | OS 是对硬件的第一次扩充 | 虚资源(多虚 CPU、虚存、虚设备) |
|
||
|
||
- 单个实的 CPU → 多个虚拟 CPU。
|
||
- 内存 + 外存 → 虚拟存储。
|
||
- 独占设备 + 共享 → 虚拟设备。
|
||
|
||
---
|
||
|
||
### 1.9 系统举例(Linux / Windows)
|
||
|
||
#### 1.9.1 Linux 系统
|
||
|
||
- **历史**:
|
||
- 1991, **0.01 版**:运行于 Intel 80386,仅支持 Minix 文件系统,有限设备驱动,无网络支持。
|
||
- 1994, **1.0 版**:支持 UNIX 标准 TCP/IP、BSD 兼容 socket、SCSI 高效访问。
|
||
- 1995, **1.2 版**:最后一个仅在 PC 平台运行的 Linux。
|
||
- 1996, **2.0 版**:运行于多种平台,支持 SMP、核心级线程、模块动态连接(Sun Sparc、PowerMac 等)。
|
||
- **特点**:
|
||
- 源代码开放、免费;
|
||
- 系统稳定可靠;
|
||
- 速度快、效率高;
|
||
- 内核模块化好,允许第三方配置文件系统及设备管理程序;
|
||
- 功能完善;
|
||
- 具有网络支持优势;
|
||
- 标准化好。
|
||
|
||
#### 1.9.2 Windows 10 系统
|
||
|
||
- 基于 **NT 技术**构建的面向个人计算机平台的 OS,本质上属于**单用户系统**,但可以组网并提供网络服务。
|
||
- **特点**:
|
||
- 具有多任务(包括多进程、多线程)管理功能,支持对称多处理;
|
||
- 支持客户/服务器计算模式;
|
||
- 在设计上大量采用了面向对象思想,提供友好的图形操作界面;
|
||
- **不是"纯"的微内核结构**,许多系统服务功能已被放入核心。
|
||
|
||
---
|
||
|
||
## 二、考点总结
|
||
|
||
### 考点 1:操作系统的定义与地位
|
||
|
||
- **内容**:操作系统是位于硬件层(HAL)之上、所有其它软件层之下的系统软件,是管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **填空**:操作系统是位于 ______ 之上、所有其它软件层之下的一个系统软件。
|
||
- 答:硬件抽象层(HAL)。
|
||
2. **简答**:请用一句话说明操作系统的定义。
|
||
- 答:操作系统是位于 HAL 之上、所有其它软件层之下的系统软件,是管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合。
|
||
|
||
### 考点 2:操作系统的四大特性
|
||
|
||
- **内容**:并发性、共享性、异步性(随机性)、虚拟性。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **选择**:下列不属于操作系统基本特性的是()。
|
||
A. 并发性 B. 共享性 C. 实时性 D. 异步性
|
||
- 答:C(实时性是 OS 类型而非特性)。
|
||
2. **简答**:简述操作系统的四大基本特性及其相互关系。
|
||
- 答:① 并发性(多个程序宏观同时推进);② 共享性(多个程序共用软硬件资源);③ 异步性(程序以不可预知速度推进);④ 虚拟性(把实资源改造为多个虚资源)。并发是基础,共享是表现,异步是结果,虚拟是手段。
|
||
3. **填空**:操作系统四大特性中,______ 是基础,其它特性由其衍生。
|
||
- 答:并发性。
|
||
|
||
### 考点 3:并发与并行的区别
|
||
|
||
- **内容**:并发是宏观同时、微观交替(单核);并行是宏观微观都同时(多核/多 CPU)。
|
||
- **考查方式**:选择、填空。
|
||
- **可能的题目**:
|
||
1. **选择**:在单核 CPU 系统中,多个程序的执行体现了()。
|
||
A. 并行性 B. 并发性 C. 同步性 D. 共享性
|
||
- 答:B。
|
||
2. **填空**:多核 CPU 上两个程序同时运行称为 ______;单核 CPU 上两个程序交替运行称为 ______。
|
||
- 答:并行;并发。
|
||
|
||
### 考点 4:操作系统发展历史中的关键阶段
|
||
|
||
- **内容**:手工操作 → 联机批处理 → 脱机批处理 → 执行系统(通道+中断)→ 多道批处理 → 分时 → 实时 → 通用 OS。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **填空**:操作系统的产生经历了 ______、联机批处理、脱机批处理、执行系统阶段。
|
||
- 答:手工操作阶段。
|
||
2. **选择**:操作系统的出现标志着其走向成熟的阶段是()。
|
||
A. 手工操作 B. 联机批处理 C. 多道批处理 D. 分时系统
|
||
- 答:C。
|
||
3. **简答**:什么是 SPOOLing?它解决了什么问题?
|
||
- 答:SPOOLing(Simultaneous Peripheral Operation On-Line,假脱机)通过磁盘上的输入井/输出井,将独占设备改造成可共享的设备,使 I/O 与计算并行,解决了早期批处理中 I/O 慢导致主机等待的问题。
|
||
|
||
### 考点 5:手工操作阶段的瓶颈
|
||
|
||
- **内容**:随着 CPU 速度提升,手工操作时间成为瓶颈,必须引入 OS 接管。
|
||
- **考查方式**:选择、填空、计算分析。
|
||
- **可能的题目**:
|
||
1. **计算分析**:若作业运行时间 1h,手工操作 4min,则比例 1:15。当 CPU 速度提高 600 倍后,作业运行只需 6s,而手工操作仍 4min,比例为 40:1。这说明了什么问题?
|
||
- 答:随着 CPU 速度提升,手工操作与程序运行时间比例急剧扩大,手工操作成为严重瓶颈,必须引入操作系统实现自动化作业管理。
|
||
|
||
### 考点 6:多道批处理 vs 分时 vs 实时
|
||
|
||
- **内容**:
|
||
- **多道批处理**:多道 + 成批,无交互,追求吞吐量和资源利用率。
|
||
- **分时系统**:多路 + 交互 + 独占(多终端共享主机),追求响应时间。
|
||
- **实时系统**:追求严格的响应时限和高可靠性。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **选择**:航班订票系统属于()。
|
||
A. 多道批处理 B. 分时系统 C. 实时系统 D. 网络系统
|
||
- 答:C。
|
||
2. **简答**:比较分时系统与实时系统的特点。
|
||
- 答:分时系统强调多路性、交互性、独占性,追求**较快响应**(如秒级),用于通用计算;实时系统强调**严格时限**和高可靠性(毫秒级甚至更短),用于工业控制、军事、订票等关键任务。
|
||
|
||
### 考点 7:单用户/网络/分布式/多处理机/嵌入式 OS 的区别
|
||
|
||
- **内容**:单用户(一台机器一个用户)、网络(基于宿主 OS + 透明性差)、分布式(统一 OS + 强透明 + 迁移)、多处理机(公共内存 + SMP)、嵌入式(微内核 + 非计算机设备)。
|
||
- **考查方式**:选择、简答。
|
||
- **可能的题目**:
|
||
1. **选择**:下列关于分布式操作系统的叙述中,错误的是()。
|
||
A. 具有统一的操作系统 B. 用户必须显式指定资源位置 C. 支持作业和进程迁移 D. 资源进一步共享
|
||
- 答:B(分布式 OS 应有透明性)。
|
||
2. **简答**:简述紧耦合与松散耦合分布式系统的区别。
|
||
- 答:紧耦合由多机系统发展而来,多 CPU 共享公共内存和时钟;松散耦合由计算机网络发展而来,多 Host 无公共内存、无公共时钟。前者典型为多处理机 OS,后者为分布式 OS。
|
||
|
||
### 考点 8:特权指令与管态/目态
|
||
|
||
- **内容**:特权指令(关中断、置 PSW、停机、I/O)只能在内核态(管态、核态)执行;非特权指令用户态可执行。管态↔目态切换:管→目用置 PSW 特权指令,目→管用中断/Trap。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **选择**:下列指令中,必须在管态执行的是()。
|
||
A. 加法指令 B. 取数指令 C. 置 PSW 指令 D. 比较指令
|
||
- 答:C。
|
||
2. **填空**:用户程序在用户态执行了特权指令将产生 ______。
|
||
- 答:陷入(trap)/ 异常。
|
||
3. **简答**:为什么要区分管态和目态?
|
||
- 答:为了保护操作系统和关键资源不被用户程序破坏。特权指令只能在内核态执行,可避免用户程序随意进行 I/O、修改 PSW 等危险操作,保证系统稳定和安全。
|
||
|
||
### 考点 9:中断的作用与运行机理
|
||
|
||
- **内容**:中断是 OS 获得 CPU 控制权的**唯一途径**;间隔时钟中断是实现多道程序的基础;中断装置自动保存 PSW/PC 到系统栈,并从中断向量装入新值。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **填空**:实现多道程序的硬件基础是 ______ 中断。
|
||
- 答:间隔时钟。
|
||
2. **简答**:为什么说"中断是操作系统运行的驱动力"?
|
||
- 答:操作系统是事件驱动的,只有当中断(I/O 完成、时钟、异常、trap 等)发生时,CPU 才能从用户程序切换到 OS 入口,从而执行调度、资源分配等服务。没有中断,OS 将永远得不到 CPU 控制权。
|
||
|
||
### 考点 10:定时装置(绝对时钟 vs 间隔时钟)
|
||
|
||
- **内容**:绝对时钟记实际时间、不发中断、可被操作员修改;间隔时钟定时发中断(毫秒级),是实现多道程序的基础。
|
||
- **考查方式**:选择、填空。
|
||
- **可能的题目**:
|
||
1. **选择**:下列关于间隔时钟的叙述中,正确的是()。
|
||
A. 记载实际时间 B. 不发中断 C. 定时发生中断 D. 用户可修改
|
||
- 答:C。
|
||
2. **填空**:间隔时钟是实现 ______ 的基础。
|
||
- 答:多道程序(操作系统获得控制权)。
|
||
|
||
### 考点 11:地址映射与存储保护
|
||
|
||
- **内容**:逻辑地址(虚地址)→ 物理地址(实地址),由 MMU/地址映射机构完成。存储保护设施防止越界(侵犯 OS/他人空间)和越权(共享区访问)。
|
||
- **考查方式**:选择、填空。
|
||
- **可能的题目**:
|
||
1. **填空**:程序中产生的地址称为 ______,存储器实际地址称为 ______。
|
||
- 答:逻辑地址(虚地址);物理地址(实地址)。
|
||
2. **选择**:存储保护设施的主要检查包括()。
|
||
A. 越界检查 B. 越权检查 C. 越界+越权 D. 仅口令检查
|
||
- 答:C。
|
||
|
||
### 考点 12:通道 vs DMA
|
||
|
||
- **内容**:通道是独立处理机,有指令系统(读/写/控制/转移),可执行复杂 I/O 任务;DMA 没有独立指令系统,仅做简单块传输。
|
||
- **考查方式**:选择、简答。
|
||
- **可能的题目**:
|
||
1. **选择**:下列关于通道和 DMA 的叙述,错误的是()。
|
||
A. 通道有自己的指令系统 B. DMA 没有独立指令系统 C. DMA 能执行通道程序 D. 通道可与主 CPU 并行
|
||
- 答:C。
|
||
2. **简答**:通道与 DMA 的主要区别是什么?
|
||
- 答:① 通道有独立的指令系统(读、写、控制、转移),可执行通道程序;DMA 没有独立指令系统,只能做简单块传输。② 通道可控制多个 I/O 设备,DMA 一般用于单设备块传输。
|
||
|
||
### 考点 13:操作系统的三种研究观点
|
||
|
||
- **内容**:进程观点(互斥/同步/通讯)、资源管理观点(方便使用/防止冲突)、虚拟机观点(虚资源/对硬件的扩充)。
|
||
- **考查方式**:简答。
|
||
- **可能的题目**:
|
||
1. **简答**:研究操作系统有哪几种观点?各举两个具体例子。
|
||
- 答:① **进程观点**:研究进程的创建/撤销/同步/通讯,如生产者-消费者问题中的互斥与同步。② **资源管理观点**:研究 CPU 调度、内存分配、文件系统、I/O 管理等。③ **虚拟机观点**:研究如何将一个物理 CPU 虚拟成多个逻辑 CPU(分时)、将内存+外存虚拟为虚存、将独占设备虚拟为共享设备。
|
||
2. **填空**:在操作系统的虚拟机观点下,内存+外存被组织成 ______。
|
||
- 答:虚拟存储。
|
||
|
||
### 考点 14:通用操作系统的常见模式
|
||
|
||
- **内容**:分时(前台)+ 批处理(后台)、实时(前台)+ 批处理(后台)。前台面向交互用户,后台批量跑作业。
|
||
- **考查方式**:选择、填空。
|
||
- **可能的题目**:
|
||
1. **选择**:下列属于通用操作系统工作模式的是()。
|
||
A. 分时+批处理 B. 实时+网络 C. 单用户+多用户 D. 嵌入式+分布式
|
||
- 答:A。
|
||
2. **填空**:分时 + 批处理模式中,______ 在前台,______ 在后台。
|
||
- 答:分时;批处理。
|
||
|
||
### 考点 15:UNIX Shell 的工作方式与系统调用
|
||
|
||
- **内容**:shell 是用户态命令解释器;`cc` 与 shell 都是目态进程,是父子关系(shell fork 出 cc)。系统调用通过 trap 指令从用户态进入管态。
|
||
- **考查方式**:选择、简答。
|
||
- **可能的题目**:
|
||
1. **简答**:简述 UNIX shell 与 cc 编译器的关系。
|
||
- 答:在 UNIX 中,shell 是用户态的命令解释器,cc(编译器)也是用户态进程。当用户在 shell 中输入 cc 命令时,shell 通过 fork 创建子进程,然后在子进程中 exec 装入 cc,shell 等待 cc 完成。整个过程中 shell 与 cc 均为目态进程,二者构成父子进程关系。
|
||
2. **填空**:用户程序调用系统调用时,通过 ______ 指令从用户态切换到管态。
|
||
- 答:trap(或 syscall、软中断)。
|
||
|
||
### 考点 16:JCL 作业控制语言的特点
|
||
|
||
- **内容**:作业标识(用户/作业/帐号)、作业步(编译/连接/执行,对应子进程)、资源描述(内存/时间/资源)、Goto 跳转(无循环)。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **填空**:JCL 作业控制中 Goto 语句只能是 ______ 转移,且作业控制中 ______(有/无)循环。
|
||
- 答:正向;无。
|
||
2. **选择**:JCL 中的作业步语句一般对应()。
|
||
A. 父进程 B. 子进程 C. 线程 D. 内核线程
|
||
- 答:B。
|
||
|
||
### 考点 17:单用户操作系统的"多进程/多线程"含义
|
||
|
||
- **内容**:单用户 OS 也支持多进程/多线程;不同程序→不同进程;相同程序→不同线程。
|
||
- **考查方式**:选择、填空。
|
||
- **可能的题目**:
|
||
1. **填空**:单用户操作系统中,不同的程序对应不同的 ______,相同的程序对应不同的 ______。
|
||
- 答:进程;线程。
|
||
2. **选择**:Windows 10 本质上属于()。
|
||
A. 多用户 OS B. 单用户 OS C. 分布式 OS D. 网络 OS
|
||
- 答:B(PPT 明确说明)。
|
||
|
||
### 考点 18:嵌入式操作系统的特点
|
||
|
||
- **内容**:微内核结构,许多功能以应用程序模式运行;核心小、适应范围广、可靠性高,但**效率低**。
|
||
- **考查方式**:选择、简答。
|
||
- **可能的题目**:
|
||
1. **选择**:下列不属于嵌入式操作系统特点的是()。
|
||
A. 微内核结构 B. 核心小 C. 可靠性高 D. 效率高
|
||
- 答:D(嵌入式 OS 效率低)。
|
||
2. **简答**:简述嵌入式操作系统的微内核结构优缺点。
|
||
- 答:优点:核心小(只含基本内存管理、CPU 管理、通讯),可靠性高,适应范围广,许多 OS 服务以用户态应用方式运行。缺点:模块间通过消息传递通信,**效率低于宏内核**。
|
||
|
||
### 考点 19:Linux 与 Windows 10 的关键特征
|
||
|
||
- **内容**:Linux 是源代码开放、模块化、SMP 支持的类 UNIX 系统;Windows 10 基于 NT 技术,本质单用户,支持 SMP 与 C/S 模式,**不是纯微内核**。
|
||
- **考查方式**:选择、填空、简答。
|
||
- **可能的题目**:
|
||
1. **填空**:Windows 10 基于 ______ 技术构建,本质属于 ______ 系统。
|
||
- 答:NT;单用户。
|
||
2. **选择**:下列关于 Windows 10 的叙述,错误的是()。
|
||
A. 基于 NT 技术 B. 本质是单用户系统 C. 是纯微内核结构 D. 支持 SMP
|
||
- 答:C。
|
||
3. **简答**:简述 Linux 系统的主要特点。
|
||
- 答:① 源代码开放、免费;② 系统稳定可靠;③ 速度快、效率高;④ 内核模块化好,允许第三方配置文件系统及设备驱动;⑤ 功能完善、网络支持好;⑥ 标准化好。
|
||
|
||
### 考点 20:系统的两个关键运行支撑(间隔时钟 + 中断)
|
||
|
||
- **内容**:间隔时钟提供确定性的中断来源,保证 OS 周期性获得控制权;中断装置完成 PSW/PC 的保存与恢复;二者共同保证多道程序运行。
|
||
- **考查方式**:综合简答。
|
||
- **可能的题目**:
|
||
1. **简答**:操作系统运行的硬件支撑有哪些?它们如何协同工作?
|
||
- 答:① **中断装置**:发现并响应中断,保存当前 PSW/PC 到系统栈,装入中断向量指向的新 PSW/PC。② **间隔时钟**:定时(如毫秒级)产生中断,保证 OS 周期性获得 CPU 控制权,是多道程序的基础。③ **通道/DMA**:使 I/O 与 CPU 并行。④ **地址映射与存储保护**:实现内存独立和安全。⑤ **特权指令与管/目态切换**:保证 OS 关键操作不被用户破坏。
|