跳转至

操作系统历年真题分类

第一章 操作系统概述

(一)操作系统的基本概念

(二)操作系统的发展历程

  1. 【2009-23】单处理机系统中,可并行的是( )。

Ⅰ. 进程与进程

Ⅱ. 处理机与设备

Ⅲ. 处理机与通道

Ⅳ. 设备与设备

A. Ⅰ、Ⅱ和Ⅲ

B. Ⅰ、Ⅱ和Ⅳ

C. Ⅰ、Ⅲ和Ⅳ

D. Ⅱ、Ⅲ和Ⅳ

  1. 【2016-23】下列关于批处理系统的叙述中,正确的是( )。

Ⅰ.批处理系统允许多个用户与计算机直接交互

Ⅱ.批处理系统分为单道批处理系统和多道批处理系统

Ⅲ.中断技术使得多道批处理系统的I/O设备可与CPU并行工作

A. 仅Ⅱ、Ⅲ

B. 仅Ⅱ

C.仅Ⅰ、Ⅱ

D. 仅Ⅰ、Ⅲ

  1. 【2017-28】与单道程序系统相比,多道程序系统的优点是( )。

Ⅰ. CPU利用率高

Ⅱ. 系统开销小

Ⅲ. 系统吞吐量大

Ⅳ. I/O设备利用率高

A. 仅Ⅰ、Ⅲ

B. 仅Ⅰ、Ⅳ

C. 仅Ⅱ、Ⅲ

D. 仅Ⅰ、Ⅲ、Ⅳ

  1. 【2018-23】下列关于多任务操作系统的叙述中,正确的是( )。

Ⅰ. 具有并发和并行的特点

Ⅱ. 需要实现对共享资源的保护

Ⅲ. 需要运行在多CPU的硬件平台上

A. 仅Ⅰ

B. 仅Ⅱ

C. 仅Ⅰ、Ⅱ

D. Ⅰ、Ⅱ、Ⅲ

  1. 【2022-23】下列关于多道程序系统的叙述中,不正确的是( )。

A. 支持进程的并发执行

B. 不必支持虚拟存储管理

C. 需要实现对共享资源的管理

D. 进程数越多CPU利用率越高

(三)程序运行环境

CPU 运行模式(内核模式、用户模式)

  1. 【2011-24】下列选项中,在用户态执行的是( )。

A. 命令解释程序

C. 进程调度程序

B. 缺页处理程序

D. 时钟中断处理程序

  1. 【2012-23】下列选项中,不可能在用户态发生的事件是( )。

A. 系统调用

B. 外部中断

C. 进程切换

D. 缺页

  1. 【2013-28】下列选项中,会导致用户进程从用户态切换到内核态的操作是( )。

I. 整数除以零

II. sin() 函数调用

III. read 系统调用

A. 仅 I、II

B. 仅 I、III

C. 仅 II、III

D. I、II 和 III

  1. 【2014-25】下列指令中,不能在用户态执行的是( )。

A. trap指令

B. 跳转指令

C. 压栈指令

D. 关中断指令

  1. 【2015-24】假定下列指令已装入指令寄存器,则执行时不可能导致CPU从用户态变为内核态(系统态)的是( )。

A. DIV R0, R1 ;(R0) / (R1) → R0

B. INT n ;产生软中断

C. NOT R0 ;寄存器R0的内容取非

D. MOV R0, addr ;把地址addr处的内存数据放入寄存器R0中

  1. 【2021-23】下列指令中,只能在内核态执行的是( )。

A. trap指令

B. I/O指令

C. 数据传送指令

D. 设置断点指令

  1. 【2022-27】下列关于CPU模式的叙述中,正确的是( )。

A. CPU处于用户态时只能执行特权指令

B. CPU处于内核态时只能执行特权指令

C. CPU处于用户态时只能执行非特权指令

D. CPU处于内核态时只能执行非特权指令

  1. 【2023-24】在操作系统内核中,中断向量表适合采用的数据结构是( )。

A. 数组

B. 队列

C. 单向链表

D. 双向链表

  1. 【2023-26】下列操作完成时,导致CPU从内核态转为用户态的是( )。

A. 阻塞过程

B. 执行 CPU 调度

C. 唤醒进程

D. 执行系统调用

中断和异常的处理

  1. 【2009-22】下列选项中,能引起外部中断的事件是( )。

A. 键盘输入

B. 除数为0

C. 浮点运算下溢

D. 访存缺页

  1. 【2012-24】中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是( )。

A. 程序计数器

B. 程序状态字寄存器

C. 通用数据寄存器

D. 通用地址寄存器

  1. 【2015-23】处理外部中断时,应该由操作系统保存的是( )。

A. 程序计数器 (PC) 的内容

B. 通用寄存器的内容

C. 快表 (TLB) 中的内容

D. Cache中的内容

  1. 【2018-29】当定时器产生时钟中断后,由时钟中断服务程序更新的部分内容是

Ⅰ. 内核中时钟变量的值

Ⅱ. 当前进程占用 CPU 的时间

Ⅲ. 当前进程在时间片内的剩余执行时间

A. 仅Ⅰ、Ⅱ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅰ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

系统调用

  1. 【2010-23】下列选项中,操作系统提供给应用程序的接口是( )。

A. 系统调用 B. 中断 C. 库函数 D. 原语

  1. 【2017-24】执行系统调用的过程包括如下主要操作:

① 返回用户态

② 执行陷入 (trap) 指令

③ 传递系统调用参数

④ 执行相应的服务程序

正确的执行顺序是( )。

A. ②→③→①→④

B. ②→④→③→①

C. ③→②→④→①

D. ③→④→②→①

  1. 【2019-25】下列关于系统调用的叙述中,正确的是( )。

Ⅰ. 在执行系统调用服务程序的过程中,CPU处于内核态

Ⅱ. 操作系统通过提供系统调用避免用户程序直接访问外设

Ⅲ. 不同的操作系统为应用程序提供了统一的系统调用接口

Ⅳ. 系统调用是操作系统内核为应用程序提供服务的接口

A. 仅Ⅰ、Ⅳ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅰ、Ⅱ、Ⅳ

D. 仅Ⅰ、Ⅲ、Ⅳ

  1. 【2021-32】下列选项中,通过系统调用完成的操作是( )。

A. 页置换

B. 进程调度

C. 建新进程

D. 生成随机整数

  1. 【2022-31】执行系统调用的过程涉及下列操作,其中由操作系统完成的是( )。

Ⅰ. 保存断点和程序状态字

Ⅱ. 保存通用寄存器的内容

Ⅲ. 执行系统调用服务程序

Ⅳ. 将CPU模式改为内核态

A. 仅Ⅰ、Ⅲ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅱ、Ⅳ

D. 仅Ⅱ、Ⅲ、Ⅳ

  1. 【2024-23】下面关于中断、异常和系统调用的叙述中,错误的是

A. 中断或异常发生时,CPU 处于内核态

B. 每个系统调用都有对应的内核服务例程

C. 中断处理程序开始执行时,CPU 处于内核态

D. 系统添加新类型设备时,需注册相应的中断服务例程

程序的链接与装入

程序运行时内存映像与地址空间

(四)操作系统结构(分层,模块化,宏内核,微内核,外核)

  1. 【2023-23】与宏内核操作系统相比,下列特征中微内核操作系统具有的是( )。

Ⅰ. 较好的性能

Ⅱ. 较高的可靠性

Ⅲ. 较高的安全性

Ⅳ. 较强的可扩展性

A. Ⅱ、Ⅳ

B. Ⅰ、Ⅱ、Ⅲ

C. Ⅰ、Ⅲ、Ⅳ

D. Ⅱ、Ⅲ、Ⅳ

(五)操作系统引导

  1. 【2013-29】计算机开机后,操作系统最终被加载到( )。

A. BIOS

B. ROM

C. EPROM

D. RAM

  1. 【2022-24】下列选项中,需要在操作系统进行初始化过程中创建的是( )。

A. 中断向量表

B. 文件系统的根目录

C. 硬盘分区表

D. 文件系统的索引节点表

(六)虚拟机

第二章 进程管理

(一)进程与线程

1.进程与线程的基本概念

2.进程/线程的状态与转换

  1. 【2010-24】下列选项中,导致创建新进程的操作是( )。

I. 用户登录成功

II. 设备分配

III. 启动程序执行

A. 仅I和II B. 仅II和III C. 仅I和III D. I、II和III

  1. 【2014-26】一个进程的读磁盘操作完成后,操作系统针对该进程必做的是( )。

A. 修改进程状态为就绪态

B. 降低进程优先级

C. 给进程分配用户内存空间

D. 增加进程时间片大小

  1. 【2015-25】下列选项中,会导致进程从执行态变为就绪态的事件是( )。

A. 执行 P (wait) 操作

B. 申请内存失败

C. 启动I/O设备

D. 被高优先级进程抢占

  1. 【2018-27】下列选项中,可能导致当前进程 P 阻塞的事件是

Ⅰ. 进程 P 申请临界资源

Ⅱ. 进程 P 从磁盘读数据

Ⅲ. 系统将 CPU 分配给高优先权的进程

A. 仅Ⅰ

B. 仅Ⅱ

C. 仅Ⅰ、Ⅱ

D. Ⅰ、Ⅱ、Ⅲ

  1. 【2019-24】下列选项中,可能会将进程唤醒的事件是( )。

Ⅰ. I/O结束

Ⅱ. 某进程退出临界区

Ⅲ. 当前进程的时间片用完

A. 仅Ⅰ

B. 仅Ⅲ

C. 仅Ⅰ、Ⅱ

D. Ⅰ、Ⅱ、Ⅲ

  1. 【2020-29】下列关于父进程与子进程的叙述中,错误的是( )。

A. 父进程与子进程可以并发执行

B. 父进程与子进程共享虚拟地址空间

C. 父进程与子进程有不同的进程控制块

D. 父进程与子进程不能同时使用同一临界资源

  1. 【2021-24】下列操作中,操作系统在创建新进程时,必须完成的是( )。

Ⅰ. 申请空白的进程控制块

Ⅱ. 初始化进程控制块

Ⅲ. 设置进程状态为执行态

A. 仅Ⅰ

B. 仅Ⅰ、Ⅱ

C. 仅Ⅰ、Ⅲ

D. 仅Ⅱ、Ⅲ

  1. 【2022-28】下列事件或操作中,可能导致进程P由执行态变为阻塞态的是( )。

Ⅰ. 进程P读文件

Ⅱ. 进程P的时间片用完

Ⅲ. 进程P申请外设

Ⅳ. 进程P执行信号量的wait()操作

A. 仅Ⅰ、Ⅳ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅲ、Ⅳ

D. 仅Ⅰ、Ⅲ、Ⅳ

  1. 【2023-27】下列给出当前线程引起的事件或执行的操作中,可能导致该线程由执行态变为就绪态的是( )。

A. 键盘输入

B. 缺页异常

C. 主动出让CPU

D. 执行信号量的wait()操作

  1. 【2024-24】下列选项中,操作系统在终止进程时不一定执行的是

A. 终止子进程

B. 回收分配的内存资源

C. 撤销进程 PCB

D. 回收进程占用的设备

  1. 【2024-25】在支持页式存储管理的系统中,进程切换时操作系统要执行的操作是

Ⅰ. 更新程序计数器的值

Ⅱ. 更新栈基址寄存器的值

Ⅲ. 更新页基地址寄存器的值

A. 仅Ⅲ

B. 仅I、Ⅱ

C. 仅Ⅰ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

3.线程的实现(内核支持的线程,线程库支持的线程)

  1. 【2011-25】在支持多线程的系统中,进程P创建的若干个线程不能共享的是( )。

A. 进程P的代码段

C. 进程P的全局变量

B. 进程P中打开的文件

D. 进程P中某线程的栈指针

  1. 【2012-31】下列关于进程和线程的叙述中,正确的是( )。

A. 不管系统是否支持线程,进程都是资源分配的基本单位

B. 线程是资源分配的基本单位,进程是调度的基本单位

C. 系统级线程和用户级线程的切换都需要内核的支持

D. 同一进程中的各个线程拥有各自不同的地址空间

  1. 【2019-23】下列关于线程的描述中,错误的是( )。

A. 内核级线程的调度由操作系统完成

B. 操作系统为每个用户级线程建立一个线程控制块

C. 用户级线程间的切换比内核级线程间的切换效率高

D. 用户级线程可以在不支持内核级线程的操作系统上实现

4.进程与线程的组织与控制

  1. 【2024-28】若进程 P 中线程 T 先打开文件,得到文件描述符 fd,再创建线程 Ta 和 Tb,则下列资源中,线程 Ta 与 Tb 可共享的是

Ⅰ. 进程 P 的地址空间

Ⅱ. 线程 T 的栈

Ⅲ. 文件描述符 fd

A. 仅I

B. 仅I、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

5.进程间通信(共享内存,消息传递,管道,信号)

  1. 【2014-31】下列关于管道(Pipe)通信的叙述中,正确的是( )。

A. 一个管道可实现双向数据传输

B. 管道的容量仅受磁盘容量大小限制

C. 进程对管道进行读操作和写操作都可能被阻塞

D. 一个管道只能有一个读进程或一个写进程对其操作

(二)CPU 调度与上下文切换

调度的基本概念

  1. 【2012-30】若某单处理器多进程系统中有多个就绪态进程,则下列关于处理机调度的叙述中,错误的是( )。

A. 在进程结束时能进行处理机调度

B. 创建新进程后能进行处理机调度

C. 在进程处于临界区时不能进行处理机调度

D. 在系统调用完成并返回用户态时能进行处理机调度

  1. 【2017-27】下列有关基于时间片的进程调度的叙述中,错误的是( )。

A. 时间片越短,进程切换的次数越多,系统开销也越大

B. 当前进程的时间片用完后,该进程状态由执行态变为阻塞态

C. 时钟中断发生后,系统会修改当前进程在时间片内的剩余时间

D. 影响时间片大小的主要因素包括响应时间、系统开销和进程数量等

调度的目标

调度的实现

CPU 调度算法

  1. 【2009-24】下列进程调度算法中,综合考虑进程等待时间和执行时间的是( )。

A. 时间片轮转调度算法

B. 短进程优先调度算法

C. 先来先服务调度算法

D. 高响应比优先调度算法

  1. 【2010-26】下列选项中,降低进程优先级的合理时机是( )。

A. 进程的时间片用完

B. 进程刚完成I/O,进入就绪列队

C. 进程长期处于就绪列队中

D. 进程从就绪态转为运行态

  1. 【2011-23】下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( )。

A. 先来先服务

B. 高响应比优先

C. 时间片轮转

D. 非抢占式短任务优先

  1. 【2012-29】一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下:

P1:计算60ms,I/O80ms,计算20ms

P2:计算120ms,I/O40ms,计算40ms

若不考虑调度和切换时间,则完成两个作业需要的时间最少是( )。

A. 240ms

B. 260ms

C. 340ms

D. 360ms

  1. 【2013-31】某系统正在执行三个进程 P1、P2 和 P3,各进程的计算 (CPU) 时间和 I/O 时间比例如下表所示。

\(\begin{array}{|c|c|c|}\hline \text{进程}&\text{计算时间}&\text{I/O时间}\\\hline \text{P1}&90\%&10\%\\\hline \text{P2}&50\%&50\%\\\hline \text{P3}&15\%&85\%\\\hline \end{array}\)

为提高系统资源利用率,合理的进程优先级设置应为( )。

A. P1>P2>P3

B. P3>P2>P1

C. P2>P1=P3

D. P1>P2=P3

答案

本题选B。

从I/O时间占比角度分析:

在I/O密集型进程中,I/O操作的速度和效率是主要瓶颈,因为它更多的时间花在等待 I/O 操作完成上,而不是在需要持续 CPU 计算的任务上,CPU的处理能力往往有闲置。因此,为了有效利用系统资源,应当给予这类进程较高的优先级。

当一个进程在等待 I/O 操作完成时,操作系统可以将 CPU 时间分配给其他可执行的进程,从而实现资源的更有效利用。这种情况下,给予 I/O 占比高的进程较高的优先级,有助于确保系统能够更灵活地响应 I/O 操作,从而提高整体的系统资源利用率。

在本题中,P1的I/O时间占比<P2的I/O时间占比<P3的I/O时间占比,因此合理的进程优先级设置应P3>P2>P1。

从CPU时间占比角度分析:

类比短进程优先算法,将I/O时间不占用CPU,计算时间占用CPU,可以让计算时间较短(或计算时间占比较少)的进程优先执行,从而降低平均周转时间,提高CPU和I/O设备的并行度。

在本题中,P1的计算时间占比>P2的计算时间占比>P3的计算时间占比,因此合理的进程优先级设置应为P3>P2>P1。

综上,综合考虑进程的计算 (CPU) 时间和 I/O 时间,合理的进程优先级设置应为P3>P2>P1。

  1. 【2014-23】下列调度算法中,不可能导致饥饿现象的是( )。

A. 时间片轮转

B. 静态优先数调度

C. 非抢占式短作业优先

D. 抢占式短作业优先

  1. 【2016-24】某单CPU系统中有输入和输出设备各1台,现有3个并发执行的作业,每个作业的输入、计算和输出时间均分别为2ms、3ms和4ms,且都按输入、计算和输出的顺序执行,则执行完3个作业需要的时间最少是( )。

A. 15ms

B. 17ms

C. 22ms

D. 27ms

  1. 【2017-23】假设4个作业到达系统的时刻和运行时间如下表所示。

1746540564362-0b1d0856-6ff9-41a1-bd05-ea3157335b19.png

系统在t=2时开始作业调度。若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是( )。

A. J2、J3

B. J1、J4

C. J2、J4

D. J1、J3

答案

本题选D。

系统在t=2时开始作业调度,此时已经到达的作业有J1、J2和J3。

先来先服务调度算法优先选择到达时刻早的作业,J1、J2和J3中J1到达时刻最早。若采用先来先服务调度算法,则选中J1。

短作业优先调度算法优先选择运行时间短的作业,J1、J2和J3中J3的运行时间最短。若采用短作业优先调度算法,则选中J3。

  1. 【2018-24】某系统采用基于优先权的非抢占式进程调度策略,完成一次进程调度和进程切换的系统时间开销为1μs。在T时刻就绪队列中有3个进程P1、P2和P3,其在就绪队列中的等待时间、需要的CPU时间和优先权如下表所示。

\(\begin{array}{|c|}\hline \text{进程}&\text{等待时间}&\text{需要的CPU时间}&\text{优先权}\\\hline \text{P1}&\text{30μs}&\text{12μs}&10\\ \text{P2}&\text{15μs}&\text{24μs}&30\\ \text{P3}&\text{18μs}&\text{36μs}&20\\\hline \end{array}\)

若优先权值大的进程优先获得CPU,从T时刻起系统开始进程调度,则系统的平均周转时间为( )。

A. 54μs

B. 73μs

C. 74μs

D. 75μs

答案

本题选D。

因优先权值大的进程优先获得CPU,进程的执行顺序为P2, P3, P1。

进程Pi的周转时间 = 进程Pi的等待时间 + 一次进程调度和进程切换的系统时间开销 + 进程Pi需要的CPU时间。

进程Pi的等待时间 = 进程Pi初始时在就绪队列中的等待时间 + 之前进程需要的CPU时间+之前进程调度和进程切换的系统时间开销。

P2的周转时间(单位:μs)为:15+0+1+24=40;

P3的周转时间(单位:μs)为:18+1+24+1+36=80;

P1的周转时间(单位:μs)为:30+1+24+1+36+1+12=105。

系统的平均周转时间(单位:μs)为:(40+80+105) / 3 = 225 / 3 =75。

  1. 【2019-27】系统采用二级反馈队列调度算法进行进程调度。就绪队列Q1采用时间片轮转调度算法,时间片为10ms;就绪队列Q2采用短进程优先调度算法;系统优先调度Q1队列中的进程,当Q1为空时系统才会调度Q2中的进程;新创建的进程首先进入Q1;Q1中的进程执行一个时间片后,若未结束,则转入Q2。若当前Q1、Q2为空,系统依次创建进程P1、P2后即开始进程调度,P1、P2需要的CPU时间分别为30ms和20ms,则进程P1、P2在系统中的平均等待时间为( )。

A. 25ms

B. 20ms

C. 15ms

D. 10ms

  1. 【2020-26】下列与进程调度有关的因素中,在设计多级反馈队列调度算法时需要考虑的是( )。

Ⅰ. 就绪队列的数量

Ⅱ. 就绪队列的优先级

Ⅲ. 各就绪队列的调度算法

Ⅳ. 进程在就绪队列间的迁移条件

A. 仅Ⅰ、Ⅱ

B. 仅Ⅲ、Ⅳ

C. 仅Ⅱ、Ⅲ、Ⅳ

D. Ⅰ、Ⅱ、Ⅲ和Ⅳ

  1. 【2021-25】下列内核的数据结构或程序中,分时系统实现时间片轮转调度需要使用的是( )。

Ⅰ. 进程控制块

Ⅱ. 时钟中断处理程序

Ⅲ. 进程就绪队列

Ⅳ. 进程阻塞队列

A. 仅Ⅱ、Ⅲ

B. 仅Ⅰ、Ⅳ

C. 仅Ⅰ、Ⅱ、Ⅲ

D. 仅Ⅰ、Ⅱ、Ⅳ

  1. 【2021-27】下列事件中,可能引起进程调度程序执行的是( )。

Ⅰ. 中断处理结束

Ⅱ. 进程阻塞

Ⅲ. 进程执行结束

Ⅳ. 进程的时间片用完

A. 仅Ⅰ、Ⅲ

B. 仅Ⅱ、Ⅳ

C. 仅Ⅲ、Ⅳ

D. Ⅰ、Ⅱ、Ⅲ和Ⅳ

  1. 【2022-25】进程P0、P1、P2和P3进入就绪队列的时刻、优先级(值越小优先权越高)及CPU执行时间如下表所示。

\(\begin{array}{|c|}\hline \text{进程}&\text{进入就绪队列的时刻}&\text{优先级}&\text{CPU执行时间}\\\hline \text{P0}&\text{0 ms}&15&\text{100 ms}\\ \text{P1}&\text{10 ms}&20&\text{60 ms}\\ \text{P2}&\text{10 ms}&10&\text{20 ms}\\ \text{P3}&\text{15 ms}&6&\text{10 ms}\\\hline \end{array}\)

若系统采用基于优先权的抢占式进程调度算法,则从0ms时刻开始调度,到4个进程都运行结束为止,发生进程调度的总次数为( )。

A. 4

B. 5

C. 6

D. 7

答案

本题选C。

按时间序列进程分析:

  1. 0ms时刻,只有P0进入就绪队列,开始运行P0。
  2. 10ms时刻,P1、P2进入就绪队列,P0运行了10ms-0ms=10ms,其CPU执行时间为100ms,剩余CPU执行时间为100ms-10ms=90ms。就绪队列中存在P0、P1、P2三个进程。系统采用基于优先权的抢占式进程调度算法,三个进程中P2的优先级值最小,值越小优先权越高,P2抢占执行。
  3. 15ms时刻,P3进入就绪队列,P2运行了15ms-10ms=5ms,其CPU执行时间为20ms,剩余CPU执行时间为20ms-5ms=15ms。就绪队列中存在P0、P1、P2、P3四个进程,此时所有进程都以就绪,系统采用基于优先权的抢占式进程调度算法,值越小优先权越高,优先级值从小到大依次为P3、P2、P0、P1,此时P3抢占执行。

综上,从0ms开始到4个进程都运行结束为止,进程执行序列为P0、P2、P3、P2、P0、P1,发生进程调度的总次数为6。

  1. 【2023-29】进程P1、P2和P3进入就绪队列的的时刻,优先值(越大优先权越高)以及CPU的 执行时间如下表所示。

\(\begin{array}{|c|}\hline \text{进程名}&\text{进入就绪队列的时刻}&\text{优先级}&\text{CPU执行时间}\\\hline \text{P1}&\text{0 ms}&1&\text{60 ms}\\ \text{P2}&\text{20 ms}&10&\text{42 ms}\\ \text{P3}&\text{30 ms}&100&\text{13 ms}\\\hline \end{array}\)

系统采用基于优先权的抢占式CPU调度算法,从0ms时刻开始进行调度,则P1、P2和P3的平均周转时间为( )。

A. 60 ms

B. 61 ms

C. 70 ms

D. 71 ms

答案

本题选B。

按时间序列进程分析:

  • 0ms时刻,只有P1进入就绪队列,开始运行P0。
  • 20ms时刻,P2进入就绪队列,P1运行了20ms-0ms=20ms,其CPU执行时间为60ms,剩余CPU执行时间为60ms-20ms=40ms。就绪队列中存在P1和P2两个进程。系统采用基于优先权的抢占式进程调度算法,P2优先级值比P1优先级值大,值越大优先权越高,P2抢占执行。
  • 30ms时刻,P3进入就绪队列,P2运行了30ms-20ms=10ms,其CPU执行时间为42ms,剩余CPU执行时间为42ms-10ms=32ms。就绪队列中存在P1、P2、P3三个进程,此时所有进程都以就绪,系统采用基于优先权的抢占式进程调度算法,值越大优先权越高,优先级值从大到小依次为P3、P2、P1,此时P3抢占执行。
  • 30ms+13ms=43ms时刻,P3执行完毕,P2执行。
  • 43ms+32ms=75ms时刻,P2执行完毕,P1执行。
  • 75ms+40ms=115ms时刻,P1执行完毕,此时所有进程均已执行完毕。

进程周转时间 = 进程完成时刻-进程进入就绪队列的时刻。

  • P1周转时间 = P1进程完成时刻-P1进程进入就绪队列的时刻 = 115ms-0ms = 115ms;
  • P2周转时间 = P2进程完成时刻-P2进程进入就绪队列的时刻 = 75ms-20ms = 55ms;
  • P3周转时间 = P3进程完成时刻-P3进程进入就绪队列的时刻 = 43ms-30ms = 13ms;
  • P1、P2和P3的平均周转时间 = (P1周转时间 + P2周转时间 + P3周转时间)/3 = 61ms。
  1. 【2024-30】假设某系统使用时间片轮转调度算法进行 CPU 调度,时间片大小为 5 ms,系统共有 10 个进程,初始时均处于就绪队列,执行结束前仅处于执行态或就绪态。若队尾的进程 P 所需 CPU 时间最短,时间为 25 ms。在不考虑系统开销的情况下,则进程 P 的周转时间为

A. 200 ms

B. 205 ms

C. 250 ms

D. 295 ms

多处理机调度

上下文及其切换机制

(三)同步与互斥

同步与互斥的基本概念

  1. 【2011-32】有两个并发执行的进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。加1和减1操作的指令序列分别如下所示。
P1 // 加1操作
load R1, x // 取x到寄存器R1中
inc R1
store x, R1 // 将R1的内容存入x
P2 // 减1操作
load R2, x // 取x到寄存器R2中
dec R2
store x, R2 // 将R2的内容存入x

两个操作完成后,x的值( )。

A. 可能为-1或3

B. 只能为1

C. 可能为0、1或2

D. 可能为-1、0、1或2

  1. 【2016-30】进程P1和P2均包含并发执行的线程,部分伪代码描述如下所示。
//进程 P1
int x = 0;
Thread1()
{
    int a;
    a = 1; x += 1;
}
Thread2()
{
    int a;
    a = 2; x += 2;
}
//进程 P2
int x = 0;
Thread3()
{
    int a;
    a = x; x += 3;
}
Thread4()
{
    int b;
    b = x; x += 4;
}

下列选项中,需要互斥执行的操作是( )。

A. a=1与a=2

B. a=x与b=x

C. x+=1与x+=2

D. x+=1与x+=3

  1. 【2018-25】属于同一进程的两个线程thread1和thread2并发执行,共享初值为0的全局变量x。thread1和thread2实现对全局变量x加1的机器级代码描述如下。
// thread1
 mov  R1,x   //(x)→R1
 inc  R1     //(R1)+1→R1
 mov  x,R1   //(R1)→x
 // thread2
 mov  R2,x   //(x)→R2
 inc  R2     //(R2)+1→R2
 mov  x,R2   //(R2)→x

在所有可能的指令执行序列中,使 x 的值为 2 的序列个数是( )。

A. 1

B. 2

C. 3

D. 4

  1. 【2020-32】下列准则中,实现临界区互斥机制必须遵循的是( )。

Ⅰ. 两个进程不能同时进入临界区

Ⅱ. 允许进程访问空闲的临界资源

Ⅲ. 进程等待进入临界区的时间是有限的

Ⅳ. 不能进入临界区的执行态进程立即放弃CPU

A. 仅Ⅰ、Ⅳ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅰ、Ⅱ、Ⅲ

D. 仅Ⅰ、Ⅲ、Ⅳ

基本的实现方法(软件方法;硬件方法)

  1. 【2010-27】进程P0和P1的共享变量定义及其初值为
boolean flag[2];
int turn = 0;
flag[0] = FALSE; 
flag[1] = FALSE;

若进程P0和P1访问临界资源的类C伪代码实现如下:

void P0() { //进程P0
    while (TRUE) {
        flag[0] = TRUE;
        turn = 1;
        while (flag[1] && (turn == 1));
        临界区;
        flag[0] = FALSE;
    }
}

void P1() { //进程P1
    while (TRUE) {
        flag[1] = TRUE;
        turn = 0;
        while (flag[0] && (turn == 0));
        临界区;
        flag[1] = FALSE;
    }
}

则并发执行进程P0和P1时产生的情形是( )。

A. 不能保证进程互斥进入临界区,会出现“饥饿”现象

B. 不能保证进程互斥进入临界区,不会出现“饥饿”现象

C. 能保证进程互斥进入临界区,会出现“饥饿”现象

D. 能保证进程互斥进入临界区,不会出现“饥饿”现象

  1. 【2016-27】使用TSL (Test and Set Lock) 指令实现进程互斥的伪代码如下所示。
do {
     ...
     while (TSL(&lock));
     critical section;
     lock = FALSE;
     ...
 } while (TRUE);

下列与该实现机制相关的叙述中,正确的是( )。

A. 退出临界区的进程负责唤醒阻塞态进程

B. 等待进入临界区的进程不会主动放弃CPU

C. 上述伪代码满足“让权等待”的同步准则

D. while (TSL(&lock)) 应在关中断状态下执行

  1. 【2018-32】在下列同步机制中,可以实现让权等待的是( )。

A. Peterson方法

B. swap指令

C. 信号量方法

D. TestAndSet指令

锁

信号量

  1. 【2010-25】设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,N表示等待该资源的进程数,则M、N分别是( )。

A. 0、1 B. 1、0 C. 1、2 D. 2、0

条件变量

  1. 【2016-32】下列关于管程的叙述中,错误的是( )。

A. 管程只能用于实现进程的互斥

B. 管程是由编程语言支持的进程同步机制

C. 任何时候只能有一个进程在管程中执行

D. 管程中定义的变量只能被管程内的过程访问

  1. 【2018-28】若 x 是管程内的条件变量,则当进程执行 x.wait() 时所做的工作是

A. 实现对变量 x 的互斥访问

B. 唤醒一个在 x 上阻塞的进程

C. 根据 x 的值判断该进程是否进入阻塞状态

D. 阻塞该进程,并将之插入 x 的阻塞队列中

经典同步问题(生产者-消费者问题;读者-写者问题;哲学家进餐问题)

(四)死锁

死锁的基本概念

  1. 【2009-25】某计算机系统中有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是( )。

A. 2

B. 3

C. 4

D. 5

  1. 【2014-24】某系统有 n 台互斥使用的同类设备,三个并发进程分别需要3、4、5台设备,可确保系统不发生死锁的设备数 n 最小为( )。

A. 9

B. 10

C. 11

D. 12

死锁预防

  1. 【2021-31】若系统中有n(n≥2)个进程,每个进程均需要使用某类临界资源2个,则系统不会发生死锁所需的该类资源总数至少是( )。

A. 2

B. n

C. n+1

D. 2n

死锁避免

  1. 【2011-27】某时刻进程的资源使用情况如下表所示。

1783966289214-f894ae41-3546-44ee-b515-36e4048b0beb.png

此时的安全序列是( )。

A. P1, P2, P3, P4

C. P1, P4, P3, P2

B. P1, P3, P2, P4

D. 不存在

  1. 【2012-27】假设5个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为18、6、22。T0时刻的资源分配情况如下表所示,此时存在的一个安全序列是( )。

1783966671113-3df5f602-e9a0-4728-873d-6a208dbc7e53.png

A. P0, P2, P4, P1, P3

B. P1, P0, P3, P4, P2

C. P2, P1, P0, P3, P4

D. P3, P4, P2, P1, P0

  1. 【2013-32】下列关于银行家算法的叙述中,正确的是( )。

A. 银行家算法可以预防死锁

B. 当系统处于安全状态时,系统中一定无死锁进程

C. 当系统处于不安全状态时,系统中一定会出现死锁进程

D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件

  1. 【2018-26】假设系统中有 4 个同类资源,进程 P1、P2 和 P3需要的资源数分别为 4、3 和 1,P1、P2 和 P3 已申请到的资源数分别为 2、1 和 0,则执行安全性检测算法的结果是

A. 不存在安全序列,系统处于不安全状态

B. 存在多个安全序列,系统处于安全状态

C. 存在唯一安全序列 P3、P1、P2,系统处于安全状态

D. 存在唯一安全序列 P3、P2、P1,系统处于安全状态

  1. 【2019-30】下列关于死锁的叙述中,正确的是( )。

Ⅰ. 可以通过剥夺进程资源解除死锁

Ⅱ. 死锁的预防方法能确保系统不发生死锁

Ⅲ. 银行家算法可以判断系统是否处于死锁状态

Ⅳ. 当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态

A. 仅Ⅱ、Ⅲ

B. 仅Ⅰ、Ⅱ、Ⅳ

C. 仅Ⅰ、Ⅱ、Ⅲ

D. 仅Ⅰ、Ⅲ、Ⅳ

  1. 【2020-27】某系统中有A、B两类资源各6个,t时刻资源分配及需求情况如下表所示。

1783966689119-10b10fe0-4d1f-4543-8e22-8ec2084525cd.png

t时刻安全性检测结果是( )。

A. 存在安全序列P1、P2、P3

B. 存在安全序列P2、P1、P3

C. 存在安全序列P2、P3、P1

D. 不存在安全序列

  1. 【2022-26】系统中有三个进程P0、P1、P2及三类资源A、B、C。若某时刻系统分配资源的情况如下表所示,则此时系统中存在的安全序列的个数为( )。

1783966701090-0f3030b9-7f9d-4ba1-ba3d-67e4ae27a80f.png

A. 1

B. 2

C. 3

D. 4

死锁检测和解除

  1. 【2015-26】若系统S1采用死锁避免方法,S2采用死锁检测方法。下列叙述中,正确的是( )。

Ⅰ. S1会限制用户申请资源的顺序,而S2不会

Ⅱ. S1需要进程运行所需资源总量信息,而S2不需要

Ⅲ. S1不会给可能导致死锁的进程分配资源,而S2会

A. 仅Ⅰ、Ⅱ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅰ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

  1. 【2016-25】系统中有3个不同的临界资源R1、R2和R3,被4个进程p1、p2、p3及p4共享。各进程对资源的需求为:p1申请R1和R2,p2申请R2和R3,p3申请R1和R3,p4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是( )。

A. 1

B. 2

C. 3

D. 4

第三章 内存管理

(一)内存管理基础

内存管理的基本概念

  1. 【2009-26】分区分配内存管理方式的主要保护措施是( )。

A. 界地址保护

B. 程序代码保护

C. 数据保护

D. 栈保护

  1. 【2011-30】在虚拟内存管理中,地址变换机构将逻辑地址变为物理地址,形成该逻辑地址的阶段是( )。

A. 编辑

B. 编译

C. 链接

D. 装载

连续分配管理方式

  1. 【2010-28】某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配 (Best Fit) 算法,分配和释放的顺序为:分配15MB、分配30MB、释放15MB、分配8MB、分配6MB,此时主存中最大空闲分区的大小是( )。

A. 7MB B. 9MB C. 10MB D. 15MB

  1. 【2017-25】某计算机按字节编址,其动态分区内存管理采用最佳适应算法,每次分配和回收内存后都对空闲分区链重新排序。当前空闲分区信息如下表所示。
分区起始地址 20K 500K 1000K 200K
分区大小 40KB 80KB 100KB 200KB

回收起始地址为60K、大小为140KB的分区后,系统中空闲分区的数量、空闲分区链第一个分区的起始地址和大小分别是( )。

A. 3、20K、380KB

B. 3、500K、80KB

C. 4、20K、180KB

D. 4、500K、80KB

  1. 【2019-32】在下列动态分区分配算法中,最容易产生内存碎片的是( )。

A. 首次适应算法

B. 最坏适应算法

C. 最佳适应算法

D. 循环首次适应算法

  1. 【2024-27】下列算法中,每次回收分区时仅合并大小相等的空闲分区的是

A. 伙伴算法

B. 最佳适应算法

C. 最坏适应算法

D. 首次适应算法

页式管理

  1. 【2010-29】某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为 \(2^{10}\)B,页表项大小为2B,逻辑地址结构为\(\begin{array}{|c|}\hline \text{页目录号}&\text{页号}&\text{页内偏移量}\\\hline \end{array}\)

逻辑地址空间大小为 \(2^{16}\)页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( )。

A. 64 B. 128 C. 256 D. 512

  1. 【2014-32】下列选项中,属于多级页表优点的是( )。

A. 加快地址变换速度

B. 减少缺页中断次数

C. 减少页表项所占字节数

D. 减少页表所占的连续内存空间

  1. 【2021-29】在采用二级页表的分页系统中,CPU页表基址寄存器中的内容是( )。

A. 当前进程的一级页表的起始虚拟地址

B. 当前进程的一级页表的起始物理地址

C. 当前进程的二级页表的起始虚拟地址

D. 当前进程的二级页表的起始物理地址

  1. 【2023-30】进程R和S共享数据data,若date在R和S中所在页的页号分别为p1和p2,两个页所对应的页框号分别为f1和f2,则下列叙述中,正确的是( )。

A. p1 和 p2 一定相等,f1 和 f2 一定相等

B. p1 和 p2 一定相等,f1 和 f2 不一定相等

C. p1 和 p2 不一定相等,f1 和 f2 一定相等

D. p1 和 p2 不一定相等,f1 和 f2 不一定相等

  1. 【2024-25】在支持页式存储管理的系统中,进程切换时操作系统要执行的操作是

Ⅰ. 更新程序计数器的值

Ⅱ. 更新栈基址寄存器的值

Ⅲ. 更新页基地址寄存器的值

A. 仅Ⅲ

B. 仅I、Ⅱ

C. 仅Ⅰ、Ⅲ

D. Ⅰ、Ⅱ、Ⅲ

段式管理

  1. 【2009-27】一个分段存储管理系统中,地址长度为32位,其中段号占8位,则最大段长是( )。

A. \(2^8\)B

B. \(2^{16}\)B

C. \(2^{24}\)B

D. \(2^{32}\)B

  1. 【2016-28】某进程的段表内容如下所示。

\(\begin{array}{c|}\hline \text{段号}&\text{段长}&\text{内存起始地址}&\text{权限}&\text{状态}\\\hline 0&100&6000&\text{只读}&\text{在内存}\\ 1&200&...&\text{读写}&\text{不在内存}\\ 2&300&4000&\text{读写}&\text{在内存}\\\hline \end{array}\)

当访问段号为2、段内地址为400的逻辑地址时,进行地址转换的结果是( )。

A. 段缺失异常

B. 得到内存地址4400

C. 越权异常

D. 越界异常

  1. 【2019-28】在分段存储管理系统中,用共享段表描述所有被共享的段。若进程P1和P2共享段S,下列叙述中,错误的是( )。

A. 在物理内存中仅保存一份段S的内容

B. 段S在P1和P2中应该具有相同的段号

C. P1和P2共享段S在共享段表中的段表项

D. P1和P2都不再使用段S时才回收段S所占的内存空间

段页式管理

(二)虚拟内存管理

虚拟内存基本概念

  1. 【2012-25】下列关于虚拟存储器的叙述中,正确的是( )。

A. 虚拟存储只能基于连续分配技术

B. 虚拟存储只能基于非连续分配技术

C. 虚拟存储容量只受外存容量的限制

D. 虚拟存储容量只受内存容量的限制

  1. 【2023-28】对于采用虚拟内存管理方式的系统,下列关于进程虚拟地址空间的叙述中,错误的是( )。

A. 每个进程都有自己独立的虚拟地址空间

B. C语言中malloc( )函数返回的是虚拟地址

C. 进程对数据段和代码段可以有不同的访问权限

D. 虚拟地址的大小由主存和硬盘的大小决定

请求页式管理

  1. 【2011-28】在缺页处理过程中,操作系统执行的操作可能是( )。

Ⅰ. 修改页表

Ⅱ. 磁盘I/O

Ⅲ. 分配页框

A. 仅Ⅰ、Ⅱ

B. 仅Ⅱ

C. 仅Ⅲ

D. Ⅰ、Ⅱ和Ⅲ

  1. 【2013-30】若用户进程访问内存时产生缺页,则下列选项中,操作系统可能执行的操作是( )。

I. 处理越界错

II. 置换页

III. 分配内存

A. 仅 I、II

B. 仅 II、III

C. 仅 I、III

D. I、II 和 III

  1. 【2014-28】下列措施中,能加快虚实地址转换的是( )。

I. 增大快表 (TLB) 容量

II. 让页表常驻内存

III. 增大交换区 (swap)

A. 仅 I

B. 仅 II

C. 仅 I、II

D. 仅 II、III

  1. 【2019-31】某计算机主存按字节编址,采用二级分页存储管理,地址结构如下所示:\(\begin{array}{|c|}\hline \text{页目录号(10位)}&\text{页号(10位)}&\text{页内偏移(12位)}\\\hline \end{array}\),虚拟地址20501225H对应的页目录号、页号分别是( )。

A. 081H、101H

B. 081H、401H

C. 201H、101H

D. 201H、401H

  1. 【2022-29】某进程访问的页b不在内存中,导致产生缺页异常,该缺页异常处理过程中不一定包含的操作是( )。

A. 淘汰内存中的页

B. 建立页号与页框号的对应关系

C. 将页b从外存读入内存

D. 修改页表中页b对应的存在位

页框分配与回收

  1. 【2014-30】在页式虚拟存储管理系统中,采用某些页面置换算法,会出现Belady异常现象,即进程的缺页次数会随着分配给该进程的页框个数的增加而增加。下列算法中,可能出现Belady异常现象的是( )。

I. LRU算法

II. FIFO算法

III. OPT算法

A. 仅 II

B. 仅 I、II

C. 仅 I、III

D. 仅 II、III

  1. 【2015-27】系统为某进程分配了4个页框,该进程已访问的页号序列为2, 0, 2, 9, 3, 4, 2, 8, 2, 4, 8, 4, 5。若进程要访问的下一页的页号为7,依据LRU算法,应淘汰页的页号是( )。

A. 2

B. 3

C. 4

D. 8

  1. 【2016-26】某系统采用改进型CLOCK置换算法,页表项中字段A为访问位,M为修改位。A=0表示页最近没有被访问,A=1表示页最近被访问过。M=0表示页没有被修改过,M=1表示页被修改过。按 (A, M) 所有可能的取值,将页分为四类:(0, 0)、(1, 0)、(0, 1) 和 (1, 1),则该算法淘汰页的次序为( )。

A. (0, 0), (0, 1), (1,0), (1, 1)

B. (0, 0), (1, 0), (0, 1), (1, 1)

C. (0, 0), (0, 1), (1, 1), (1, 0)

D. (0, 0), (1, 1), (0, 1), (1, 0)

  1. 【2019-29】某系统采用LRU页置换算法和局部置换策略,若系统为进程P预分配了4个页框,进程P访问页号的序列为0, 1, 2, 7, 0, 5, 3, 5, 0, 2, 7, 6,则进程访问上述页的过程中,产生页置换的总次数是( )。

A. 3

B. 4

C. 5

D. 6

  1. 【2021-28】某请求分页存储系统的页大小为4KB,按字节编址。系统给进程P分配2个固定的页框,并采用改进型Clock置换算法,进程P页表的部分内容如下表所示。

1783967806228-17f4d9e5-69a1-491c-9c1a-414a59bfda45.png

若P访问虚拟地址为02A01H的存储单元,则经地址变换后得到的物理地址是( )。

A. 00A01H

B. 20A01H

C. 60A01H

D. 80A01H

页置换算法

  1. 【2015-30】在请求分页系统中,页面分配策略与页面置换策略不能组合使用的是( )。

A. 可变分配,全局置换

B. 可变分配,局部置换

C. 固定分配,全局置换

D. 固定分配,局部置换

  1. 【2016-29】某进程访问页面的序列如下所示。

1783967843795-17fecd4c-2aa0-4300-a94b-181d9d93de12.png

若工作集的窗口大小为6,则在t时刻的工作集为( )。

A. {6, 0, 3, 2}

B. {2, 3, 0, 4}

C. {0, 4, 3, 2, 9}

D. {4, 5, 6, 0, 3, 2}

内存映射文件(Memory-MappedFiles)

虚拟存储器性能的影响因素及改进方式

  1. 【2011-29】当系统发生抖动 (thrashing) 时,可以采取的有效措施是( )。

Ⅰ. 撤销部分进程

Ⅱ. 增加磁盘交换区的容量

Ⅲ. 提高用户进程的优先级

A. 仅Ⅰ

B. 仅Ⅱ

C. 仅Ⅲ

D. 仅Ⅰ、Ⅱ

  1. 【2020-28】下列因素中,影响请求分页系统有效(平均)访存时间的是( )。

Ⅰ. 缺页率

Ⅱ. 磁盘读写时间

Ⅲ. 内存访问时间

Ⅳ. 执行缺页处理程序的CPU时间

A. 仅Ⅱ、Ⅲ

B. 仅Ⅰ、Ⅳ

C. 仅Ⅰ、Ⅲ、Ⅳ

D. Ⅰ、Ⅱ、Ⅲ和Ⅳ

  1. 【2022-30】下列选项中,不会影响系统缺页率的是( )。

A. 页面置换算法

B. 工作集的大小

C. 进程的数量

D. 页缓冲队列的长度

第四章 文件管理

(一)文件

文件的基本概念

  1. 【2009-30】文件系统中,文件访问控制信息存储的合理位置是( )。

A. 文件控制块

B. 文件分配表

C. 用户口令表

D. 系统注册表

文件元数据和索引节点(inode)

  1. 【2010-30】设文件索引节点中有7个地址项,其中4个地址项是直接地址索引,2个地址项是一级间接地址索引,1个地址项是二级间接地址索引,每个地址项大小为4B,若磁盘索引块和磁盘数据块大小均为256B,则可表示的单个文件最大长度是( )。

A. 33KB

B. 519KB

C. 1057KB

D. 16516KB

  1. 【2013-26】若某文件系统索引结点 (inode) 中有直接地址项和间接地址项,则下列选项中,与单个文件长度无关的因素是( )。

A. 索引结点的总数

B. 间接地址索引的级数

C. 地址项的个数

D. 文件块大小

  1. 【2015-29】在文件的索引节点中存放直接索引指针10个,一级和二级索引指针各1个。磁盘块大小为1KB,每个索引指针占4个字节。若某文件的索引节点已在内存中,则把该文件偏移量(按字节编址)为1234和307400处所在的磁盘块读入内存,需访问的磁盘块个数分别是( )。

A. 1、2

B. 1、3

C. 2、3

D. 2、4

文件的操作(建立,删除,打开,关闭,读,写)

  1. 【2012-28】若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是( )。

Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态

Ⅱ. 请求read系统调用会导致CPU从用户态切换到核心态

Ⅲ. read系统调用的参数应包含文件的名称

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. Ⅰ、Ⅱ和Ⅲ

  1. 【2013-23】用户在删除某文件的过程中,操作系统不可能执行的操作是( )。

A. 删除此文件所在的目录

B. 删除与此文件关联的目录项

C. 删除与此文件对应的文件控制块

D. 释放与此文件关联的内存缓冲区

  1. 【2014-29】在一个文件被用户进程首次打开的过程中,操作系统需要做的是( )。

A. 将文件内容读到内存中

B. 将文件控制块读到内存中

C. 修改文件控制块中的读写权限

D. 将文件的数据缓冲区首指针返回给用户进程

  1. 【2020-23】若多个进程共享同一个文件F,则下列叙述中,正确的是( )。

A. 各进程只能用“读”方式打开文件F

B. 在系统打开文件表中仅有一个表项包含F的属性

C. 各进程的用户打开文件表中关于F的表项内容相同

D. 进程关闭F时,系统删除F在系统打开文件表中的表项

  1. 【2021-30】若目录dir下有文件file1,则为删除该文件内核不必完成的工作是( )。

A. 删除file1的快捷方式

B. 释放file1的文件控制块

C. 释放file1占用的磁盘空间

D. 删除目录dir中与file1对应的目录项

  1. 【2023-31】若文件F仅被进程P打开并访问,则当进程P关闭F时,下列操作中,文件系统需要完成的是( )。

A. 删除目录中文件F的目录项

B. 释放F的索引节点所占的内存空间

C. 释放F的索引节点所占的外存空间

D. 将文件磁盘索引节点中的链接计数减1

  1. 【2024-29】以下系统调用的实现中,包含文件按名查找功能的是

A. open()

B. read()

C. write()

D. close()

文件的保护

  1. 【2017-30】某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件主、文件主的伙伴、其他用户;访问权限分为5种:完全控制、执行、修改、读取、写入。若文件控制块中用二进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为( )。

A. 5

B. 9

C. 12

D. 20

文件的逻辑结构

文件的物理结构

  1. 【2009-28】下列文件物理结构中,适合随机访问且易于文件扩展的是( )。

A. 连续结构

B. 索引结构

C. 链式结构且磁盘块定长

D. 链式结构且磁盘块变长

  1. 【2013-24】为支持 CD-ROM 中视频文件的快速随机播放,播放性能最好的文件数据块组织方式是( )。

A. 连续结构

B. 链式结构

C. 直接索引结构

D. 多级索引结构

  1. 【2020-24】下列选项中,支持文件长度可变、随机访问的磁盘存储空间分配方式是( )。

A. 索引分配

B. 链接分配

C. 连续分配

D. 动态分区分配

  1. 【2020-32】某文件系统的目录项由文件名和索引结点号构成。若每个目录项长度为64字节,其中4字节存放索引结点号,60字节存放文件名。文件名由小写英文字母构成,则该文件系统能创建的文件数量的上限为( )。

A. \(2^{26}\)

B. \(2^{32}\)

C. \(2^{60}\)

D. \(2^{64}\)

  1. 【2018-31】下列优化方法中,可以提高文件访问速度的是( )。

Ⅰ. 提前读

Ⅱ. 为文件分配连续的簇

Ⅲ. 延迟写

Ⅳ. 采用磁盘高速缓存

A. 仅Ⅰ、Ⅱ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅰ、Ⅲ、Ⅳ

D. Ⅰ、Ⅱ、Ⅲ、Ⅳ

(二)目录

目录的基本概念

  1. 【2010-31】设置当前工作目录的的主要用是( )。

A. 节省外存空间

B. 节省内存空间

C. 加快文件的检索速度

D. 加快文件的读/写速度

  1. 【2021-30】若目录dir下有文件file1,则为删除该文件内核不必完成的工作是( )。

A. 删除file1的快捷方式

B. 释放file1的文件控制块

C. 释放file1占用的磁盘空间

D. 删除目录dir中与file1对应的目录项

树形目录

目录的操作

硬链接和软链接

  1. 【2009-31】设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然后删除F1。此时,F2和F3的引用计数值分别是( )。

A. 0、1

B. 1、1

C. 1、2

D. 2、1

  1. 【2017-31】若文件f1的硬链接为f2,两个进程分别打开f1和f2,获得对应的文件描述符为fd1和fd2,则下列叙述中,正确的是( )。

Ⅰ. f1和f2的读写指针位置保持相同

Ⅱ. f1和f2共享同一个内存索引结点

Ⅲ. fd1和fd2分别指向各自的用户打开文件表中的一项

A. 仅Ⅲ

B. 仅Ⅱ、Ⅲ

C. 仅Ⅰ、Ⅱ

D. Ⅰ、Ⅱ和Ⅲ

(三)文件系统

文件系统的全局结构(layout)

外存空闲空间管理办法

  1. 【2014-27】现有一个容量为10GB的磁盘分区,磁盘空间以簇 (Cluster) 为单位进行分配,簇的大小为4KB,若采用位图法管理该分区的空闲空间,即用一位 (bit) 标识一个簇是否被分配,则存放该位图所需簇的个数为( )。

A. 80

B. 320

C. 80K

D. 320K

  1. 【2015-31】文件系统用位图法表示磁盘空间的分配情况,位图存于磁盘的32~127号块中,每个盘块占1024个字节,盘块和块内字节均从0开始编号。假设要释放的盘块号为409612,则位图中要修改的位所在的盘块号和块内字节序号分别是( )。

A. 81、1

B. 81、2

C. 82、1

D. 82、2

  1. 【2019-26】下列选项中,可用于文件系统管理空闲磁盘块的数据结构是( )。

Ⅰ. 位图

Ⅱ. 索引结点

Ⅲ. 空闲磁盘块链

Ⅳ. 文件分配表 (FAT)

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ、Ⅳ

C. 仅Ⅰ、Ⅲ

D. 仅Ⅱ、Ⅲ、Ⅳ

  1. 【2023-25】某系统采用页式存储管理,用位图管理空闲页框。若页大小为4 KB,物理内存大小为16 GB,则位图所占空间的大小是( )。

A. 128 B

B. 128 KB

C. 512 KB

D. 4 MB

  1. 【2024-26】文件系统需占用部分外存空间记录空闲块的位置,占用外存空间大小与当前空闲块数量无关的是

A. 位图法

B. 空闲表法

C. 成组链接法

D. 空闲链表法

虚拟文件系统

文件系统挂载(mounting)

第五章 输入输出(I/O)管理

(一)I/O 管理基础

设备(设备的基本概念,设备的分类,I/O 接口,I/O 端口)

  1. 【2009-32】程序员利用系统调用打开I/O设备时,通常使用的设备标识是( )。

A. 逻辑设备

B. 物理设备

C. 主设备号

D. 从设备号

  1. 【2023-32】下列因素中,设备分配需要考虑的是( )。

Ⅰ. 设备的类型

Ⅱ. 设备的访问权限

Ⅲ. 设备的占用状态

Ⅳ. 逻辑设备与物理设备的映射关系

A. Ⅰ、Ⅱ

B. Ⅱ、Ⅲ

C. Ⅲ、Ⅳ

D. Ⅰ、Ⅱ、Ⅲ、Ⅳ

I/O 控制方式(轮询方式,中断方式,DMA方式)

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

A. 命令解释程序

B. 中断处理程序

C. 系统调用服务程序

D. 用户登录程序

  1. 【2017-32】系统将数据从磁盘读到内存的过程包括以下操作:

① DMA控制器发出中断请求

② 初始化DMA控制器并启动磁盘

③ 从磁盘传输一块数据到内存缓冲区

④ 执行“DMA结束”中断服务程序

正确的执行顺序是( )。

A. ③→①→②→④

B. ②→③→①→④

C. ②→①→③→④

D. ①→②→④→③

  1. 【2024-31】键盘中断服务例程执行结束时,所输入的数据存放位置是

A. 用户缓冲区

B. CPU 中的通用寄存器

C. 内核缓冲区

D. 键盘控制器的数据寄存器

I/O 软件层次结构

  1. 【2011-26】用户程序发出磁盘I/O请求后,系统的正确处理流程是( )。

A. 用户程序→系统调用处理程序→中断处理程序→设备驱动程序

B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序

C. 用户程序→设备驱动程序→系统调用处理程序→中断处理程序

D. 用户程序→设备驱动程序→中断处理程序→系统调用处理程序

  1. 【2012-26】用户程序发出磁盘I/O请求后,系统的正确处理流程是操作系统的I/O子系统通常由四个层次组成,每一层明确定义了与邻近层次的接口。其合理的层次组织排列顺序是( )。

A. 用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序

B. 用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序

C. 用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序

D. 用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序

  1. 【2013-25】用户程序发出磁盘 I/O 请求后,系统的处理流程是:用户程序→系统调用处理程序→设备驱动程序→中断处理程序。其中,计算数据所在磁盘的柱面号、磁头号、扇区号的程序是( )。

A. 用户程序

B. 系统调用处理程序

C. 设备驱动程序

D. 中断处理程序

  1. 【2022-32】下列关于驱动程序的叙述中,不正确的是( )。

A. 驱动程序与I/O控制方式无关

B. 初始化设备是由驱动程序控制完成的

C. 进程在执行驱动程序时可能进入阻塞态

D. 读/写设备的操作是由驱动程序控制完成的

输入/输出应用程序接口

(二)设备独立软件

  1. 【2020-30】对于具备设备独立性的系统,下列叙述中,错误的是( )。

A. 可以使用文件名访问物理设备

B. 用户程序使用逻辑设备名访问物理设备

C. 需要建立逻辑设备与物理设备之间的映射关系

D. 更换物理设备后必须修改访问该设备的应用程序

缓冲区管理

  1. 【2011-31】某文件占10个磁盘块,现要把该文件磁盘块逐个读入主存缓冲区,并送用户区进行分析,假设一个缓冲区与一个磁盘块大小相同,把一个磁盘块读入缓冲区的时间为100μs,将缓冲区的数据传送到用户区的时间是50μs,CPU对一块数据进行分析的时间为50μs。在单缓冲区和双缓冲区结构下,读入并分析完该文件的时间分别是( )。

A. 1500μs、1000μs

B. 1550μs、1100μs

C. 1550μs、1550μs

D. 2000μs、2000μs

  1. 【2013-27】设系统缓冲区和用户工作区均采用单缓冲,从外设读入 1 个数据块到系统缓冲区的时间为 100,从系统缓冲区读入 1 个数据块到用户工作区的时间为 5,对用户工作区中的 1 个数据块进行分析的时间为 90(如下图所示)。

1783968213950-344a93ad-053e-44d6-bacb-0033685fa9b4.png

进程从外设读入并分析 2 个数据块的最短时间是( )。

A. 200

B. 295

C. 300

D. 390

  1. 【2015-28】在系统内存中设置磁盘缓冲区的主要目的是( )。

A. 减少磁盘I/O次数

B. 减少平均寻道时间

C. 提高磁盘数据可靠性

D. 实现设备无关性

设备分配与回收

假脱机技术(SPOOLing)

  1. 【2016-31】下列关于SPOOLing技术的叙述中,错误的是( )。

A. 需要外存的支持

B. 需要多道程序设计技术的支持

C. 可以让多个作业共享一台独占设备

D. 由用户作业控制设备与输入/输出井之间的数据传送

设备驱动程序接口

(三)外存管理

磁盘(磁盘结构,格式化,分区,磁盘调度方法)

  1. 【2009-29】假设磁头当前位于第105道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为35, 45, 12, 68, 110, 180, 170, 195,采用 SCAN 调度(电梯调度)算法得到的磁道访问序列是( )。

A. 110, 170, 180, 195, 68, 45, 35, 12

B. 110, 68, 45, 35, 12, 170, 180, 195

C. 110, 170, 180, 195, 12, 35, 45, 68

D. 12, 35, 45, 68, 110, 170, 180, 195

  1. 【2012-32】下列选项中,不能改善磁盘设备I/O性能的是( )。

A. 重排I/O请求次序

B. 在一个磁盘上设置多个分区

C. 预读和滞后写

D. 优化文件物理块的分布

  1. 【2015-32】某硬盘有200个磁道(最外侧磁道号为0),磁道访问请求序列为:130,42,180,15,199,当前磁头位于第58号磁道并从外侧向内侧移动。按照SCAN调度方法处理完上述请求后,磁头移过的磁道数是( )。

A. 208

B. 287

C. 325

D. 382

  1. 【2017-29】下列选项中,磁盘逻辑格式化程序所做的工作是( )。

Ⅰ. 对磁盘进行分区

Ⅱ. 建立文件系统的根目录

Ⅲ. 确定磁盘扇区校验码所占位数

Ⅳ. 对保存空闲磁盘块信息的数据结构进行初始化

A. 仅Ⅱ

B. 仅Ⅱ、Ⅳ

C. 仅Ⅲ、Ⅳ

D. 仅Ⅰ、Ⅱ、Ⅳ

  1. 【2017-26】某文件系统的簇和磁盘扇区大小分别为1KB和512B。若一个文件的大小为1026B,则系统分配给该文件的磁盘空间大小是( )。

A. 1026B

B. 1536B

C. 1538B

D. 2048B

  1. 【2018-30】系统总是访问磁盘的某个磁道而不响应对其他磁道的访问请求,这种现象称为磁臂黏着。下列磁盘调度算法中,不会导致磁臂粘着的是

A. 先来先服务 (FCFS)

B. 最短寻道时间优先 (SSTF)

C. 扫描算法 (SCAN)

D. 循环扫描算法 (CSCAN)

  1. 【2021-26】某系统中磁盘的磁道数为200 (0~199),磁头当前在184号磁道上。用户进程提出的磁盘访问请求对应的磁道号依次为184、187、176、182、199。若采用最短寻道时间优先调度算法 (SSTF) 完成磁盘访问,则磁头移动的距离(磁道数)是( )。

A. 37

B. 38

C. 41

D. 42

  1. 【2024-32】某磁盘的磁道数为 400(磁道号为 0~399),采用循环扫描算法 (CSCAN) 进行磁盘调度,完成对 200 号磁道的请求后,磁头向磁道号减小的方向移动,若还有 7 个请求,对应的磁道号分别为 300, 120, 110, 0, 160, 210, 399,则完成上述磁盘请求后磁头移动的距离是

A. 599

B. 619

C. 788

D. 799

固态硬盘(读写性能特性,磨损均衡)