34 KiB
第一章 操作系统概述
一、知识讲解
1.1 操作系统的概念
1.1.1 操作系统的地位
操作系统在计算机系统中处于"中间层"位置:位于硬件抽象层(HAL, Hardware Abstraction Layer)之上,所有其它软件层之下。
可以从两个视图理解:
- 运行视图:硬件之上有系统库(lib)和操作系统,应用程序可以调用 lib 和操作系统,从而执行硬件指令。系统库是对 OS 部分功能的轻量封装(如 C 标准库对系统调用的包装)。
- 体系结构视图:自底向上为 硬件 → HAL → 操作系统 → 系统服务/系统库 → 应用程序。操作系统起到承上启下的作用:向下管理硬件,向上提供服务。
易考点:操作系统的"位置"是系统软件,是离硬件最近的系统软件,但不是硬件本身。
1.1.2 操作系统的作用
操作系统的两大基本作用:
- 管理系统中各种软硬件资源
- CPU 管理:一个 CPU 多个可运行程序——通过进程/线程调度实现 CPU 的多路复用。
- 内存管理:使各进程空间相对独立,同时支持共享(如共享库、共享内存区)。
- 设备管理:设备的分配、驱动、I/O 控制。
- 文件管理:实现文件系统,支持文件操作(创建、读、写、删除、权限控制等)。
- 为用户(应用程序)提供良好的服务(界面)
- API(系统调用):如
open/read/write/fork/exec。 - GUI(图形用户界面)、行式命令(
ls, cd, cat, vi, rm, mount等)。 - JCL(作业控制语言):用于批处理系统。
- API(系统调用):如
1.1.3 操作系统的定义
操作系统是位于硬件层(HAL)之上、所有其它软件层之下的一个系统软件,是管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合。
历史曾用名:Operating Supervisor、Monitoring Program(监控程序、监督程序)。
易错点:操作系统是"程序集合"(大量代码),不是单个程序。它不是硬件,不是应用软件,是系统软件。
1.2 操作系统的历史
1.2.1 操作系统的产生
(1) 手工操作阶段(20世纪40年代,无操作系统)
作业处理步骤:
- 程序、数据 → 穿孔机 → 纸带;
- 穿孔纸带 → 光电机 → 机器内存;
- 控制台开关启动第一条指令;
- 运行结果在电传打字机上输出。
缺点:① 资源独占;② 手工费时。
经典例子:
- 一个作业在 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 中断装置
- 发现并响应中断的硬件机构。
- 处理流程:
- 当前(PSW,PC)→ 系统栈(保存现场);
- 中断向量(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)之上、所有其它软件层之下的系统软件,是管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 填空:操作系统是位于 ______ 之上、所有其它软件层之下的一个系统软件。
- 答:硬件抽象层(HAL)。
- 简答:请用一句话说明操作系统的定义。
- 答:操作系统是位于 HAL 之上、所有其它软件层之下的系统软件,是管理系统中各种软硬件资源、方便用户使用计算机系统的程序集合。
- 填空:操作系统是位于 ______ 之上、所有其它软件层之下的一个系统软件。
考点 2:操作系统的四大特性
- 内容:并发性、共享性、异步性(随机性)、虚拟性。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 选择:下列不属于操作系统基本特性的是()。
A. 并发性 B. 共享性 C. 实时性 D. 异步性
- 答:C(实时性是 OS 类型而非特性)。
- 简答:简述操作系统的四大基本特性及其相互关系。
- 答:① 并发性(多个程序宏观同时推进);② 共享性(多个程序共用软硬件资源);③ 异步性(程序以不可预知速度推进);④ 虚拟性(把实资源改造为多个虚资源)。并发是基础,共享是表现,异步是结果,虚拟是手段。
- 填空:操作系统四大特性中,______ 是基础,其它特性由其衍生。
- 答:并发性。
- 选择:下列不属于操作系统基本特性的是()。
A. 并发性 B. 共享性 C. 实时性 D. 异步性
考点 3:并发与并行的区别
- 内容:并发是宏观同时、微观交替(单核);并行是宏观微观都同时(多核/多 CPU)。
- 考查方式:选择、填空。
- 可能的题目:
- 选择:在单核 CPU 系统中,多个程序的执行体现了()。
A. 并行性 B. 并发性 C. 同步性 D. 共享性
- 答:B。
- 填空:多核 CPU 上两个程序同时运行称为 ______;单核 CPU 上两个程序交替运行称为 ______。
- 答:并行;并发。
- 选择:在单核 CPU 系统中,多个程序的执行体现了()。
A. 并行性 B. 并发性 C. 同步性 D. 共享性
考点 4:操作系统发展历史中的关键阶段
- 内容:手工操作 → 联机批处理 → 脱机批处理 → 执行系统(通道+中断)→ 多道批处理 → 分时 → 实时 → 通用 OS。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 填空:操作系统的产生经历了 ______、联机批处理、脱机批处理、执行系统阶段。
- 答:手工操作阶段。
- 选择:操作系统的出现标志着其走向成熟的阶段是()。
A. 手工操作 B. 联机批处理 C. 多道批处理 D. 分时系统
- 答:C。
- 简答:什么是 SPOOLing?它解决了什么问题?
- 答:SPOOLing(Simultaneous Peripheral Operation On-Line,假脱机)通过磁盘上的输入井/输出井,将独占设备改造成可共享的设备,使 I/O 与计算并行,解决了早期批处理中 I/O 慢导致主机等待的问题。
- 填空:操作系统的产生经历了 ______、联机批处理、脱机批处理、执行系统阶段。
考点 5:手工操作阶段的瓶颈
- 内容:随着 CPU 速度提升,手工操作时间成为瓶颈,必须引入 OS 接管。
- 考查方式:选择、填空、计算分析。
- 可能的题目:
- 计算分析:若作业运行时间 1h,手工操作 4min,则比例 1:15。当 CPU 速度提高 600 倍后,作业运行只需 6s,而手工操作仍 4min,比例为 40:1。这说明了什么问题?
- 答:随着 CPU 速度提升,手工操作与程序运行时间比例急剧扩大,手工操作成为严重瓶颈,必须引入操作系统实现自动化作业管理。
- 计算分析:若作业运行时间 1h,手工操作 4min,则比例 1:15。当 CPU 速度提高 600 倍后,作业运行只需 6s,而手工操作仍 4min,比例为 40:1。这说明了什么问题?
考点 6:多道批处理 vs 分时 vs 实时
- 内容:
- 多道批处理:多道 + 成批,无交互,追求吞吐量和资源利用率。
- 分时系统:多路 + 交互 + 独占(多终端共享主机),追求响应时间。
- 实时系统:追求严格的响应时限和高可靠性。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 选择:航班订票系统属于()。
A. 多道批处理 B. 分时系统 C. 实时系统 D. 网络系统
- 答:C。
- 简答:比较分时系统与实时系统的特点。
- 答:分时系统强调多路性、交互性、独占性,追求较快响应(如秒级),用于通用计算;实时系统强调严格时限和高可靠性(毫秒级甚至更短),用于工业控制、军事、订票等关键任务。
- 选择:航班订票系统属于()。
A. 多道批处理 B. 分时系统 C. 实时系统 D. 网络系统
考点 7:单用户/网络/分布式/多处理机/嵌入式 OS 的区别
- 内容:单用户(一台机器一个用户)、网络(基于宿主 OS + 透明性差)、分布式(统一 OS + 强透明 + 迁移)、多处理机(公共内存 + SMP)、嵌入式(微内核 + 非计算机设备)。
- 考查方式:选择、简答。
- 可能的题目:
- 选择:下列关于分布式操作系统的叙述中,错误的是()。
A. 具有统一的操作系统 B. 用户必须显式指定资源位置 C. 支持作业和进程迁移 D. 资源进一步共享
- 答:B(分布式 OS 应有透明性)。
- 简答:简述紧耦合与松散耦合分布式系统的区别。
- 答:紧耦合由多机系统发展而来,多 CPU 共享公共内存和时钟;松散耦合由计算机网络发展而来,多 Host 无公共内存、无公共时钟。前者典型为多处理机 OS,后者为分布式 OS。
- 选择:下列关于分布式操作系统的叙述中,错误的是()。
A. 具有统一的操作系统 B. 用户必须显式指定资源位置 C. 支持作业和进程迁移 D. 资源进一步共享
考点 8:特权指令与管态/目态
- 内容:特权指令(关中断、置 PSW、停机、I/O)只能在内核态(管态、核态)执行;非特权指令用户态可执行。管态↔目态切换:管→目用置 PSW 特权指令,目→管用中断/Trap。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 选择:下列指令中,必须在管态执行的是()。
A. 加法指令 B. 取数指令 C. 置 PSW 指令 D. 比较指令
- 答:C。
- 填空:用户程序在用户态执行了特权指令将产生 ______。
- 答:陷入(trap)/ 异常。
- 简答:为什么要区分管态和目态?
- 答:为了保护操作系统和关键资源不被用户程序破坏。特权指令只能在内核态执行,可避免用户程序随意进行 I/O、修改 PSW 等危险操作,保证系统稳定和安全。
- 选择:下列指令中,必须在管态执行的是()。
A. 加法指令 B. 取数指令 C. 置 PSW 指令 D. 比较指令
考点 9:中断的作用与运行机理
- 内容:中断是 OS 获得 CPU 控制权的唯一途径;间隔时钟中断是实现多道程序的基础;中断装置自动保存 PSW/PC 到系统栈,并从中断向量装入新值。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 填空:实现多道程序的硬件基础是 ______ 中断。
- 答:间隔时钟。
- 简答:为什么说"中断是操作系统运行的驱动力"?
- 答:操作系统是事件驱动的,只有当中断(I/O 完成、时钟、异常、trap 等)发生时,CPU 才能从用户程序切换到 OS 入口,从而执行调度、资源分配等服务。没有中断,OS 将永远得不到 CPU 控制权。
- 填空:实现多道程序的硬件基础是 ______ 中断。
考点 10:定时装置(绝对时钟 vs 间隔时钟)
- 内容:绝对时钟记实际时间、不发中断、可被操作员修改;间隔时钟定时发中断(毫秒级),是实现多道程序的基础。
- 考查方式:选择、填空。
- 可能的题目:
- 选择:下列关于间隔时钟的叙述中,正确的是()。
A. 记载实际时间 B. 不发中断 C. 定时发生中断 D. 用户可修改
- 答:C。
- 填空:间隔时钟是实现 ______ 的基础。
- 答:多道程序(操作系统获得控制权)。
- 选择:下列关于间隔时钟的叙述中,正确的是()。
A. 记载实际时间 B. 不发中断 C. 定时发生中断 D. 用户可修改
考点 11:地址映射与存储保护
- 内容:逻辑地址(虚地址)→ 物理地址(实地址),由 MMU/地址映射机构完成。存储保护设施防止越界(侵犯 OS/他人空间)和越权(共享区访问)。
- 考查方式:选择、填空。
- 可能的题目:
- 填空:程序中产生的地址称为 ______,存储器实际地址称为 ______。
- 答:逻辑地址(虚地址);物理地址(实地址)。
- 选择:存储保护设施的主要检查包括()。
A. 越界检查 B. 越权检查 C. 越界+越权 D. 仅口令检查
- 答:C。
- 填空:程序中产生的地址称为 ______,存储器实际地址称为 ______。
考点 12:通道 vs DMA
- 内容:通道是独立处理机,有指令系统(读/写/控制/转移),可执行复杂 I/O 任务;DMA 没有独立指令系统,仅做简单块传输。
- 考查方式:选择、简答。
- 可能的题目:
- 选择:下列关于通道和 DMA 的叙述,错误的是()。
A. 通道有自己的指令系统 B. DMA 没有独立指令系统 C. DMA 能执行通道程序 D. 通道可与主 CPU 并行
- 答:C。
- 简答:通道与 DMA 的主要区别是什么?
- 答:① 通道有独立的指令系统(读、写、控制、转移),可执行通道程序;DMA 没有独立指令系统,只能做简单块传输。② 通道可控制多个 I/O 设备,DMA 一般用于单设备块传输。
- 选择:下列关于通道和 DMA 的叙述,错误的是()。
A. 通道有自己的指令系统 B. DMA 没有独立指令系统 C. DMA 能执行通道程序 D. 通道可与主 CPU 并行
考点 13:操作系统的三种研究观点
- 内容:进程观点(互斥/同步/通讯)、资源管理观点(方便使用/防止冲突)、虚拟机观点(虚资源/对硬件的扩充)。
- 考查方式:简答。
- 可能的题目:
- 简答:研究操作系统有哪几种观点?各举两个具体例子。
- 答:① 进程观点:研究进程的创建/撤销/同步/通讯,如生产者-消费者问题中的互斥与同步。② 资源管理观点:研究 CPU 调度、内存分配、文件系统、I/O 管理等。③ 虚拟机观点:研究如何将一个物理 CPU 虚拟成多个逻辑 CPU(分时)、将内存+外存虚拟为虚存、将独占设备虚拟为共享设备。
- 填空:在操作系统的虚拟机观点下,内存+外存被组织成 ______。
- 答:虚拟存储。
- 简答:研究操作系统有哪几种观点?各举两个具体例子。
考点 14:通用操作系统的常见模式
- 内容:分时(前台)+ 批处理(后台)、实时(前台)+ 批处理(后台)。前台面向交互用户,后台批量跑作业。
- 考查方式:选择、填空。
- 可能的题目:
- 选择:下列属于通用操作系统工作模式的是()。
A. 分时+批处理 B. 实时+网络 C. 单用户+多用户 D. 嵌入式+分布式
- 答:A。
- 填空:分时 + 批处理模式中,______ 在前台,______ 在后台。
- 答:分时;批处理。
- 选择:下列属于通用操作系统工作模式的是()。
A. 分时+批处理 B. 实时+网络 C. 单用户+多用户 D. 嵌入式+分布式
考点 15:UNIX Shell 的工作方式与系统调用
- 内容:shell 是用户态命令解释器;
cc与 shell 都是目态进程,是父子关系(shell fork 出 cc)。系统调用通过 trap 指令从用户态进入管态。 - 考查方式:选择、简答。
- 可能的题目:
- 简答:简述 UNIX shell 与 cc 编译器的关系。
- 答:在 UNIX 中,shell 是用户态的命令解释器,cc(编译器)也是用户态进程。当用户在 shell 中输入 cc 命令时,shell 通过 fork 创建子进程,然后在子进程中 exec 装入 cc,shell 等待 cc 完成。整个过程中 shell 与 cc 均为目态进程,二者构成父子进程关系。
- 填空:用户程序调用系统调用时,通过 ______ 指令从用户态切换到管态。
- 答:trap(或 syscall、软中断)。
- 简答:简述 UNIX shell 与 cc 编译器的关系。
考点 16:JCL 作业控制语言的特点
- 内容:作业标识(用户/作业/帐号)、作业步(编译/连接/执行,对应子进程)、资源描述(内存/时间/资源)、Goto 跳转(无循环)。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 填空:JCL 作业控制中 Goto 语句只能是 ______ 转移,且作业控制中 ______(有/无)循环。
- 答:正向;无。
- 选择:JCL 中的作业步语句一般对应()。
A. 父进程 B. 子进程 C. 线程 D. 内核线程
- 答:B。
- 填空:JCL 作业控制中 Goto 语句只能是 ______ 转移,且作业控制中 ______(有/无)循环。
考点 17:单用户操作系统的"多进程/多线程"含义
- 内容:单用户 OS 也支持多进程/多线程;不同程序→不同进程;相同程序→不同线程。
- 考查方式:选择、填空。
- 可能的题目:
- 填空:单用户操作系统中,不同的程序对应不同的 ______,相同的程序对应不同的 ______。
- 答:进程;线程。
- 选择:Windows 10 本质上属于()。
A. 多用户 OS B. 单用户 OS C. 分布式 OS D. 网络 OS
- 答:B(PPT 明确说明)。
- 填空:单用户操作系统中,不同的程序对应不同的 ______,相同的程序对应不同的 ______。
考点 18:嵌入式操作系统的特点
- 内容:微内核结构,许多功能以应用程序模式运行;核心小、适应范围广、可靠性高,但效率低。
- 考查方式:选择、简答。
- 可能的题目:
- 选择:下列不属于嵌入式操作系统特点的是()。
A. 微内核结构 B. 核心小 C. 可靠性高 D. 效率高
- 答:D(嵌入式 OS 效率低)。
- 简答:简述嵌入式操作系统的微内核结构优缺点。
- 答:优点:核心小(只含基本内存管理、CPU 管理、通讯),可靠性高,适应范围广,许多 OS 服务以用户态应用方式运行。缺点:模块间通过消息传递通信,效率低于宏内核。
- 选择:下列不属于嵌入式操作系统特点的是()。
A. 微内核结构 B. 核心小 C. 可靠性高 D. 效率高
考点 19:Linux 与 Windows 10 的关键特征
- 内容:Linux 是源代码开放、模块化、SMP 支持的类 UNIX 系统;Windows 10 基于 NT 技术,本质单用户,支持 SMP 与 C/S 模式,不是纯微内核。
- 考查方式:选择、填空、简答。
- 可能的题目:
- 填空:Windows 10 基于 ______ 技术构建,本质属于 ______ 系统。
- 答:NT;单用户。
- 选择:下列关于 Windows 10 的叙述,错误的是()。
A. 基于 NT 技术 B. 本质是单用户系统 C. 是纯微内核结构 D. 支持 SMP
- 答:C。
- 简答:简述 Linux 系统的主要特点。
- 答:① 源代码开放、免费;② 系统稳定可靠;③ 速度快、效率高;④ 内核模块化好,允许第三方配置文件系统及设备驱动;⑤ 功能完善、网络支持好;⑥ 标准化好。
- 填空:Windows 10 基于 ______ 技术构建,本质属于 ______ 系统。
考点 20:系统的两个关键运行支撑(间隔时钟 + 中断)
- 内容:间隔时钟提供确定性的中断来源,保证 OS 周期性获得控制权;中断装置完成 PSW/PC 的保存与恢复;二者共同保证多道程序运行。
- 考查方式:综合简答。
- 可能的题目:
- 简答:操作系统运行的硬件支撑有哪些?它们如何协同工作?
- 答:① 中断装置:发现并响应中断,保存当前 PSW/PC 到系统栈,装入中断向量指向的新 PSW/PC。② 间隔时钟:定时(如毫秒级)产生中断,保证 OS 周期性获得 CPU 控制权,是多道程序的基础。③ 通道/DMA:使 I/O 与 CPU 并行。④ 地址映射与存储保护:实现内存独立和安全。⑤ 特权指令与管/目态切换:保证 OS 关键操作不被用户破坏。
- 简答:操作系统运行的硬件支撑有哪些?它们如何协同工作?