Homework 1 解答与解析

对应题目:exercises/OS-HW-1-2026.pdf

一、选择题

1. 操作系统是计算机系统的一种( )。

  • 答案:B. 系统软件
  • 解析:操作系统负责管理硬件资源并为应用程序提供运行环境,属于系统软件,而不是应用软件或工具软件。

2. 允许多个用户以交互方式使用计算机的操作系统是( )。

  • 答案:A. 分时操作系统(Time-sharing OS)
  • 解析:分时系统通过时间片轮转让多个用户共享 CPU,并提供交互式使用体验。

3. 操作系统是一种系统软件,它( )。

  • 答案:D. 管理计算机系统的资源和控制程序的执行
  • 解析:操作系统既要管理 CPU、内存、I/O 设备、文件等资源,也要控制程序执行过程,因此 D 最完整。

4. 在多处理器系统中,对称多处理(SMP)的主要特点是( )。

  • 答案:C. 每个处理器都运行操作系统中的所有任务,处理器之间是对等关系
  • 解析:SMP 中各处理器地位平等,共享内存和总线,均可执行操作系统和用户任务。

5. ( )为用户分配主存空间,保护主存中的程序和数据,提高主存空间的利用率。

  • 答案:B. 存储管理(Memory Management)
  • 解析:这正是存储管理的核心职责,包括分配、回收、保护和提高内存利用率。

6. 中断向量(Interrupt Vector)的作用是( )。

  • 答案:B. 提供中断服务例程的入口地址
  • 解析:中断向量表中保存的是各类中断对应的中断服务程序入口地址,CPU 通过它快速定位处理程序。

7. 引导程序(Bootstrap Program)通常存储在( )中。

  • 答案:C. 只读存储器(ROM)或电可擦除可编程只读存储器(EEPROM)
  • 解析:系统刚上电时内存中还没有操作系统,因此启动代码必须放在掉电不丢失的固件存储器中。

8. 在存储层次结构中,从寄存器到磁带,以下哪种描述是正确的?( )

  • 答案:B. 容量递增,速度递减,每位成本递减
  • 解析:越靠近 CPU 的存储器速度越快、容量越小、单位成本越高;越往下层,容量越大、速度越慢、单位成本越低。

9. 以下关于双重模式操作(Dual-mode Operation)的说法,错误的是( )。

  • 答案:D. 用户程序可以直接修改模式位来进入内核模式
  • 解析:用户程序不能直接修改模式位,否则系统保护机制会失效。进入内核模式必须通过系统调用、异常或中断等受控方式。

二、简答题

1. 操作系统的三个主要目的是什么?

  • 方便用户使用计算机:为用户和应用程序提供统一、易用的接口,屏蔽硬件细节。
  • 高效地管理和使用系统资源:合理分配 CPU、内存、外设和文件等资源,提高系统吞吐量和利用率。
  • 提供可扩展和可演化的运行环境:使系统能够在不影响基本服务的前提下继续增加新功能、支持新硬件。

2. 内核模式和用户模式之间的区别如何作为保护系统的基本形式发挥作用?请说明模式转换的触发条件。

作用机制:

  • 内核模式拥有完全特权,可以执行特权指令、访问所有内存和硬件设备。
  • 用户模式权限受限,不能直接执行特权指令,也不能任意访问内核空间和关键硬件资源。
  • 这种区分形成了最基本的保护机制:即使用户程序出错或恶意运行,也不能直接破坏操作系统和其他程序。

模式转换的触发条件:

  • 用户模式 内核模式
    • 系统调用(system call / trap)
    • 硬件中断(interrupt)
    • 异常或故障(exception),如除零、非法指令、缺页等
  • 内核模式 用户模式
    • 操作系统完成系统调用或中断/异常处理后,恢复用户程序现场并返回用户态

3. 解释 DMA 的工作原理,并说明它相比中断驱动 I/O 的优势。

DMA 的工作原理:

  • CPU 先对 DMA 控制器进行设置,告诉它要传输的数据块起始地址、传输方向、设备信息和传输长度。
  • 之后 DMA 控制器直接在 I/O 设备与主存之间传送数据,不需要 CPU 对每个字节或每个字都参与搬运。
  • 传输完成后,DMA 控制器再向 CPU 发送一次中断,通知此次数据块传输结束。

相比中断驱动 I/O 的优势:

  • 减少 CPU 开销:中断驱动 I/O 通常每次传一个字/字节就可能需要 CPU 介入,而 DMA 只需在开始和结束时介入。
  • 提高并行性:CPU 可以在 DMA 传输期间继续执行其他任务。
  • 提高 I/O 效率:尤其适合大块数据传输,如磁盘读写、网络报文搬运等。

三、分析题

1. 以下哪些指令是特权指令?请逐一判断并简要说明理由。

a. 设定定时器的值(Set value of timer)

  • 判断:是特权指令
  • 理由:若用户程序能随意设置定时器,就可能阻止系统进行时钟中断和进程调度,破坏系统控制权。

b. 读取时钟(Read the clock)

  • 判断:通常不是特权指令
  • 理由:读取时间一般不会破坏系统安全,很多系统允许用户程序读取时钟或通过受控接口获得时间信息。

c. 清除内存(Clear memory)

  • 判断:是特权指令
  • 理由:如果可以任意清除内存,用户程序就可能破坏操作系统或其他进程的数据,因此必须受限。

d. 产生陷阱指令(Issue a trap instruction)

  • 判断:通常不是特权指令
  • 理由:陷阱是用户程序请求操作系统服务的正常入口,例如系统调用;它本身就是一种受控进入内核的机制。

e. 关闭中断(Turn off interrupts)

  • 判断:是特权指令
  • 理由:若用户程序可以关闭中断,CPU 可能长时间不响应时钟和设备事件,系统将失去调度与控制能力。

f. 修改设备状态表中的条目(Modify entries in device-status table)

  • 判断:是特权指令
  • 理由:设备状态表由操作系统维护,修改它可能导致设备管理混乱或非法访问硬件。

g. 从用户模式切换到内核模式(Switch from user to kernel mode)

  • 判断:是特权操作;用户不能直接执行
  • 理由:模式切换必须由硬件在中断、异常或陷阱发生时受控完成,若允许用户直接切换,保护机制将失效。

h. 访问 I/O 设备(Access I/O device)

  • 判断:是特权指令
  • 理由:I/O 设备是共享且关键的系统资源,直接访问必须由操作系统统一控制,避免冲突和越权操作。

汇总答案

选择题答案

1.B 2.A 3.D 4.C 5.B 6.B 7.C 8.B 9.D

分析题结论

  • 特权指令(或特权操作):a c e f g h
  • 非特权或通常非特权:b d