当前位置: 首页 > news >正文

5.1 操作系统概述


第5章 操作系统

5.1 操作系统概述
01. 下列关于设备属性的叙述中,正确的是( B )。

题目原文

  1. 下列关于设备属性的叙述中,正确的是( )。
    A. 字符设备的基本特征是可寻址到字节,即能指定读/写操作的字节地址
    B. 共享设备必须是可寻址的和可随机访问的设备
    C. 共享设备是指同一时刻内允许多个进程同时访问的设备
    D. 在分配共享设备和独占设备时都可能引起进程死锁

正确答案:B

题目解析

  • 考点分析: 本题考察对不同类型I/O设备(字符/块设备,独占/共享设备)属性的理解。
  • 正确选项分析 (B. 共享设备必须是可寻址的和可随机访问的设备):
    • 共享设备是指可以被多个进程分时交错地使用的设备。最典型的例子就是磁盘
    • 为了实现分时共享,操作系统必须能够管理和调度对设备的访问。这就要求设备是可寻址的(可以指定访问哪个数据块)和可随机访问的(访问不同数据块的开销相对独立,不会因为上一个进程访问了A,下一个进程访问Z就代价巨大)。磁盘正好满足这两个特性。
  • 错误选项分析:
    • A: 字符设备(如键盘、打印机)通常是不可寻址的,它们以字符流的方式进行操作。可寻址到字节是块设备(如磁盘)的特征。
    • C: “同时访问”是不准确的。共享设备是被多个进程宏观上并发、微观上分时交错访问的,在物理层面上,同一时刻仍然只有一个进程在进行I/O操作。
    • D: 独占设备(如打印机)的分配,如果多个进程相互等待对方占有的独占设备,会引起死锁。但共享设备(如磁盘)的分配通常不会直接引起死锁,因为它们可以被交错使用,不会产生“占有并等待”的条件。

02. 下列关于虚拟设备的含义的描述中,正确的是( C )。

题目原文
02. 下列关于虚拟设备的含义的描述中,正确的是( )。
A. 允许用户使用比系统中具有的物理设备更多的设备
B. 允许用户以标准化方式来使用物理设备
C. 把一个物理设备变换成多个对应的逻辑设备
D. 允许用户程序不必全部装入主存便可使用系统中的设备

正确答案:C

题目解析

  • 考点分析: 本题考察对虚拟设备(通过SPOOLing技术实现)核心思想的理解。
  • 正确选项分析 (C. 把一个物理设备变换成多个对应的逻辑设备):
    • 虚拟设备技术,最典型的就是SPOOLing(假脱机输入/输出)。
    • 它的核心思想是:将一个物理上独占的设备(如打印机),通过在磁盘上建立输入/输出缓冲区(井),模拟成多个逻辑上可供多个用户共享的设备。
    • 每个用户进程都以为自己在独立地使用一台“逻辑打印机”,它将打印任务输出到磁盘上的一个缓冲区。然后由一个专门的后台进程依次从这些缓冲区中取出任务,送到物理打印机上打印。
    • 这就实现了“把一个物理设备变换成多个对应的逻辑设备”的效果。
  • 错误选项分析:
    • A: 虚拟设备并未增加物理设备的数量。
    • B: “标准化方式”是设备独立性(设备无关性)的目标,与虚拟设备概念不同。
    • D: 这是虚拟存储器的概念。

03. 磁盘设备的I/O控制主要采取( D )方式。

题目原文
03. 磁盘设备的I/O控制主要采取( )方式。
A. 位
B. 字节
C. 帧
D. DMA

正确答案:D

题目解析

  • 考点分析: 本题考察不同类型设备所匹配的I/O控制方式。
  • 正确选项分析 (D. DMA):
    • 磁盘是典型的高速、块数据设备。
    • 对于这类设备,如果采用中断方式,CPU会因为频繁的中断而疲于奔命,大大降低系统性能。
    • DMA(直接存储器存取) 方式就是为这类设备设计的。它允许数据在磁盘控制器和主存之间成块地直接传送,无需CPU干预,极大地提高了传输效率和CPU利用率。
  • 错误选项分析:
    • A, B, C: 位、字节、帧是数据传输的单位,不是I/O控制的方式。

04. 为了便于上层软件的编制,设备控制器通常需要提供( A )。

题目原文
04. 为了便于上层软件的编制,设备控制器通常需要提供( )。
A. 控制寄存器、状态寄存器和控制命令
B. I/O地址寄存器、工作方式状态寄存器和控制命令
C. 中断寄存器、控制寄存器和控制命令
D. 控制寄存器、编程空间和控制逻辑寄存器

正确答案:A

题目解析

  • 考点分析: 本题考察设备控制器(I/O接口)向软件(设备驱动程序)提供的编程接口。
  • 正确选项分析 (A. 控制寄存器、状态寄存器和控制命令):
    • 上层软件(设备驱动程序)是通过读写I/O接口中的I/O端口来控制设备的。这些端口在功能上可以分为:
      1. 控制寄存器/端口: 驱动程序向这里写入控制命令,以启动设备、设置模式等。
      2. 状态寄存器/端口: 驱动程序从这里读取设备的状态(如忙、就绪、错误)。
      3. 数据寄存器/端口: 用于交换数据。
    • 选项A提到了控制寄存器、状态寄存器和控制命令(通过控制寄存器传递),这是驱动程序与硬件交互的核心要素。
  • 错误选项分析:
    • B, C, D: 选项中的术语不标准或不全面。例如,“中断寄存器”通常是状态寄存器的一部分,“编程空间”概念模糊。

05. 在设备控制器中用于实现设备控制功能的是( C )。

题目原文
05. 在设备控制器中用于实现设备控制功能的是( )。
A. CPU
B. 设备控制器与处理器的接口
C. I/O逻辑
D. 设备控制器与设备的接口

正确答案:C

题目解析

  • 考点分析: 本题考察设备控制器(I/O接口)的内部组成。
  • 正确选项分析 (C. I/O逻辑):
    • 设备控制器内部的核心是一个复杂的逻辑电路,通常被称为I/O逻辑
    • 这个I/O逻辑负责:
      • 解码CPU通过接口发来的命令。
      • 产生具体的时序和控制信号去指挥物理设备工作。
      • 管理数据缓冲。
      • 监测设备状态并更新状态寄存器。
    • 它是实现设备控制功能的执行部件
  • 错误选项分析:
    • A: CPU是命令的发出者,不是接口内部的执行者。
    • B, D: 接口是连接处理器和设备的桥梁,但实现控制功能的是接口内部的逻辑电路。

06. DMA方式是在( A )之间建立一条直接数据通路。

题目原文
06. DMA方式是在( )之间建立一条直接数据通路。
A. I/O设备和主存
B. 两个I/O设备
C. I/O设备和CPU
D. CPU和主存

正确答案:A

题目解析

  • 考点分析: 本题考察DMA(Direct Memory Access)数据传送的路径。
  • 正确选项分析 (A. I/O设备和主存):
    • DMA的全称“直接存储器存取”已经揭示了其本质。
    • 它的核心思想就是建立一条绕过CPU的数据通路,让数据可以在I/O设备(通过其接口)和主存储器之间直接、高速地传送。
  • 错误选项分析:
    • B, C, D: 均不符合DMA的定义。

07. 在操作系统中,( A )是一种硬件机制。

题目原文
07. 在操作系统中,( )是一种硬件机制。
A. 通道技术
B. SPOOLing技术
C. 内存覆盖技术
D. 进程管理

正确答案:A

题目解析

  • 考点分析: 本题要求区分操作系统中的硬件机制和纯软件技术。
  • 正确选项分析 (A. 通道技术):
    • 通道是一个专门负责I/O操作的处理器(I/O Processor, IOP),它有自己的指令集(通道指令)和处理能力。
    • 通道是物理存在的硬件,它与CPU协同工作,分担了复杂的I/O控制任务。
  • 错误选项分析:
    • B. SPOOLing技术:是一种纯软件技术,通过在磁盘上设置缓冲区和调度进程来模拟虚拟设备。
    • C. 内存覆盖技术:是一种早期的纯软件内存管理技术,由程序员手动划分程序模块。
    • D. 进程管理:是操作系统核心的纯软件功能。

08. 若I/O设备与存储设备进行数据交换不经过CPU来完成,则这种数据交换方式是( C )。

题目原文
08. 若I/O设备与存储设备进行数据交换不经过CPU来完成,则这种数据交换方式是( )。
A. 程序查询
B. 中断方式
C. DMA方式
D. 直接存取方式

正确答案:C

题目解析

  • 考点分析: 本题通过功能描述来识别I/O控制方式。
  • 正确选项分析 (C. DMA方式):
    • “数据交换不经过CPU来完成”是DMA方式最核心、最显著的特征。数据在DMA控制器的控制下,直接在主存和I/O设备间传送。
  • 错误选项分析:
    • A. 程序查询 和 B. 中断方式:这两种方式下,每一字节/字的数据都必须经过CPU内部的寄存器进行中转,所以数据是经过CPU的。
    • D. 直接存取方式:这是存储器(如磁盘)的一种物理存取特性,而不是一种I/O控制方式

09. 下列关于DMA方式的描述中,正确的是( B )。

题目原文
09. 下列关于DMA方式的描述中,正确的是( )。
A. DMA是一个专门负责输入/输出的处理器
B. 数据传送过程由DMA控制器负责,CPU只在预处理和后处理阶段进行干预
C. CPU通过程序的方式给出DMA可以解释的程序
D. DMA不需要CPU指出所要读取数据的地址与长度

正确答案:B

题目解析

  • 考点分析: 本题考察对DMA工作流程的准确描述。
  • 正确选项分析 (B. 数据传送过程由DMA控制器负责,CPU只在预处理和后处理阶段进行干预):
    • 这完美地概括了DMA方式下CPU和DMAC的分工:
      • 预处理: CPU启动DMA任务,向DMAC设置源/目的地址、数据长度、传送方向等。
      • 数据传送: DMAC完全接管,独立完成。
      • 后处理: DMAC任务完成后,通过中断通知CPU,CPU执行中断服务程序进行善后。
  • 错误选项分析:
    • A: “专门负责I/O的处理器”更准确地描述的是通道。DMAC只是一个控制器,功能相对简单。
    • C: “可以解释的程序”(通道程序)是由通道来执行的,不是DMA。
    • D: DMA必须由CPU在预处理阶段告知要读取数据的主存地址传送长度

10. 计算机系统中,不属于DMA控制器的是( D )。

题目原文
10. 计算机系统中,不属于DMA控制器的是( )。
A. 命令/状态寄存器
B. 内存地址寄存器
C. 数据寄存器
D. 堆栈指针寄存器

正确答案:D

题目解析

  • 考点分析: 本题考察DMA控制器(DMAC)的内部组成。
  • 正确选项分析 (D. 堆栈指针寄存器):
    • 堆栈指针寄存器(SP)CPU内部的专用寄存器,用于管理程序的调用堆栈,与DMA控制器无关。
  • 错误选项分析:
    • A. 命令/状态寄存器: DMAC的核心。CPU通过写命令寄存器来启动DMA,通过读状态寄存器来了解其工作状态。
    • B. 内存地址寄存器 (MAR): DMAC内部必须有一个寄存器来存放当前要访问的主存地址,并在每次传送后自动修改。
    • C. 数据寄存器 (DR): DMAC内部需要一个数据计数器(或字计数器) 来记录还需传送的数据量。有些设计中也可能有数据缓冲寄存器。

11. DMA传输前需要进行预处理,传输后需要进行后处理,则下列说法中正确的是( D )。

题目原文
11. DMA传输前需要进行预处理,传输后需要进行后处理,则下列说法中正确的是( )。
A. 预处理程序运行在用户态,后处理程序运行在核心态
B. 负责预处理和后处理程序的进程都是请求I/O的进程
C. 预处理阶段不需要CPU参与,后处理阶段需要CPU参与
D. 预处理阶段的I/O进程处于运行态,后处理阶段处于阻塞态

正确答案:D

题目解析

  • 考点分析: 本题深入考察DMA流程中,发起I/O请求的用户进程的状态变化。
  • 正确选项分析 (D. 预处理阶段的I/O进程处于运行态,后处理阶段处于阻塞态):
    • 预处理阶段: I/O请求是通过系统调用发起的。用户进程执行系统调用指令时,它正处于运行态。陷入内核后,CPU代表该进程执行内核代码来初始化DMA。
    • 数据传送阶段: DMA初始化完成后,为了等待数据传送结束,操作系统通常会将发起I/O请求的这个进程置为阻塞态(等待态),并调度其他就绪进程运行。
    • 后处理阶段: DMA结束后发出中断,中断服务程序被执行。这个中断服务程序会唤醒之前被阻塞的进程(将其置为就绪态)。但此时,被唤醒的进程还只是在就绪队列中,尚未重新获得CPU开始运行。题目中的“后处理阶段”可能指从中断发生到进程被唤醒的整个过程,在这个阶段的开始,原I/O进程仍然是阻塞态。这个描述相对合理。
  • 错误选项分析:
    • A: 预处理和后处理(中断服务)都必须在核心态下运行。
    • B: 负责后处理的程序是中断服务程序,它在中断上下文中运行,不属于任何一个特定的用户进程。
    • C: 预处理阶段需要CPU执行指令来初始化DMAC。

12. 在下列问题中,( A )不是设备控制器应考虑的问题。

题目原文
12. 在下列问题中,( )不是设备控制器应考虑的问题。
A. 及时性
B. 设备的固有属性
C. 安全性
D. 设备的独立性

正确答案:A

题目解析

  • 考点分析: 本题考察设备控制器的设计目标和功能范畴。
  • 正确选项分析 (A. 及时性):
    • “及时性”通常是指操作系统需要考虑的问题,即I/O调度策略。操作系统需要决定何时、以何种顺序来处理各个进程发出的I/O请求,以满足系统的实时性或公平性要求。
    • 设备控制器(硬件) 本身只负责执行接收到的命令,它不具备高层的调度决策能力。
  • 错误选项分析:
    • B. 设备的固有属性: 设备控制器必须根据其所控制的物理设备的具体属性(如块设备/字符设备、速度、命令集)来设计。
    • C. 安全性: 设备控制器需要提供保护机制,防止用户程序越权访问。
    • D. 设备的独立性(设备无关性): 设备控制器是实现设备独立性的硬件基础。它向上层软件提供一个相对统一、抽象的接口(寄存器模型),从而屏蔽了底层物理设备的差异。

13. 将系统中的每台设备按其某种原则进行编号,这些编号作为区分硬件和识别设备的代号,该编号称为设备的( A )。

题目原文
13. 将系统中的每台设备按其某种原则进行编号,这些编号作为区分硬件和识别设备的代号,该编号称为设备的( )。
A. 绝对号
B. 相对号
C. 类型号
D. 符号

正确答案:A

题目解析

  • 考点分析: 本题考察操作系统中设备标识符的术语。
  • 正确选项分析 (A. 绝对号):
    • 在操作系统中,为了唯一地标识系统中的每一个物理设备,会给每个设备分配一个系统唯一的编号,这个编号通常称为绝对号物理设备名。这个编号在系统引导时确定,通常与设备的物理连接位置(如总线号、设备号)相关。
  • 错误选项分析:
    • B. 相对号:通常指进程打开设备时,操作系统为该进程分配的一个临时、局部的设备标识符(如文件描述符)。
    • C. 类型号:用于区分设备的类型(如字符设备、块设备),而不是单个设备。
    • D. 符号:概念模糊。

14. 关于通道、设备控制器和设备之间的关系,以下叙述中正确的是( C )。

题目原文
14. 关于通道、设备控制器和设备之间的关系,以下叙述中正确的是( )。
A. 设备控制器和通道可以分别控制设备
B. 对于同一组输入/输出设备,设备控制器、通道和设备可以并行工作
C. 通道控制设备,设备控制器控制设备工作
D. 以上答案都不对

正确答案:C

题目解析

  • 考点分析: 本题考察通道系统中的控制层次关系。
  • 正确选项分析 (C. 通道控制设备,设备控制器控制设备工作):
    • 这是一个层层控制的关系链:
      • CPU通道 发出启动I/O的命令。
      • 通道 负责执行一系列的通道指令(通道程序),管理整个I/O流程。
      • 通道向 设备控制器(I/O接口) 发出具体的、简单的操作命令(如“读一个块”)。
      • 设备控制器 接收通道的命令,并产生更底层的电信号去控制物理设备完成具体动作(如移动磁头、启动电机)。
    • 选项C的表述“通道控制设备,设备控制器控制设备工作”虽然不那么精确(通道是控制控制器),但在宏观上表达了这种层次关系,是最佳选项。
  • 错误选项分析:
    • A: 设备控制器受通道控制。
    • B: 三者是串行控制关系,不是并行工作关系。

15. 一个计算机系统配置了2台相同类型的绘图机和3台相同类型的打印机,为了正确驱动这些设备,系统应该提供( C )。

题目原文
15. 一个计算机系统配置了2台相同类型的绘图机和3台相同类型的打印机,为了正确驱动这些设备,系统应该提供( )个设备驱动程序。
A. 5
B. 3
C. 2
D. 1

正确答案:C

题目解析

  • 考点分析: 本题考察设备驱动程序的概念和复用性。
  • 正确选项分析 (C. 2):
    • 设备驱动程序是与一类(一种型号) 的设备控制器相对应的软件模块,而不是与每一个物理设备相对应。
    • 所有相同类型的设备,由于其接口和控制方式完全一样,因此可以共用同一个设备驱动程序。
    • 本系统中,有两类设备:
      1. 绘图机(相同类型)
      2. 打印机(相同类型)
    • 因此,只需要为这两类设备分别提供一个驱动程序,即总共需要 2 个设备驱动程序。
  • 错误选项分析:
    • A, B, D: 数量计算错误。

16. 将系统调用参数翻译成设备操作命令的工作由( B )。

题目原文
16. 将系统调用参数翻译成设备操作命令的工作由( )完成。
A. 用户层I/O软件
B. 设备无关的操作系统软件
C. 中断处理
D. 设备驱动程序

正确答案:B

题目解析

  • 考点分析: 本题考察I/O软件的层次结构中,各层的主要职责。
  • I/O软件层次(从上到下):
    1. 用户层I/O软件: 提供给用户的库函数(如C语言的printf, scanf)。
    2. 设备无关的操作系统软件 (Device-Independent OS Software): 处理所有设备的共性操作,如提供统一的接口(read, write)、设备命名、保护、缓冲、块分配等。
    3. 设备驱动程序 (Device Drivers): 针对特定类型的设备控制器,负责将上层传来的抽象请求(如“读第N块”)翻译成具体的设备命令(向控制端口写入特定的命令字),并处理设备中断。
    4. 中断处理程序 (Interrupt Handlers): I/O操作完成后的底层处理。
  • 正确选项分析 (B. 设备无关的操作系统软件):
    • 用户通过系统调用(如read(fd, buffer, count))发起I/O请求,这里的参数(fd, buffer, count)是逻辑的、抽象的
    • 设备无关层接收到这个系统调用,它会检查参数合法性,将逻辑块号转换为物理块号,检查缓冲等。然后它会调用下层的设备驱动程序。
    • 设备驱动程序再将这些具体的请求(如“读物理块X到内存地址Y”)翻译成硬件能懂的设备操作命令
  • 【答案校对与分析】 您提供的答案是B。但根据标准分层,将抽象请求翻译成具体硬件命令是设备驱动程序(D) 的核心工作。设备无关层做的是更上层的、通用的处理。
    • 结论: 此题的答案B与标准I/O软件分层职责不符。更准确的答案应该是D. 设备驱动程序。如果答案确定是B,可能是出题者将“系统调用参数”的初步解析(如文件描述符到设备号的转换)也归入了“翻译”的范畴。

17. 面向设备的写命令是在I/O软件的( C )。

题目原文
17. 面向设备的写命令是在I/O软件的( )中完成的。
A. 用户层软件
B. 设备独立性软件
C. 设备驱动程序
D. 中断处理程序

正确答案:C

题目解析

  • 考点分析: 本题与上一题类似,考察I/O软件分层。
  • 正确选项分析 (C. 设备驱动程序):
    • “面向设备的写命令”指的就是直接与硬件设备控制器打交道的、具体的写操作命令(例如,向某个控制端口写入一个启动写的命令字)。
    • 这个与特定硬件紧密相关的操作,正是设备驱动程序的核心职责。驱动程序是软件与特定硬件接口之间的“翻译官”。
  • 错误选项分析:
    • A, B: 用户层和设备无关层处理的是抽象的、与设备无关的I/O请求。
    • D: 中断处理程序是在I/O操作完成后被调用的,而不是在发起写命令时。

18. 一个典型的打印机每分钟能打印6页,每页有50行,每行80个字符。假定每个字符的中断时间(包括所有服务)为50µs。则该打印机中断驱动I/O方式运行时,中断开销占CPU时间的百分比为( A )。

题目原文(整理后):
18. 一个典型的打印机每分钟能打印6页,每页有50行,每行80个字符。假定每个字符的中断时间(包括所有服务)为50µs。则该打印机中断驱动I/O方式运行时,中断开销占CPU时间的百分比为( )。
A. 2%
B. 5%
C. 20%
D. 50%

正确答案:A

题目解析

  • 考点分析: 本题是中断方式下CPU开销的计算题。
  • 计算过程:
    1. 计算每秒打印的字符数(即每秒发生中断的次数):
      • 每分钟打印6页,则每秒打印 6 / 60 = 0.1 页。
      • 每页有50行,每行80字符,则每页有 50 * 80 = 4000 个字符。
      • 每秒打印的字符数 = 0.1 页/秒 * 4000 字符/页 = 400 字符/秒。
      • 由于是中断驱动,打印一个字符就需要一次中断,所以每秒发生400次中断
    2. 计算一秒内CPU用于中断的总开销时间:
      • 每次中断的开销 = 50 µs。
      • 一秒内总开销 = (每次中断开销) × (每秒中断次数)
      • 总开销 = 50 µs/中断 * 400 中断/秒 = 20000 µs/秒 = 0.02 s/秒
    3. 计算所占百分比:
      • 百分比 = (用于中断的总时间 / 总CPU时间) × 100%
      • 百分比 = (0.02 s / 1 s) * 100% = 2%
  • 结论: 中断开销占CPU时间的2%。

19. 在接收和处理一个输入的中断的过程中,一定不由硬件来完成的工作是( C )。

题目原文
19. 在接收和处理一个输入的中断的过程中,一定不由硬件来完成的工作是( )。
A. 判断产生中断的类型
B. CPU模式由用户切换到内核态
C. 主机获取设备状态
D. 保存用户程序的断点

正确答案:C

题目解析

  • 考点分析: 本题考察中断处理流程中软硬件的分工。
  • 正确选项分析 (C. 主机获取设备状态):
    • 获取设备状态(如读取状态寄存器以了解操作是否成功、有无错误等)是中断服务程序(软件) 的工作。软件需要执行INMOV指令来从I/O端口读取状态信息,以决定下一步的操作。
  • 错误选项分析(由硬件完成或部分由硬件完成):
    • A: 判断中断类型,可以通过中断向量机制由硬件直接完成,或者硬件提供部分信息由软件进一步判断。
    • B: CPU模式的切换是由中断响应这个硬件事件强制触发的。
    • D: 保存断点(PC和PSW)是中断隐指令的核心部分,完全由硬件自动完成。

20. 下列几种I/O方式中,会导致用户进程进入阻塞态的是( C )。
I. 程序直接控制   II. 中断方式   III. DMA方式

正确答案:C

题目解析

  • 考点分析: 本题考察不同I/O方式对用户进程状态的影响。
  • 逐项分析:
    • I. 程序直接控制(查询方式):
      • 在这种方式下,CPU会执行一个循环来反复查询设备状态,直到I/O完成。
      • 在此期间,CPU被该进程独占,进程一直处于运行态(所谓的“忙等”),不会进入阻塞态
    • II. 中断方式:
      • 当用户进程发起一个中断I/O请求后,操作系统会启动设备,然后将该进程从运行态切换到阻塞态(等待态),并调度其他就绪进程运行。
      • 当I/O完成后,中断服务程序会唤醒该进程(将其置为就绪态)。
    • III. DMA方式:
      • 与中断方式类似,当用户进程发起DMA请求后,操作系统在启动DMAC后,也会将该进程置为阻塞态,以等待数据块传输的完成。
  • 组合判断: 中断方式(II)和DMA方式(III)都会导致用户进程进入阻塞态。

21. 当一个进程请求I/O操作时,该进程将被挂起,直到I/O设备完成I/O操作后,设备控制器便向CPU发送一个中断请求,CPU响应后便转向中断处理程序,下列关于中断处理程序的说法中,错误的是( C )。

题目原文
21. 当一个进程请求I/O操作时,该进程将被挂起,直到I/O设备完成I/O操作后,设备控制器便向CPU发送一个中断请求,CPU响应后便转向中断处理程序,下列关于中断处理程序的说法中,错误的是( )。
A. 中断处理程序将设备驱动程序传送到内存的缓冲区(读入),或将要输出的数据传送到设备控制器(输出)。
B. 对于不同的设备,有不同的中断处理程序
C. 中断处理结束后,需要恢复CPU现场,此时一定会返回到被中断的进程
D. I/O操作完成后,驱动程序必须检查I/O操作中是否发生了错误

正确答案:C

题目解析

  • 考点分析: 本题深入考察中断处理程序完成后的调度问题。
  • 错误选项分析 (C. …此时一定会返回到被中断的进程):
    • 这个说法是错误的。
    • 中断处理程序(ISR)的最后一步通常是唤醒那个因等待I/O而阻塞的进程(将其状态从“阻塞”改为“就绪”)。
    • 但是,ISR执行完毕后,控制权会交给操作系统的调度程序(Scheduler)
    • 调度程序会查看当前所有的就绪进程,并根据调度算法(如优先级、时间片等)选择一个进程来投入运行。
    • 这个被选中的进程不一定就是刚刚被唤醒的那个进程。如果此时有一个更高优先级的进程处于就绪态,调度程序就会选择那个更高优先级的进程运行。
    • 因此,中断返回后,不一定会立刻返回到被中断的进程。
  • 正确选项分析:
    • A: “设备驱动程序传送”应为“数据传送”,中断处理程序负责数据的最终搬运。
    • B: 正确,每类设备都有自己特定的驱动和中断处理逻辑。
    • D: 正确,检查并报告错误是中断处理的重要职责。

22. 在I/O系统与高层之间的接口中,根据设备类型的不同,又进一步分为若干类接口,若设备的数据传送速率较高,且可寻址,则比较适合采用( A )。

题目原文
22. 在I/O系统与高层之间的接口中,根据设备类型的不同,又进一步分为若干类接口,若设备的数据传送速率较高,且可寻址,则比较适合采用( )。
A. 块设备接口
B. 网络设备接口
C. 字符设备接口
D. 流设备接口

正确答案:A

题目解析

  • 考点分析: 本题考察操作系统对I/O设备的分类和对应接口的特点。
  • 正确选项分析 (A. 块设备接口):
    • 操作系统通常将I/O设备分为几大类,并为它们提供不同类型的接口:
      • 块设备 (Block Device): 特点是可寻址(可以读写任意数据块)、以固定大小的块为单位进行数据交换。典型的块设备是磁盘、SSD。它们的数据传输速率通常较高
      • 字符设备 (Character Device): 特点是不可寻址,以字符流的方式进行数据交换。典型的字符设备是键盘、鼠标、打印机
      • 网络设备 (Network Device): 具有自己独特的接口和协议。
    • 题目描述的“数据传送速率较高”和“可寻址”,完全符合块设备的特征,因此应采用块设备接口。
  • 错误选项分析:
    • B, C, D: 均不符合“可寻址”这一关键特征。

23. 【2010统考真题】本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是( B )。

题目原文
23. 【2010统考真题】本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是( )。
A. 命令解释程序
B. 中断处理程序
C. 系统调用服务程序
D. 用户登录程序

正确答案:B

题目解析

  • 考点分析: 本题考察键盘输入这一典型I/O事件的底层处理流程。
  • 正确选项分析 (B. 中断处理程序):
    • 物理层面: 用户每按下一个键,键盘控制器就会向CPU发送一个硬件中断
    • CPU响应: CPU接收到中断后,会立即暂停当前工作,跳转到中断处理程序(ISR)
    • ISR工作: 这个中断处理程序是第一个处理键盘输入的软件。它的任务是从键盘接口的数据端口读取按键码,将其放入一个内核缓冲区,然后可能唤醒等待输入的进程。
    • 后续流程: 操作系统再将缓冲区的数据传递给上层的用户登录程序、命令解释程序等。
    • 因此,中断处理程序是整个软件处理流程的起点。
  • 错误选项分析:
    • A, C, D: 这些都是更高层次的软件,它们的数据来源是中断处理程序处理后的结果。

24. 【2011统考真题】用户程序发出磁盘I/O请求后,系统的处理流程是( B )。

题目原文
24. 【2011统考真题】用户程序发出磁盘I/O请求后,系统的处理流程是( )。
A. 用户程序→系统调用处理程序→中断处理程序→设备驱动程序
B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序
C. 用户程序→设备驱动程序→系统调用处理程序→中断处理程序
D. 用户程序→设备驱动程序→中断处理程序→系统调用处理程序

正确答案:B

题目解析

  • 考点分析: 本题考察一次完整的I/O请求(从发起到了结)所经过的I/O软件层次。
  • 正确选项分析 (B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序):
    • 这是一个标准的I/O处理流程:
      1. 用户程序: 通过库函数(如read())发起I/O请求。
      2. 系统调用处理程序: 库函数触发系统调用,进入内核。系统调用处理程序(属于设备无关层)接收请求,进行参数检查、权限验证等。
      3. 设备驱动程序: 系统调用层调用相应的设备驱动程序,将抽象请求转换为具体的硬件命令,并启动设备。然后,用户进程被阻塞。
      4. … (硬件操作) …
      5. 中断处理程序: I/O操作完成后,设备控制器发出中断。CPU响应后,执行中断处理程序,负责数据的最终处理、状态检查,并唤醒等待的进程。
  • 错误选项分析:
    • A, C, D: 都混淆了I/O软件各层次的调用顺序。中断处理总是在I/O硬件操作完成之后才发生。

25. 【2012统考真题】下列关于I/O软件的层次结构…其合理的层次组织顺序是( A )。

题目原文
25. 【2012统考真题】下列关于I/O软件的层次结构,通常由4个层次组成,每层明确定义了与邻近层次的接口,其合理的层次组织顺序是( )。
A. 用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序
B. 用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序
C. 用户级I/O软件、中断处理程序、设备驱动程序、设备无关软件
D. 用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序

正确答案:A

题目解析

  • 考点分析: 本题直接考察I/O软件的四个层次的标准顺序(从上到下)。
  • 正确选项分析 (A. 用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序):
    • 这是一个必须牢记的标准分层模型:
      1. 用户级I/O软件 (User-Level I/O Software): 最顶层,提供给用户的API,如C库的printf
      2. 设备无关软件 (Device-Independent OS Software): 内核中处理所有设备共性问题的部分,提供统一接口。
      3. 设备驱动程序 (Device Drivers): 针对特定硬件的“翻译官”。
      4. 中断处理程序 (Interrupt Handlers): 最底层,直接与硬件中断交互。
  • 错误选项分析:
    • B, C, D: 层次顺序错误。

26. 【2017统考真题】系统将数据从磁盘读到内存的过程包括以下操作…正确的执行顺序是( B )。
① 初始化DMA控制器并启动磁盘
② 从磁盘传输一块数据到内存缓冲区
③ 执行“DMA结束”中断服务程序
④ 执行DMA控制器发出的中断请求

正确答案:B

题目解析

  • 考点分析: 本题考察DMA读操作的完整流程排序。
  • 正确选项分析 (B. ①→②→④→③):
    • 这是一个标准的DMA工作流程:
      1. ① 初始化DMA控制器并启动磁盘: CPU执行指令,进行预处理,设置好DMAC并向磁盘控制器发出读命令。
      2. ② 从磁盘传输一块数据到内存缓冲区: DMAC接管总线,在磁盘和内存之间进行数据传送。这个过程CPU不参与。
      3. ④ 执行DMA控制器发出的中断请求: 数据传送完成后,DMAC向CPU发出中断请求信号。 【注意】 此处原文“执行…中断请求”应理解为CPU响应中断请求。
      4. ③ 执行“DMA结束”中断服务程序: CPU响应中断后,跳转到中断服务程序,进行后处理
  • 错误选项分析:
    • A, C, D: 顺序错误。中断请求(硬件信号)必须在中断服务程序(软件处理)之前发生。

操作系统与I/O软件 知识体系与考法总结

这一部分内容虽然在“计算机组成原理”课程中占比较小,但它起到了承上启下的作用,将前面学习的硬件(I/O接口、中断、DMA)与上层软件(操作系统)紧密联系起来,形成一个完整的I/O系统视图。

知识体系梳理
  1. 设备分类与属性:

    • 按信息交换单位:
      • 块设备: 可寻址,以块为单位。如:磁盘、SSD。
      • 字符设备: 不可寻址,以字符流为单位。如:键盘、打印机。
    • 按共享属性:
      • 独占设备: 一段时间内只允许一个进程使用。如:打印机。
      • 共享设备: 允许多个进程分时交错使用。如:磁盘。
      • 虚拟设备: 通过SPOOLing技术,将独占设备模拟成共享设备。
  2. I/O软件的层次结构(重点):

    • 目标: 提高效率、方便用户、实现设备无关性。
    • 层次(从上到下):
      1. 用户层I/O软件: 提供给用户的API库函数。
      2. 设备无关的操作系统软件: 处理设备共性问题(命名、保护、缓冲、阻塞/唤醒进程)。
      3. 设备驱动程序: 与特定设备控制器交互,将抽象请求翻译为硬件命令。
      4. 中断处理程序: I/O完成后的底层硬件交互。
  3. I/O核心子系统(设备无关层的功能):

    • I/O调度: 决定I/O请求的服务顺序(如电梯调度算法)。
    • 缓冲与高速缓存: 解决速度不匹配、减少I/O频率。
    • SPOOLing(假脱机): 实现虚拟设备,将独占设备共享化。
    • 设备分配与回收。
    • 差错处理。
常见考法与例题梳理
  1. 设备属性与控制方式的匹配

    • 考法: 给出一种设备(如磁盘),判断其属性(块设备、共享设备)和最适合的I/O控制方式(DMA)。
    • 例题01 & 03: 是该考法的典型。磁盘 -> 块设备、共享设备、可寻址 -> DMA方式。
  2. I/O软件层次的职责与流程(高频考点)

    • 考法:
      • 判断某个具体功能属于哪个层次。
      • 对一次完整的I/O请求(从用户发起→系统调用→驱动→中断)进行排序。
    • 例题16 & 17: 考察了“翻译命令”是设备驱动程序的职责。
    • 例题24 & 25 (真题): 反复考察了I/O软件四个层次的正确顺序。
  3. 底层处理流程

    • 考法: 关注I/O事件发生时,最先响应和处理的是哪个程序。
    • 例题23 (2010真题): “首先获得键盘输入信息的程序是(B. 中断处理程序)”,考察了对底层硬件中断响应的理解。
  4. DMA与进程状态

    • 考法: 深入考察发起DMA请求的用户进程,在DMA的各个阶段,其状态是如何变化的。
    • 例题11: 考察了预处理时进程为运行态,之后为等待数据完成而进入阻塞态。
刻意练习建议
  1. 画出I/O软件层次图:

    • 画一个四层的金字塔或栈式图,从上到下依次标注“用户层”、“设备无关层”、“驱动层”、“中断处理层”。
    • 在每一层的旁边,用关键词写下其核心职责
    • 用箭头画出一次读I/O请求的完整流程:请求如何从顶层层层下达,以及完成中断后信息如何从底层层层上传。
  2. 制作“设备分类”卡片:

    • 为常见设备(磁盘、键盘、打印机、鼠标、网卡)制作卡片。
    • 正面写设备名,背面写其属性:块/字符?独占/共享?主要I/O方式?
    • 通过抽查,快速建立设备与属性之间的联系。
  3. 流程排序题专项训练:

    • 将所有涉及流程排序的题目(如例题24, 26)集中起来。
    • 不要直接看选项,而是先根据自己的理解,在草稿纸上写出正确的逻辑顺序。
    • 然后再去匹配选项,找出最符合自己逻辑的。这种主动构建答案的方式,比被动选择更能加深理解。

通过对这些知识点的系统梳理,您将能更好地理解硬件I/O机制是如何被操作系统软件所管理和抽象的,从而形成一个完整的计算机系统工作视图。

http://www.dtcms.com/a/354824.html

相关文章:

  • Cesium 入门教程(十一):Camera相机功能展示
  • SplinePSF——应用于光学成像中的 PSF 建模
  • 【贪心 或 DFS - 面试题】小于n最大数
  • 记一次雪花算法 ID 精度丢失的Bug:前端接收到的 Long 被“四舍五入”了?
  • Java HTTP 请求:Unirest 使用指南及与 HttpClient 对比
  • 数据湖与数据仓库
  • 「数据获取」25年最新安徽省路网数据安徽省路网分类数据(获取方式看绑定的资源)
  • 自动化三维测量仪工业零件自动外观三维测量-中科米堆CASAIM
  • 三维视频融合驱动视频孪生创新:智汇云舟引领数字孪生产业新范式
  • Kubernetes一EFK日志架构
  • 在 Ubuntu 24.04 上安装二进制文件(逐步指南)
  • HCIA备考知识点总结:第二章华为VRP系统知识点
  • 嵌入式学习日记(36)TCP并发服务器构建——epoll
  • leetcode算法刷题的第二十天
  • 力扣18:四数之和
  • CodeSouler v2.4.0 版本更新
  • 生成式推荐模型的长序列特征:离线存储
  • 超越文本:深入剖析多模态AI的架构原理
  • c++ 观察者模式 订阅发布架构
  • FFmpeg05:编解码实战
  • 机器学习框架下:金价近3400关口波动,AI量化模型对PCE数据的动态监测与趋势预测
  • 企业通讯软件以安全为基,搭建高效的通讯办公平台
  • RA4M2环境搭建与新建工程
  • 新手向:Python开发简易股票价格追踪器
  • Linux内核IPv4 RAW套接字深度解析:从数据包构造到可靠传输的挑战
  • Dify 和 LangChain 区别对比总结
  • 【实操教学】ArcGIS 如何进行定义坐标系
  • Python实现点云基于法向量、曲率和ISS提取特征点
  • 【GM3568JHF】FPGA+ARM异构开发板 使用指南:显示与触摸
  • 第二章:Cesium 视图控制与相机操作