{mtitle title="软件工程 之 (XMUT)计算机操作系统—课上习题及答案"/}
{lamp/}
《操作系统》课堂习题
第一章:《操作系统概述》
1 一个完整的计算机系统应该包括 (B )。 A、主机、键盘和显示器
B、硬件系统和软件系统 C、主机和它的外部设备 D、系统软件和应用软件
.
【解析】硬件系统和软件系统是计算机系统的两大组成部分。输入/输出设备、主机和外部设备属于硬件系统。系统软件和应用软件属于软件系统。
- 操作系统是计算机的软件系统中(B)。 A、最常用的应用软件
B、最核心的系统软件 C、最通用的专用软件 D、最流行的通用软件
【解析】操作系统是运行在计算机硬件上的、最基本的系统软件,是系统软件的核心。
- 计算机主要技术指标通常指( B)。 A、所配备的系统软件的版本
B、CPU 的时钟频率、运算速度、字长和存储容量 C、扫描仪的分辨率、打印机的配置
D、硬盘容量的大小
【解析】常用的计算机系统技术指标为:运算速度、主频(即 CPU 内核工作的时钟频率)、字长、存储容量和数据传输速率。
- 下列叙述中,错误的是(B)。
A、计算机系统由硬件系统和软件系统组成 B、计算机软件由各类应用软件组成
C、CPU 主要由运算器和控制器组成
D、计算机主机由 CPU 和内存存储器组成
【解析】计算机软件分为系统软件和应用软件。
- 在各类程序设计语言中,相比较而言,执行效率最高的是(C )。 A、高级语言编写的程序
B、汇编语言编写的程序 C、机器语言编写的程序
D、面向对象的语言编写的程序
【解析】由机器语言程序直接在计算机硬件级上执行,所以效率比较高,能充分发挥计算机的高速计算的能力。对机器来讲,汇编语言是无法直接执行的,必须经过
用汇编语言编写的程序翻译成机器语言程序,机器才能执行。用高级语言编写的源程序在计算机中是不能直接执行的,必须翻译成机器语言后程序才能执行。因此,执行效率最高的是机器语言编写的程序。
- 下列各项中两个软件均属于系统软件的是(C)。
A、MIS 和 UNIX
B、WPS 和 UNIX
C、DOS 和 UNIX
D、MIS 和 WPS
【解析】系统软件如操作系统、多种语言处理程序(汇编和编译程序等)、连接装 备程序、系统实用程序、多种工具软件等;应用软件为多种应用目的而编制的程序。
UNIX、DOS 属于系统软件。MTS、WPS 属于应用软件。
- 下列关于 Cache 的描述中,哪一个是错误的?(B) A、Cache 是缓冲技术在存储体系中的一个具体应用
B、Cache 的主要特点之一是存储容量大 C、Cache 处于内存和 CPU 之间
D、Cache 中一般存放内存的一部分副本
【解析】本题考查 Cache 的概念、作用和特点。 Cache 即高速缓冲存储器,具有容量小、速度快的特点。 Cache 的作用是为了提高 CPU 数据输入/输出的速率,
解决内存与 CPU 处理速度不协调问题。一般用于内存和 CPU 之间。它利用的是程序的局部性原理,将存放在内存中的作业的一部分副本存放在其中。
- 以下不属于冯诺依曼计算机结构特点的是(D)。 A、程序和数据都用二进制表示
B、由顺序执行程序
C、机器以 CPU 为中心 D、自动控制
【解析】冯·诺依曼体系结构特点(1)计算机处理的数据和指令一律用二进制数表示(2)顺序执行程序计算机运行过程中,把要执行的程序和处理的数据首先存入
主存储器(内存),计算机执行程序时,将自动地并按顺序从主存储器中取出指令一条一条地执行,这一概念称作顺序执行程序。(3)计算机硬件由运算器控制器、存储器、输入设备和输出设备五大部分组成。
- 二进制数 1001001 转换成十进制数是 (D)。 A、72
B、71
C、75 D、73
【解析】二进制数转换成十进制数的方法是将二进制数按权展开:(1001001)2=1x26+0x25+0x24+1x23+0x22+0x21+1x20=73
- 十进制数 90 转换成无符号二进制数是(A) A、1011010
B、1101010
C、101110 D、101100
【解析】要十进制数 90 变成二进制数,需要用 2 连续除 90,一直除到商为零,把余数按照自下而上的顺序写出。
第一章《操作系统引论》
1(考研真题)单道批处理系统的主要缺点是(A) A、CPU 利用率不高
B、失去了交互性 C、不具备并行性 D、以上都不是
【解析】单道批处理系统的内存中只有一道程序,当该程序发出 I/O 请求后,CPU必须等待 I/O 完成,又因 I/O 设备的低速性,使 CPU 长时间处于空闲状态,导致
CPU 利用率不高。
- 提高单机资源利用率的关键技术是(D) A、脱机技术
B、虚拟技术 C、交换技术
D、多道程序设计技术
【解析】脱机技术用于解决独占设备问题。虚拟技术与交换技术以多道程序设计技术为前提。多道程程序设计技术由于同时在主存中运行多个程序,在一个程序等待
时,可以去执行其他程序,因此提高了系统资源的利用率。
- 批处理系统的主要缺点是(D)。 A、系统吞吐量小
B、CPU 利用率不高 C、资源利用率低
D、无交互能力
【解析】批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力。
4.(C)操作系统允许一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。
A、网络
B、分布式 C、分时
D、实时
【解析】分时系统能很好地将一台主机提供给多个用户使用,提高计算机的利用率,实现人-机交互和共享主机。
- 实时操作系统必须在(B)内处理来自外部的事件 A、一个机器周期
B、被控制对象规定时间 C、周转时间
D、时间片
【解析】实时系统要求能实时处理外部事件,即在规定的时间内完成对外部事件的处理。
- 中断处理和子程序调用都需要压栈以保护现场,中断处理一定会保存而子程序调用不需要保存其内容的是(B)。
A、程序计数器
B、程序状态字寄存器 C、通用数据寄存器
D、通用地址寄存器
【解析】子程序调用只须保存程序断点,即该指令的下一条指令的地址;中断调用子程序不仅要保存断点(PC 的内容),还要保存程序状态字寄存器(PSW)
的内容。
- 下面有关简单批处理系统的描述,错误的是(C )。
A、简单批处理系统的核心是一个常驻监控程序(Monitor),具有控制作业传输,调度作业运行自动从一个运行完的作业转换到下一个作业等功能.
B、简单批处理系统任何时候内存中只有一个作业
C、简单批处理系统考虑到了 CPU 和 I/O 设备的并行性 D、简单批处理系统采用单道程序设计技术
- 下面关于分时系统的叙述错误的是(A)。 A、分时系统主要用于批处理作业
B、分时系统中每个任务依次轮流使用时间片 C、分时系统的响应时间快
D、分时系统是一种多用户操作系统
9,可以并行运行 2 个进程的计算机,必须具备的条件有(A、C )。 A、操作系统支持多道程序设计技术
B、程序员实现多进程技术
C、计算机中安装了多个单核处理器或一个多核处理器 D、计算机中安装了一个单核处理器
10.(考研真题)多道程序的并发执行失去了封闭性和可再现性,因此多道程序设计中无需封闭性和可再现性。(B)
A、正确 B、错误
【解析】封闭性指的是程序一旦开始执行,其计算结果就取决于程序本身,不受外界因素影响。可再现性是指当程序重复执行多次时,必将得到相同结果。多道
并发执行的时候可能失去封闭性和可再现性,但可再现性是程序设计必须需要的。
第二章《进程》
- 操作系统的核心目标是(C )。 A、方便
B、高效
C、运行程序 D、以上都是
- 解决信息在计算机中存储问题的操作系统模块是(C) A、进程管理
B、内存管理
C、文件管理 D、设备管理
3(考研真题并发性是指若干事件在(C)发生 A、同一时刻
B、不同时刻
C、同一时间间隔内 D、不同时间间隔内
【解析】OS 的并发性是指两个或多个事件在同一时间间隔内发生。
- (考研真题)单处理机系统中,可并行的是(D)
I. 进程与进程 Ⅱ.处理机与设备 Ⅲ.处理机与通道 IV.设备与设备 A、Ⅰ、Ⅱ、Ⅲ
B、Ⅰ、Ⅱ、IV
C、Ⅰ、Ⅲ、IV D、Ⅱ、Ⅲ、IV
【解析】并发性是指若干事件在同一时间间隔内发生,并行性是指若干事件在同一时刻发生。故在单处理机系统中,进程与进程之间只能并发执行。
- (考研真题) 在过去很长一段时间内,鉴于计算机系统非常昂贵,所以有效性曾一度是操作系统最为重要的设计目标。(A)
A、正确 B、错误
【解析】在计算机系统比较昂贵的时期,OS 设计主要目标为了满足资源的有效使用,所以有效性是重要设计目标。
- CPU 能够直接访问的存储设备有(B、C、D)。 A、硬盘
B、内存
C、高速缓存 Cache D、寄存器
-
操作系统提供给应用程序的接口是(D)。 A、图形化接口
B、命令行接口 C、系统程序 D、系统调用 -
以下选项中,提供命令行接口的操作系统有(A、B、C、D)。 A、MD-DOS
B、Linux
C、Unix
D、Windows 10
- 以下选项中,是系统程序的有(A、B)
A、时间设置程序 B、用户管理程序
C、PowerPoint D、计算器
- 操作系统提供服务的形式有(A、B、D)。 A、用户接口
B、系统程序 C、应用程序 D、系统调用
第二章 《进程描述和控制》
1.(考研真题)程序运行时独占系统资源,只有程序本身才能改变系统资源状态,这是指(D)。
A、程序顺序执行时的再现性 B、并发程序失去再现性
C、并发程序失去封闭性
D、程序顺序执行时的封闭性
【解析】程序顺序执行时的封闭性是指程序在封闭的环境下运行,即程序运行时独占全机系统资源,只有本程序才能改变系统资源状态(除初始状态外),程序
一旦开始执行,其执行结果不受外界因素影响。
2.(名校考研题)进程和程序的本质区别在于(D)。 A、前者分时使用 CPU,或者独占 CPU
B、前者存储在内存,后者存储在外存 C、前者具有异步性,后者具有可再现性
D、前者可以并发执行,后者不能并发执行
【解析】OS 为了提高系统吞吐量和资源利用率,引入了进程,来支持并发。程序是不能并发的,只有程序被创建成进程,才能并发执行。
3.(考研真题)进程的状态和优先级信息存放在(B) 。 A、JCB
B、PCB
C、快表 D、页表
【解析】PCB 是进程存在的唯一标识,它存储着进程的状态和优先级等信息。
4.(考研真题)一个进程的读磁盘操作完成后,操作系统针对该进程必做的是(A)。 A、修改进程状态为就绪状态
B、降低进程优先级
C、进程分配用户内存空间
D、增加进程的时间片
【解析】进程等待 I/O 操作完成便会从阻塞状态转换到就绪状态。
5.(考研真题)下列选项中,会导致进程从执行态变为就绪态的事件是(D)。 A、执行 P 操作
B、执行 P 操作
C、启动 I/O 设备
D、被高优先级进程抢占
【解析】A、B、C 都因为进程请求资源而进入阻塞态;进程被高优先级进程抢 占,被剥夺了处理机资源而进入就绪态,一旦重新获得处理机资源便会继续执行。
- 一般情况下,分时系统中处于(B)的进程最多。 A、执行状态
B、就绪状态
C、阻塞状态 D、终止状态
- 某单处理器系统中若同时存在 5 个进程,则处于等待状态的进程最少可有( B)个。
A、2
B、0 C、5
D、1
- 进程处于(C)时,它处于非阻塞态。 A、等待从键盘输入数据
B、等待协作进程的一个信号
C、等待操作系统分配 CPU 时间 D、等待网络数据进入内存
【解析】进程处于阻塞态是由于等待某个事件而产生,这个事件可以为等待设备的 I/O 操作、等待信号量的互斥或同步操作,等待网络数据进入内存等都会使
进程不满足所需资源而等待。而等待 CPU 调度的进程处于就绪态,只有它是非阻塞态。
- 进程和程序的区别是(A、C、D)。 A、进程是动态的,程序是静态的
B、进程和程序是一—对应的
C、进程存储在内存中,程序存储在外存中 D、进程是程序的一次执行
- 在进程的三个基本状态转换中,不会出现的转换是(C、D)。
A、运行→等待 B、运行→就绪
C、就绪→等待 D、等待→运行
第二章 线程
- 下列选项中,可能导致当前进程 P 阻塞的事件是(C)
I. 进程 P 申请临界资源
II. 进程 P 从磁盘读数据
III. 系统将 CPU 分配给高优先级进程
A. 仅Ⅰ
B. 仅Ⅱ
C. 仅Ⅰ,Ⅱ
D. Ⅰ,Ⅱ,Ⅲ
- 下列选项中,导致创建新进程的操作是(C)。
I. 用户登录成功
II. 设备分配
III. 启动程序执行
A. 仅Ⅰ和Ⅱ
B. 仅Ⅱ和Ⅲ
C. 仅Ⅰ和Ⅲ
D. Ⅰ,Ⅱ,Ⅲ
- 关于进程的叙述,正确的有(A,B,C,E)
A. 一个进程独占处理机时,其执行结果只取决于进程本身如果在一个进程的工作没有完成之前,另一个进程就可以开始工作,则称这些进程具有并发性
B. 如果在一个进程的工作没有完成之前,另一个进程就可以开始工作,则称这些进程具有并发性
C. 并发进程是轮流占用处理机的
D. 单处理机系统中同时执行若干进程是指若干进程同时占用着处理机
E. 进程并发执行时,其执行结果与进程执行的相对速度有关
4.(考研真题)处于挂起就绪状态(即静止就绪状态)的进程,可转换为(B).
A. 阻塞状态(即活动阻塞状态)
B. 就绪状态(即活动就绪状态)
C. 运行状态
D. 挂起阻塞状态(即精致阻塞状态)
E. 运行状态或就绪状态(即活动就绪状态)
F. 运行或阻塞状态(即活动阻塞状态)
G. 就绪状态(即活动就绪状态)或挂起阻塞状态(即静止阻塞状态)
【解析】某些 OS 中,为了更好地管理和调度进程及适应系统的功能目标,增加了挂起状态。处于挂起就绪状态的进程,被激活后转为活动就绪。
- 以下关于挂起进程的叙述,正确的有(A、D)。
A. 挂起进程不能立即执行
B. 挂起进程一定在等待某一事件或某一资源
C. 挂起进程可以自己改变进程状态
D. 挂起进程可能提高 CPU 利用率
E. 挂起某进程可以缩短该进程的执行时间
- 挂起是指将当前的某个不能运行的进程调到内存的其他地方。(B)
A. 对
B. 错
7.(考研真题)某用户两次运行 Word 软件查看同一个文档,因为运行的程序和操作的数据均相同,所以系统两次运行 Word 对应的是同一个进程。(B)
A. 对
B. 错
【解析】程序的一次运行就会创建一个进程,两次运行对应的是两个进程。
8.(考研真题)在 PCB 中可以直接或间接找到有关该进程的所有信息。( A)
A. 对
B. 错
【解析】PCB 是进程存在的唯─标志,创建进程是申请一个空白的 PCB,并向其中填写一些控制和管理进程的信息。
9.(考研真题)进程的 3 种基本状态:就绪、运行和阻塞,任意两种状态之间都可以相互转换。(B)
A. 对
B. 错
【解析】3 种基本状态之间转换共有 4 种,有 2 种是不可以的,就绪不能转换到阻塞,阻塞不能转换到执行状态,故本题错误。
10,(考研真题)在进程-线程机制中引入了线程,进程与它的线程们在同一逻辑地址空间,但却不适合多核 CPU 系统。(B)
A. 对
B. 错
【解析】无论是单核 CPU 系统,还是多核 CPU 系统,都适合多线程机制。
第三章 调度与死锁
- (考研真题)假设 4 个作业到达系统的时刻和运行时间如表所示。系统在 t=2
时开始调度作业。若分别采用 FCFS 和 SJF 调度算法,则选中的作业分别是(D)。
A. J2,J3
B. J1,J4
C. J2,J4
D. J1,J3
【解析】先来先服务调度算法是作业来得越早,优先级越高,因此会选择 J。短作业优先调度算法是作业运行时间越短,优先级越高,因此会选择 J3。
- (考研真题)OS 中调度算法是核心算法之一,下列关于调度算法的论述中,正确的是(D)。
A. FCFS 调度算法既对长作业有利,又对短作业有利
B. 时间片 RR 调度算法只对长作业有利
C. 实时调度算法也要考虑作业的长短问题
D. 高响应比优先调度算法既有利于短作业,又兼顾长作业
【解析】FCFS 调度算法对短作业不利,若当前系统中有先到达的长作业,则后到达的短作业要一直等待,直到所有先到达的长作业执行完毕后才能执行;时间
片 RR 调度算法是一种公平的处理机分配方式,对长、短作业都有利;实时调度算法是根据进程的紧迫程度,为其设定执行的优先级,与作业的长短无关;高响
应比优先调度算法综合考虑了进程的等待时间与执行时间,对长、短作业均有利。
- (考研真题)下列有关基于时间片的进程调度的叙述中,错误的是(B)。
A. 时间片越短,进程切换的次数越多,系统开销越大
B. 当前进程的时间片用完后,该进程的状态由执行状态变为阻塞状态
C. 时钟中断发生后,系统会修改当前进程在时间片内的剩余时间
D. 影响时间片大小的主要因素包括响应时间、系统开销和进程数量等
【解析】进程切换次数越多,开销越大。当前进程的时间片用完后,其会由执行状态变为就绪状态。时钟中断是系统中特定的周期性时钟节拍,os 通过它来确
定时间间隔、实现时间调节。现代 os 为了保证性能最优,通常根据响应时间、系统开销、进程数量、进程运行时间、进程切换开销等因素来确定时间片大小。
- (考研真题)对于相同的进程序列,下列进程调度算法中平均周转时间最短的是 (B)。
A. FCFS 调度算法
B. SJF 调度算法
C. 优先级调度算法
D. RR 调度算法
【解析】平均周转时间=所有进程周转时间之和/进程数量。在这 4 种进程调度算法中,SJF 调度算法具有最短的平均周转时间。
- (考研真题)下列选项中,降低进程优先级的合理时机是(A)。
A. 进程时间片用完
B. 进程刚完成 l/O 操作,进入就绪队列
C. 进程长期处于就绪队列
D. 进程从就绪状态转为运行状态
【解析】A 中进程的时间片用完,可降低其优先级,让其他进程被调度而进入执行状态。B 中进程刚完成 I/O 操作,进入就绪队列等待被调度;为了让其尽快处
理 I/О结果,应提高其优先级。C 中进程长期处于就绪队列,为了不至于产生饥饿现象,也应适当提高进程优先级。D 中进程的优先级不应在此时降低,而应在时 间片用完后再降低。
- (考研真题)某系统正在执行 3 个进程 P1、P2、P3,各进程的计算时间和 I/O时间占比如表所示。为了提高系统资源利用率,合理的进程优先级设置应为(B)。
A. p1>p2>p3
B. P3>P2>p1
C. P2>P1=P3
D. P1>P2=P3
【解析】对于优先级调度算法,一般来说,I/O 型作业的优先级高于计算型作业的优先级,这是由于 I/O 操作没有办法长时间地保存所要输入/输出的数据,因
此要及时完成。另外考虑到系统的资源利用率,因此要使 I/O 繁忙型作业具有更高的优先级。
- (考研真题)下列调度算法中,不会导致产生饥饿现象的是(A)。
A. RR
B. 静态优先级
C. 非抢占式 SJF
D. 抢占式 SJF
【解析】采用静态优先级调度且系统总是出现优先级高的任务时,优先级低的任务总是得不到处理机而产生饥饿现象。短任务优先调度当系统总是出现新来的短
任务时,长任务总是得不到处理机,会产生饥饿现象。
- (考研真题)下列调度算法中、综合考虑进程等待时间和执行时间的是(D)调度算法。
A. RR
B. 短进程优先
C. FCFS
D. 高响应比优先
【解析】响应比综合考虑了每个进程的等待时间和执行时间,对于同时到达的长进程和短进程,短进程会优先执行,以提高系统吞吐量;而长进程的响应比会随
等待时间的增加而提高,不会发生进程无法调度的情况。
- (考研真题)下列与进程调度有关的因素中,在设计多级反馈队列调度算法时要考虑的是(D)。
I. 就绪队列的数量 II.就绪队列的优先级
III.各就绪队列所采用的调度算法 IV.进程在就绪队列间的迁移条件
A. I、II
B. Ⅲ、IV
C. Ⅱ、Ⅲ、IV
D. I、Ⅱ、Ⅲ、IV
【解析】多级反馈队列调度算法是 RR 调度算法与优先级调度算法的综合与发展,需要综合考虑队列数量、优先级、调度算法及进程在队列间的迁移条件。
- (考研真题)系统采用两级反馈队列调度算法进行进程调度。就绪队列 Q1 采用 RR 调度算法,时间片为 10ms;就绪队列 Q2 采用短进程优先调度算法。系统
优调度 Q1 队列中的进程,当 Q1 为空时系统才会调度 Q2 中的进程;新创建的进程首先进入 Q1;Q1 中的进程执行一个时间片后若未结束,则转入 Q2。若当前 Q1 和 Q2 为空,系统依次创建进程 P1、P2 后即开始调度进程,P1、P2 需要的
CPU 时间分别为 30ms 和 20ms,则进程 P1、P2 在系统中的平均等待时间为(C)。
A.25 ms
B.20 ms
C.15 ms
D.10 ms
【解析】进程 P、P,依次创建后进人队列 Q,根据 RR 调度算法的规则,P、P,将依次被分配 10ms 的 CPU 时间,分别执行完一个时间片后都会转人队列 Qq;
就绪队列 Q,采用短进程优先调度算法,此时 P 还需要 20ms 的 CPU 时间,P,还需要 10ms 的 CPU 时间,因此 P,会被优先调度执行,10ms 后 P,执行完
成,P,再调度执行,P 执行 20ms 后完成。进程 P、P,的等待时间分别为图中的虚横线部分,平均等待时间=(P 等待时间+P4 待时
间)2=(20+10)/2=15ms。
调度与死锁(2)
- (考研真题)系统中有 4 个进程都要使用某类资源。若每个进程最多需要 3 个该类资源,为保证系统不发生死锁,系统应提供该类资源至少是(C)。
A.3 个
B.4 个
C.9 个
D.12 个
【解析】系统中有 4 个进程,每个进程最多需要 3 个资源,先给每个进程分配 2 个
资源,共需要 8 个资源,此时需要系统中还有 1 个空闲资源,分配给任一进程,才
不会发生死锁,故至少需要 9 个资源。
- (考研真题)某计算机系统中有 8 台打印机,由 K 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 K 的最小值是(C)。
A.2
B.3
C.4
D.5
【解析】因为每个进程最多需要 3 台打印机,最极端的情况是每个进程已经占
有了 2 台打印机,若此时至少还有 1 个可用打印机,就能满足任一个进程 3 台 的条件,顺利执行。所以将 8 台打印机分给 K 个进程,每个进程有 2 台打印机, K 为 4。
- (考研真题)系统中有 3 个不同的临界资源 R1,R2 和 R3,被 4 个进程 P1, P2,P3,P4 共享。各进程对资源的需求为:P1 申请 R1 和 R2,P2 申请 R2 和 R3,P3 申请 R1 和 R3,P4 申请 R2。若系统出现死锁,则处于死锁状态的进程数至少是(C)。
A.1
B.2
C.3
D.4
【解析】因为 P4 只申请一个资源,当将 R2 分配给 P4 后,P4 执行完后将 R2释放,这时使得系统满足死锁的条件是 R1 分配给 P1,R2 分配给 P2,R3 分配
给 P3,(或者 R2 分配给 P1,R3 分配给 P2,R1 分配给 P3)。穷举其他情况如 P1 申请的资源 R1 和 R2,先都分配给 P1,运行完并释放占有的资源后,可分别
将 R1,R2 和 R3 分配给 P3,P4 和 P2,也满足系统死锁的条件。各种情况需要使得处于死锁状态的进程数至少为 3。
- (考研真题)某系统中有 A、B 两类资源各 6 个,t 时刻资源分配及需求情况如表所示:问 t 时刻安全检测结果是:(B )
A. 存在安全序列 P1,P2,P3
B. 存在安全序列 P2,P1,P3
C. 存在安全序列 P2,P3,P1 D.不存在安全序列
【解析】Need = Max- AllocationAvailable =(1,0)故此时只能满足进程 P2 的需求。释放 P2 所占的资源,Available=(0,O)+(3,1)=(3,1),仅能满足 P1
的需求。释放 P1 所占的资源,Available=(1,O)+(4,4)=(5,1),可以满足 P3 的需求。故安全序列为 P2,P1,P3。
- (考研真题)假设系统中有 4 个同类资源,进程 P1、P2 和 P3 需要的资源数分别为 4、3 和 1,P1、P2 和 P3 已申请到的资源数分别为 2、1 和 0,则执行安
全性检测算法的结果(A )。
A. 不存在安全序列,系统处于不安全状态
B. 存在多个安全序列,系统处于安全状态
C. 存在唯一的安全序列 P3、P1、P2,系统处于安全状态
D. 存在唯一安全备列 P3、P2、P1,系统处于安全状态
【解析】由题中数据可知,仅剩最后一个同类资源,若将其分给 P1 或 P2,则均无法正常执行;若分给 P3,则 P3 正常执行完成后,释放的这个资源仍无法是
P1、P2 正常执行,故不存在安全序列,系统处于不安全状态。
- (考研真题)下列关于银行家算法的叙述中,正确的是(B)。
A. 银行家算法可以预防死锁
B. 当系统处于安全状态时,系统中一定无死锁进程
C. 当系统处于不安全状态时,系统中一定会出现死锁进程
D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件
【解析】银行家算法是避免死锁的方法。利用银行家算法,系统处于安全状态时没有死锁进程。银行家算法破坏了死锁必要条件中的“循环等待”条件
- (考研真题)下列关于死锁的叙述中,正确的是(B )。 I.可以通过剥夺进程资源解除死锁
lI.死锁的预防方法能确保系统不发生死锁 Ⅲ.银行家算法可以判断系统是否处于死锁状态
IV.当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态
A. 仅Ⅱ、Ⅲ
B. 仅 I、Ⅱ、IV
C. 仅 I、Ⅱ、Ⅲ
D. 仅 I、Ⅲ、IV
【解析】银行家算法是解决死锁问题中避免死锁采用的方法,是一种提前采取的措施,是通过安全性检查来杜绝发生死锁的可能性。
- (考研真题)假设 5 个进程 PO、P1、P2、P3、P4 共享三类资源 R1、R2、R3,这些资源总数分别为 18、6、22。TO 时刻的资源分配情况如表所示,此时存在
一个安全序列是( D)。
A. P0,P2,P4,P1,P3
B. P1,P0,P3,P4,P2
C. P2,P1,P0,P3,P4
D. P3,P4,P2,P1,P0
【解析】目前系统内所剩的资源数量为(2、3、3)。而进程 PO 要完成所需的资源量为(2、3、7);进程 P1 要完成所需的资源量为(1、3、3);进程 P2 要完成所
需的资源量为(0、0、6);进程 P3 要完成所需的资源量为(2.2、1);进程 P4 要完成所需的资源量为(1、1、0)。系统可以将资源分配给 P1、P3,设分配给 P3。
当 P3 执行结束后,系统所剩的资源量为(4、3、7),可以分配给任意一个进程都能执行结束。即 P3、P4、P2、P1、PO 是安全序列。
- (考研真题)某时刻进程的资源使用情况如下表所示,此时的安全序列是(D)。
A. P1、P2、P3、P4
B. P1、P3、P2、P4
C. P1、P4、P3、P2
D. 不存在
【解析】剩余资源分配给 P1,待 P1 执行完后,可用资源数为(2,2,1),此时仅能满足 P4 的需求,接着分配给 P4,待 P4 执行完后,可用资源数为(2,2,
2)此时已无法满足任何进程的需求。
- 死锁与安全状态的关系是(D)。
A. 死锁状态有可能是安全状态
B. 安全状态有可能成为死锁状态
C. 不安全状态就是死锁状态
D. 死锁状态一定是不安全状态
【解析】并非所有不安全状态都是死锁状态,但当系统进入不安全状态后,便可能进入死锁状态;反之,只要系统处于安全状态,系统便可避免进入死锁状态;死
锁状态必定是不安全状态。
信号量机制
- 从下面对临界区的论述中,选出一条正确的论述。(D)
A. 临界区是指进程中用于实现进程同步的那段代码
B. 临界区是指进程中用于实现进程通信的那段代码
C. 临界区是指进程中用于访问共享资源的那段代码
D. 临界区是指进程中访问临界资源的那段代码
【解析】临界区是指进程中访问临界资源的那段代码。
- 进程 P1 对信号量 S 执行 wait(S)操作,则信号量 S 的值应(B)。
A. 加 1
B. 减 1
C. 不定
D. 不变
- 两个旅行社甲和乙为旅客到某航空公司订飞机票,形成互斥资源的是(C)。
A. 旅行社
B. 旅行社
C. 数据
D. 旅行社与航空公司
【解析】一张飞机票不能同时售给不同的乘客,因此飞机票是临界资源,其他因素只是为完成飞机票订票的中间过程,与互斥无关。
- (考研真题)在 9 个生产者,5 个消费者,共享容量为 7 的缓冲区的生产者-消费者问题中。互斥使用缓冲区的信号量 S 的初值为(D)。
A.9
B.5
C.7
D.1
【解析】关于缓冲区的使用,这是典型的互斥问题,一次只允许一个进程使用,故设置信号量 S 初值为 1。
- (考研真题)若记录型信号量 S 的初值为 15,当前值为-15,则表示有(A)等待进程。
A.15 个
B.30 个
C.16 个
D.31 个
【解析】当 S 值小于 0 时,绝对值表示阻塞队列中进程的个数。
- (考研真题)设与某资源相关联的信号量初值为 3,当前值为 1,若 M 表示该资源的可用个数,N 表示等待资源的进程数,则 M、N 分别是(B)。
A. 0、1
B. 1、0
C. 1、2
D. 2、0
【解析】根据信号量的物理含义: S.value >0 时表示有 S.value 个资源可
用;S.value=O 表示无资源可用;S.value<0 则 S.value 的绝对值表示等待队列
中的进程个数。信号量的当前值为 1,则表示该资源的可用个数为 1,没有等待该资源的进程。
- 下列准则中实现临界区互斥机制必须遵循的是(C)。 I.两个进程不能同时进入临界区
II. 允许进程访问空闲的临界资源
III. 进程等待进入临界区的时间是有限的
IV. 不能进入临界区的执行态进程立即放弃 CPU
A. l,IV
B. ll, IIl,
C. l,II,IIl,
D. l,III,IV
【解析】临界区资源的互斥准则:①I 两个进程不能同时进入临界区遵循了忙则等待准则;②lI 允许进程访问空闲的临界资源遵循了空闲让进准则;③IⅢ进程等待
进入临界区的时间是有限的遵循了有限等待准则;④让权等待准则指当进程申请进入临界区时,不能占据 CPU 测试临界区是否可用,应放弃 CPU 阻塞等待临界区。IⅣ没有说明执行态进程放弃 CPU 应处于阻塞态。
- (考研真题)临界区是指并发进程中访问共享变量的(D)段。
A. 信息管理
B. 信息存储
C. 数据
D. 程序
【解析】临界区是代码段、程序段,其特点是访问了临界资源或共享变量。
- 以下有关临界区的论述,正确的是(A、C、D)。
A. 进程必须互斥进入临界区
B. 临界区的设置方法由操作系统确定
C. 每个进程可能有一个或多个临界区
D. 临界区是代码片段
- 若记录型信号量 S 的初值为 3,则当前值为 1 时表示( C、D)。
A. 系统对应的阻塞等持队列存在 1 个进程
B. 系统对应的阻塞等待队列存在 2 个进程
C. 系统对应的阻塞等待队列存在 0 个进程
D. 系统现有可用资源 1 个
E. 系统现有可用资源 2 个
内存管理
- (考研真题)在下列同步机制中,可以实现“让权等待”的是(C)。
A. Peterson 方法
B. swap 指令
C. 信号量方法
D. TestAndSet 指令
【解析】硬件方法实现进程同步不能实现让权等待,即选项 B、D 错误;Peterson算法满足有限等待但不满足让权等待,即选项 A 错误;记录型信号量由于引入阻
塞机制,消除了不让权等待的情况,即 C 选项正确。
- (考研真题)进程 P1 和进程 P2 均包含并发执行的线程,部分伪代码描述如下:下列选项中,需要互斥执行的操作是(C )。
A. a=1 与 a=2
B. a=x 与 b=x
C. x+=1 与 x+=2
D. x+=1 与 x+=3
【解析】当两个操作的执行顺序不同导致结果不同时,就需要互斥执行。A 选项 P1 中两个对 a 赋值的操作并不影响最终结果,不需要互斥执行;B 选项两个赋值
操作的执行顺序不影响与 b 的结果,不需要互斥执行;C 选项对 x 进行不同的加法操作执行顺序不同,最终 x 的结果也会不同,需要互斥执行;D 选项两个操作不在同一个进程,互不影响,不需要互斥执行。
- (考研真题)有两个并发执行的进程 P1 和 P2,共享初值为 1 的变量 x。P1 对
×加 1,P2 对×减 1。加 1 和减 1 操作的指令序列分别如下所示。两个操作完成
后,x 的值(B)。
A. 可能为-1 或 3
B. 可能为 0、1 或 2
C. 只能为 1
D. 可能为-1、0、1 或 2
【解析】将 P1 中 3 条语句编号为 1,2,3。P2 中 3 条语句编号为 4,5,6。则依次执行 1,2,3,4,5 得结果 1,依次执行 1,2,4,5,6,3 得结果 2,
执行 4,5,1,2,3,6 得结果 0。结果-1 不可能得出。
- 在生产者消费者问题中,消费者执行 Wait(full)后阻塞的原因是(C)。
A. full=0
B. full=1
C. full<1
D. full<1
- 系统中有 10 个并发进程涉及某个相同的变量 A,则变量 A 的相关临界区最少有(D)个
A.2
B.20 C.1 D.10
- 进程 P1 对信号量 S 执行 V 操作,则信号量 S 的值应(A)。
A. 加 1
B. 减 1
C. 不定
D. 不变
- 设两个进程共用一个临界资源的互斥信号量 mutex,当 mutex=-1 时表示 (D )。
A. 两个进程都进入临界区
B. 两个进程都在等待
C. 没有一个进程进入临界区
D. 一个进程进入了临界区,另一个进程等待
- (考研真题)如果 3 个进程共享一个互斥段,每次最多允许 2 个进程进入该互斥段,则信号量的变化范围是(C )。
A. 1、0、-1、-2
B. 3、2、1、0
C. 2、1、0、-1
D. 2、1、0、-1、-2
【解析】最多允许 2 个进程进入互斥段,初始值则为 2,因为每个进程进去时都先要行 P 操作,然后判断信号量的值是否大于 0,不是则表示当前互斥段内已经
有 2 个进程,当第 3 个进程再执行 P 操作时,信号量值为-1,该进程阻塞。
- (考研真题)三个进程 A、B、C 通过信号量 S 互斥进入某个临界区,且他们均不牵涉其他信号量的任何操作。下面说法正确的是( B)。
A. 这三个进程 A、B、C 之间一定会发生死锁
B. 这三个进程 A、B、C 之间一定不会发生死锁
C. 这三个进程 A、B、C 之间可能会发生死锁,但死锁参与者只能包括其中的两个进程
D. 这三个进程 A、B、C 之间可能会发生死锁,但死锁参与者一定包括全部三个进程
【解析】由于这 3 个进程不涉及其他信号量,因此,没有其他资源的请求,无请求和保持条件。因此,不会发生死锁。
- (考研真题)将系统中的资源进行线性排队编号,进程对资源的请求必须按照资源的序号递增次序提出。这样可以通过摒弃(C)条件预防死锁。
A. 请求和保持
B. 不剥夺
C. 环路等待
D. 互斥
【解析】环路等待条件:指在发生死锁时,必存在一个进程-资源的环形链,即进程集合{PO,P1,P2,...,Pn}中的 PO 正在等待一个 P1 占用的资源;P1 正在等
待 P2 占用的资源,.....,Pn 正在等待已被 PO 占用的资源。从而形成了资源的环路等待。破坏环路等待的条件是,系统将所有资源按类型进行线性排队,并赋 予不同的序号,所有进程对资源的请求必须严格按照资源序号递增的次序提出, 避免在所形成的资源分配图中出现环路。
虚拟存储管理
- (考研真题)在可变分区分配方案中,当某一作业完成、系统回收其主存空间时,回收分区可能存在与相邻空闲区合并的情况,为此须修改空闲分区表。其中,造
成空闲分区数减 1 的情况是(D)。
A. 既无上邻空闲分区,也无下邻空闲分区
B. 虽无上邻空闲分区,但有下邻空闲分区
C. 虽有上邻空闲分区,但无下邻空闲分区
D. 既有上邻空闲分区,也有下邻空闲分区
【解析】A 中,既没有上邻空闲分区,也没有下邻空闲分区。那么系统回收的时候要增加 1 个空闲分区。B 中,回收的分区无上邻空闲分区,但是有下邻空闲分
区,将回收区合并到下邻分区中,因此要修改空闲分区的首地址为回收区地址,大小为合并空闲分区之和,空闲区块数目不变。C 中,回收区上邻空闲分区,但无下邻空闲分区,那么上邻空闲区的首地址不变,新的分区大小是上邻分区和回收区大小之和,空闲区块数目没有发生变化。D 中,回收区上下邻空闲区,回收该分区时,将上下邻空闲分区和回收区合并在一起,首地址为上邻空闲分区的首地址,大小为 3 个分区之和。
- (考研真题)采用动态分区算法回收内存时,如果回收区仅与空闲区链插入点前一个分区相邻接,那么需要在空闲区链表中( B)。
A. 增加一个新表项
B. 修改前一个分区表项的大小
C. 修改前一个分区表项的首地址
D. 修改前一个分区表项的大小和首地址
【解析】当进程运行完毕释放内存时,系统根据回收区的首址,从空闲区链中找到相应的插入点,此时可能出现以下 4 种情况之一:(1)回收区与插入点的前一个
分区 F1 相邻接,这就是 B 选项,只须要修改前一个分区表项的大小,把回收区的大小加进去即可;(2)回收分区与插入点的后一分区 F2 相邻接,此种方案我们认为,也须要修改分区表项的首地址(如果回收区处于低地址的话),并修改表 项的大小;(3)回收区同时与插入点的前、后两个分区邻接,对应 D 答案;(4)回收区既不与 F1 邻接,也不与 F2 邻接。这需要新建表项,对应于 A 答案。
- (考研真题)某计算机按字节编址,其动态分区内存管理采用最佳适应算法,每次分配和回收内存后都对空闲分区链重新排序。当前空闲分区信息如下表所示。
回收起始地址为 60K、大小为 140K 的分区后,系统中空闲分区的数量、空闲分
区链第一个分区的起始地址和大小分别是(B)。
A. 3、20K、380KB
B. 3、500K、80KB
C. 4、20K、180KB
D. 4、500K、80KB
【解析】回收起始地址为 60K、大小为 140KB 的分区后,起址为 20K 和起址为 200K,这 3 块合并成一个起址为 20K,大小为 380KB 的分区,重排序后移
到最后。
- (考研真题)在下列动态分区分配算法中,最容易产生内存碎片的是(C)。
A. 首次适应算法
B. 最坏适应算法
C. 最佳适应算法
D. 循环首次适应算法
【解析】本题考查的是动态分区分配算法。详见课本 P133
- (考研真题)不是基于顺序搜索的动态分区分配算法的是(D)。
A. 首次适应算法
B. 循环首次适应算法
C. 最坏适应算法
D. 快速适应算法
【解析】快速适应算法是基于索引搜索的动态分区分配算法。
- (考研真题)可重定位内存的分区分配目的是为(A)。
A. 解决碎片问题
B. 便于多作业共享内存
C. 便于用户干预
D. 回收空白区方便
【解析】为了解决碎片问题,采用紧凑技术移动内存中的所有作业,使它们相邻,用动态重定位方法解决移动后地址的重定位,因此动态重定位是为了解决碎片问
题。
- (考研真题)所谓“存储保护”的基本含义,最恰当的描述是(C)。
A. 防止存储器硬件受损
B. 防止程序在内存丢失
C. 防止程序间相互越界访问
D. 防止程序被人偷看
【解析】存储保护主要防止程序之间的越界访问。
- (考研真题)采用分页存储管理方式进行存储分配时产生的存储碎片,被称为 (B)。
A. 外零头
B. 内零头
C. 外零头或内零头
D. A、B、C 都正确
【解析】分页存储管理方式将内存分成大小相等的若干块,可能最后一个页面大小不足 1 页,但也要分配一个物理块,此时出现的零头为内零头。
- (考研真题)采用(B)不会产生内部碎片。
A. 分页式存储管理
B. 分段式存储管理
C. 随机存储管理
D. 段页式存储管理
【解析】在页式存储管理的方式中,最后 1 个页面往往会出现不足 1 页大小的情况,产生页内碎片。
- (考研真题)分页存储管理系统中,虚拟地址转换成物理地址的工作是由(C)完成的。
A. 地址转换程序
B. 用户程序
C. 硬件
D. 装入程序
【解析】把虚拟地址转换成物理地址,是硬件自动完成的。计算机硬件自动把地址空间的地址分为页号和页内相对地址,通过页号在页表找到内存中的对应块
号,内存的物理地址用下面的公式计算得出:内存的物理地址=块号×页面大小+页内偏移地址。
- 下面关于虚拟存储管理的论述中,正确的是(A)。
A. 为了能让更多的进程同时运行,可以只装入 10%~30%的进程映像,即启动运行
B. 最佳页面置换算法是实现页式虚拟存储管理的常用算法
C. 即使在多用户操作系统环境下,用户也可以运用机器指令访问任一合法的物理地址
D. 为提高内存保护的灵活性,内存保护通常由软件完成
【解析】最佳页面置换算法无法实现;用户可以运用机器指令访问任一虚拟地址空间能映射到的物理地址,但是没有映射到的物理地址就无法访问;内存保护通
常由硬件完成的,如页表寄存器等。
1⒉.(考研真题)在存储管理中,采用覆盖与交换技术的目的是(A)。
A. 减少程序占用的主存空间
B. 物理上扩充主存容量
C. 提高 CPU 效率
D. 便于代码在主存中共享
【解析】交换的提出就是为了解决主存空间不足的问题,只是将暂时不用的部分换出主存,以节省空间,从而逻辑上扩充了主存。
13.(考研真题)系统为某进程分配了 4 个页框,该进程已访问的页号序列为 2、0、
2、9、3、4、2、8、2、4、8、4、5。若进程要访问的下一页的页号为 7,依
据 LRU 算法,应淘汰页的页号是(A )。
A. 2
B. 3
C. 4
D. 8
【解析】进程分配了 4 个页框,只能容纳 4 个页面,超过 4 个页面时,就要从当前页面中选择一个淘汰。LRU 算法赋予每个页面一个访问字段,用来记录一
个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。根据算法思想,在进行访问页面时淘汰页分别是 0、9、3、2。
- (考研真题)某系统采用 LRU 页置换算法和局部置换策略,若系统为进程Р预分配了 4 个页框,进程 P 访问页号的序列为 0、1、2、7、0、5、3、5、0、2、
7、6,则进程访问上述页的过程中,产生页置换的总次数是(C)。
A. 3
B. 4
C. 5
D. 6
【解析】通过 LRU 页置换算法和局部置换策略,也就是在进行页的置换时采用淘汰最近最久未用页面的机制,
15.(考研真题)当系统发生抖动()时,可以采取的有效措施是(A)。 Ⅰ .撤销部分进程
II. 增加磁盘交换区的容量
III. 提高用户进程的优先级
A. 仅Ⅰ
B. 仅 Ⅱ
C. 仅Ⅲ
D. 仅Ⅰ、Ⅱ
【解析】在具有对换功能的操作系统中,通常把外存分为文件区和对换区。前者用于存放文件,后者用于存放从内存换出的进程。抖动现象是指刚刚被换出的页
很快又要被访问,又要换出其他页,而该页又快被访问,如此频繁地置换页面,以致大部分时间都花在页面置换上。撤销部分进程可以减少所要用到的页面数,防止抖动。而交换区大小和进程优先级都与抖动无关。
16.(考研真题)在请求页式存储管理中,若所需页面不在内存中,则会引起(D)。
A. 输入输出中断
B. 缺段中断
C. 越界中断
D. 页故障
【解析】在请求页式存储管理中,若所需页面不在内存中,则会引起页故障,即缺页中断。
- (考研真题)在页式存储管理系统中,采用某些页面置换算法,会出现 Belady异常现象,即进程的缺页次数会随着分配给该进程的页框个数的增加而增加。下列算法中,可能出现 Belady 异常现象的是(A)。
A. FIFO 算法
B. LRU 算法
C. OPT 算法
D. CLOCK 算法
【解析】Belady 现象是系统为进程分配的页数增多(未分配进程所需的全部页),但缺页率反而提高的异常现象。只有 FIFO 算法才会出现 Belady 现象。FIFO
算法将最早调入的页调出,而调出的页在不久可能会被重新使用出现反复调入调出,缺页率反而上升。
- (考研真题)计算机系统中判断是否有中断发生,应是在( B)。
A. 进程切换时
B. 执行完一条指令时
C. 执行 P 操作后
D. 由用户态转入核心态时
【解析】缺页中断是在程序的执行过程中,发现页面不在内存中,所以去调页。它发生在指令执行期间。系统中断是发生在系统执行完一条指令之后。
- (考研真题)虚拟存储的实现是基于程序访问的局部性原理,其实质是借助外存将内存较小的物理地址空间转化为较大的逻辑地址空间。(A)
A. √
B. x
【解析】基于局部性原理,将程序的一部分装入内存,就可以启动程序执行,而将其余部分保存在外存。在程序运行过程中,当所访问的信息不在内存时,由操
作系统将所需的部分调入内存后,继续执行;另一方面,操作系统将内存中暂时不用的内容换出到外存上,腾出空间存放将要调入内存的信息。这样,系统好像为用户提供了一个比实际内存大得多的存储器,称为虚拟存储器。
20.(考研真题)页表的作用是实现逻辑地址到物理地址的映射。(B)
A. √
B. X
【解析】页表只是实现了页号到块号的映射,逻辑地址转换为物理地址除了需要进行页号到块号的映射外,还需要依赖页内地址。
{lamp/}
B
B
B
B
C
C
B
D
D
A
A
D
D
C
B
B
C
A
AC
B
{lamp/}
C
C
C
D
A
BCD
D
ABCD
AB
ABD
{lamp/}
D
D
B
A
D
B
B
C
ACD
CD
{lamp/}
C
C
ABCE
B
AD
B
B
A
B
B
{lamp/}
D
D
B
B
A
B
A
D
D
C
{lamp/}
D
D
D
C
C
C
B
A
B
B
{lamp/}
D
B
C
D
A
B
C
D
ACD
CD
{lamp/}
C
C
C
C
D
A
D
C
B
C
{lamp/}
D
B
B
C
D
A
C
B
B
C
A
A
A
C
A
D
A
B
A
B