操作系统习题集

操作系统习题集

    • 第一章 操作系统引论
    • 第二章 进程的描述与控制
    • 第三章 进程的调度与死锁

第一章 操作系统引论

1.多道批处理系统中引入了多道程序设计技术。 为充分提高各种资源的利用率,作业的类型最好是(D)。

A、短作业型

B、计算型,即其计算的工作量重于I/O的工作量

C、I/O型,即其I/O的工作量重于计算的工作量

D、计算型和I/O型均衡

解析:为充分利用各种资源,运行的程序应具备的条件应该是计算和输入/输出均衡的类型,这样资源利用更加充分。

2.批处理系统中最重要的程序是(C)。

A、数据库程序

B、文件操作程序

C、监督程序

D、计时程序

解析:为实现对作业的连续处理,需要先把一批作业以脱机方式输入到磁带上,并在系统中配上监督程序(Monitor),在它的控制下,使这批作业能一个接一个地连续处理。
其处理过程是:首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。
虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统 。
监督程序:相当于早期操作系统,负责将磁盘中程序调入内存,以及将内存中的程序交给CPU处理。

3.在下面的选项中,(A)不属于操作系统提供给用户的可用资源。

A、中断机制

B、处理机

C、存储器

D、I/O设备

解析:中断(Interruption)也称外中断,指来自CPU执行指令以外的事件的发生,如设备发出的I/O结束中断,表示设备输入/输出处理已经完成,希望处理机能够向设备发下一个输入输出请求,同时让完成输入/输出后的程序继续运行。时钟中断,表示一个固定的时间片已到,让处理机处理计时、启动定时运行的任务等。这一类中断通常是与当前指令执行无关的事件,即它们与当前处理机运行的程序无关。也就是说中断是处于核心态下发生的,而非用户态。

处理机:处理机是最重要的资源,现代操作系统允许多个程序共享处理机,按照某种算法(分时、优先级)交替地使用处理机。
处理机管理包括以下几方面:
⑴ 进程控制
当用户作业要运行时,应为之建立一个或多个进程,并为它分配除处理机以外的所有资源,将它放入进程就绪队列。当进程运行完成时,立即撤消该进程,以便及时释放其所占有的资源。
⑵ 进程同步
所谓进程同步是指系统对并发执行的进程进行协调。有两种协调方式:
进程互斥方式 进程同步方式
方式1.是最基本的进程同步方式,是使诸进程以互斥方式访问临界资源。
方式2.对彼此相互合作去完成共同任务的诸进程,由同步机制对它们的执行次序加以协调。
⑶ 进程通信
对于相互合作的进程,在它们运行时,相互之间往往要交换一定的信息,这种进程间所进行的信息交换称为进程通信。
⑷ 调度
包括作业调度、进程调度两步。作业调度是按一定算法从后备队列中选出若干个作业,为它们分配资源,建立进程,使之成为就绪进程,并把它们按一定算法插入就绪队列。进程调度是指按一定算法,如最高优先算法,从进程就绪队列中选出一进程,把处理机分配给它,为该进程设置运行现场,并使之投入运行

存储器主要任务:
⑴ 为多道程序的并发运行提供良好环境。
⑵ 便于用户使用存储器。
⑶ 提高存储器的利用率。
⑷ 能从逻辑上来扩充内存。

存储器管理应具有以下功能:
⑴ 内存分配
多道程序能并发执行的首要条件是,各道程序都有自己的内存空间,因此,为每道程序分配内存空间是存储器管理的最基本功能。OS实现内存分配可采取以下两种方式:
静态分配方式 动态分配方式
⑵ 内存保护
为保证各道程序都能在自己的内存空间运行而互不干扰,要求每道程序在执行时能随时检查对内存的所有访问是否合法。
⑶ 地址映射
在多道程序的系统中,操作系统必须提供把程序地址空间中的逻辑地址转换为内存空间对应的物理地址的功能。
⑷ 内存扩充
由于物理内存的大小可能限制了大型作业或多个作业的并发执行,为了满足用户的要求并改善系统性能,必须对内存加以扩充。

设备管理(I/O)
主要任务有以下五个:
⑴ 完成用户提出的I/O请求。
⑵ 为用户分配I/O设备。
⑶ 提高CPU和I/O设备的利用率。
⑷ 提高I/O速度。
⑸ 方便用户使用I/O设备

为实现上述任务,设备管理应具有下述四种功能:
⑴ 缓冲管理
基本任务是管理好各种类型的缓冲区。几乎所有的外围设备与处理机交换信息时,都要利用缓冲区来缓和CPU与I/O设备间速度不匹配的矛盾,提高CPU与I/O设备、设备与设备间操作的并行程度,以提高CPU和I/O设备的利用率。
⑵ 设备分配
基本任务是根据用户的I/O请求和所采用的分配算法对设备进行分配,并将未获得所需设备的进程放进相应设备的等待队列。
⑶ 设备处理
基本任务是实现CPU和设备控制器之间的通信,即启动指定的I/O设备,完成用户规定的I/O操作,并对由设备发来的中断请求进行及时响应,根据中断类型进行相应的处理。
⑷ 虚拟设备
系统可通过某种技术使该设备成为能被多个用户共享的设备,以提高设备利用率及加速程序的执行过程。可使每个用户都感觉到自己在独占该设备。

4.分时系统响应时间与(D)有关。

A、每个应用进程分配的时间片长度

B、进程大小

C、等待队列中的就绪进程数目

D、等待队列中的就绪进程数目和时间片长度

解析:分时系统的相应时间是指用户从终端发出一个命令到系统处理完这个命令并做出回答所需要的时间。这个时间受时间片长度终端用户个数、命令本身功能、硬件特性、主存与辅存的交换速度等影响。

5.操作系统在计算机系统中处于( B)的位置。

A、计算机硬件和软件之间

B、计算机硬件和用户之间

C、处理机和用户程序之间

D、外部设备与处理机之间

解析:操作系统习题集_第1张图片

由图可见操作系统连接着用户和硬件。

6.为使操作系统具有很好的可扩充性,(B)是一种可执行的方法。

A、简化设计

B、模块化设计

C、采用虚拟技术

D、采用分布式技术

解析:模块化结构OS:基于20世纪60年代出现的一种结构化程序设计技术开发的。
模块由众多服务过程(模块接口)组成,可以随意调用其他模块中的服务过程。实现了可扩充性
优点:具有一定灵活性,在运行中的高效率。
缺点:
功能划分和模块接口难保正确和合理。
模块之间的依赖关系(功能调用关系)复杂(调用深度和方向),降低了模块之间的相对独立性--不利于修改。

7.通常在分时系统中运行的作业称为(D)。

A、前台作业

B、后台作业

C、终端型作业

D、批量型作业

解析:终端型作业是在 多道程序系统 中,一个作业被提交后,必须经过 处理机调度 后方能获得处理机。
通常在分时系统中运行的作业称为终端型作业

8.在操作系统中,(D)部分属于微内核。

A、输入输出井的管理程序,及作业调度软件

B、用户命令解释程序

C、磁盘文件目录管理软件

D、进程通信服务例程

解析:把操作系统分成若干分别完成一组特定功能的服务进程,等待客户提出请求;而系统内核只实现操作系统的基本功能(如:虚拟存储、消息传递),微内核所提供的功能,通常都是一些最基本的功能,如进程管理、存储器管理、进程间通信、 低级I/O功能。

9.实时操作系统必须在(B)的时间内响应一个新任务。

A、一个机器时间

B、被控对象规定

C、任意周期

D、时间片

解析:实时系统要求能实时处理外部事件,即在规定的时间内完成对外部事件的处理。

10.批处理系统的主要缺点是(C)。

A、CPU利用率低

B、不能并发执行

C、缺少交互性

D、以上都不是

解析:批处理系统中,作业执行时用户无法干预其运行,只能通过事先编制作业控制说明书来间接干预,缺少交互能力,也因此才有了分时系统的出现。

11.操作系统提供给程序员的接口是(B )。

A、进程

B、系统调用

C、库函数

D、B和C

解析:操作系统接口主要有命令接口和程序接口(也称系统调用)。库函数是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏“访管”指令的细节,使系统调用更为方便、抽象。但是,库函数属于用户程序而非系统调用,是系统调用的上层。为了让用户方便、快捷、可靠地操纵计算机硬件并运行自己的程序,操作系统还提供了用户接口。操作系统提供的接口主要分为两类:一类是命令接口,用户利用这些操作命令来组织和控制作业的执行;另一类是程序接口,编程人员可以使用它们来请求操作系统服务。操作系统为编程人员提供的接口是程序接口,即系统调用。

12.对于普通用户而言,OS的(B )是最重要。

A、开放性

B、方便性

C、有效性

D、可扩充性

解析:操作系统的目标 :方便性(用户的观点):提供良好的、一致的用户接口,弥补硬件系统的类型和数量差别,使计算机更容易使用。
有效性(系统管理人员的观点):提高资源的利用率:使CPU、I/O设备和存储空间得到有效利用;提高系统的吞吐量:管理和分配硬件、软件资源,合理地组织计算机的工作流程。

可扩充性:OS应采用层次化结构,以便于增加新的功能层次和模块,并能修改老的功能层次和模块。
开放性:遵循标准规范,方便地实现互连,实现应用的可移植性和互操作性。

但是对用户而言方便是最重要的。

13.与计算机硬件关系最密切的软件是(D )。

A、编译程序

B、数据库管理系统

C、游戏程序

D、OS

解析:操作系统习题集_第2张图片

由此可见。硬件之上即是OS(操作系统)

14.系统调用是由操作系统提供的内部调用,它(B)。

A、直接通过键盘交互方式使用

B、只能通过用户程序间接使用

C、是命令接口中的命令

D、与系统的命令一样

解析:系统调用是操作系统为应用程序使用内核功能所提供的接口。程序接口由一组系统调用(也称广义指令)组成。用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存及其他各种要求。
当前最为流行的是图形用户界面(GUI),即图形接口。GUI最终是通过调用程序接口实现的,用户通过鼠标和键盘在图形界面上单击或使用快捷键,就能很方便地使用操作系统。严格来说,图形接口不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分。

命令接口:使用命令接口进行作业控制的主要方式有两种,即联机控制方式和脱机控制方式。按作业控制方式的不同,可将命令接口分为联机命令接口和脱机命令接口。
联机命令接口又称交互式命令接口,适用于分时或实时系统的接口。它由一组键盘操作命令组成。用户通过控制台或终端输入操作命令,向系统提出各种服务要求。用户每输入一条命令,控制权就转给操作系统的命令解释程序,然后由命令解释程序解释并执行输入的命令,完成指定的功能。之后,控制权转回控制台或终端,此时用户又可输入下一条命令。联机命令接口可以这
样理解:“雇主”说一句话,“工人”做一件事,并做出反馈,这就强调了交互性。
脱机命令接口又称批处理命令接口,适用于批处理系统,它由一组作业控制命令组成。脱机用户不能直接干预作业的运行,而应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起提交给系统。系统调度到该作业时,由系统中的命令解释程序逐条解释执行作业说明书上的命令,从而间接地控制作业的运行。脱机命令接口可以这样理解:“雇主”把要“工人”做的事写在清单上,“工人”按照清单命令逐条完成这些事,这就是批处理。

15.在下列性质中,(B)不是分时系统的特征。待定

A、交互性

B、同时性

C、及时性

D、独立性

解析:同时性:同时性也称多路性,指允许多个终端用户同时使用一台计算机,即一台计算机与若干台终端相连接,终端上的这些用户可以同时或基本同时使用计算机。
交互性:用户能够方便地与系统进行人机对话,即用户通过终端采用人机对话的方式直接控制程序运行,与同程序进行交互。
独立性:系统中多个用户可以彼此独立地进行操作,互不干扰,单个用户感觉不到别人也在使用这台计算机,好像只有自己单独使用这台计算机一样。
及时性:用户请求能在很短时间内获得响应。分时系统采用时间片轮转方式使一台计算机同时为多个终端服务,使用户能够对系统的及时响应感到满意。

16.下列选项中,(A)不属于操作系统提供给用户的可用资源。

A、中断机制

B、处理机

C、存储器

D、I/O设备

解析:3题

17.批处理操作系统的目的是(B)

A、提高系统与用户的交互性

B、提高系统资源的利用率

C、降低用户作业的周转时间

D、提高系统的可靠性

解析:为了解决人机矛盾及CPU和I/O设备之间速度不匹配的矛盾,出现了批处理系统。它按发展历程又分为单道批处理系统、多道批处理系统(多道程序设计技术出现以后)。

批处理操作系统的目的是为了提高CPU的利用率。

批处理操作系统由操作系统控制它们自动运行。这种采用批量处理作业技术的操作系统称为批处理操作系统。

批处理操作系统分为单道批处理系统和多道批处理系统。批处理操作系统不具有交互性,它是为了提高CPU的利用率而提出的一种操作系统。

操作系统习题集_第3张图片

18.下列选项中,(D)不是操作系统关心的主要问题。

A、管理计算机裸机

B、设计、提供用户程序与计算机硬件系统的界面

C、管理计算机系统资源

D、高级程序设计语言的编译器

解析:操作系统有两个重要的功能:一是通过资源管理,提高计算机系统的效率;二是改善人机界面向用户提供友好的工作环境。

19.实时操作系统追求的目标是(C)。

A、高吞吐率

B、充分利用内存

C、快速响应

D、减少系统开销

解析:实时系统(Real-Time System)是指系统能及时(或即时)响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。为了能在某个时间限制内完成某些紧急任务而不需要时间片排队,诞生了实时操作系统。这里的时间限制可以分为两种情况:若某个动作必须绝对地在规定的时刻(或规定的时间范围)发生,则称为硬实时系统,如飞行器的飞行自动控制系统,这类系统必须提供绝对保证,让某个特定的动作在规定的时间内完成。若能够接受偶尔违反时间规定且不会引起任何永久性的损害,则
称为软实时系统,如飞机订票系统、银行管理系统。
在实时操作系统的控制下,计算机系统接收到外部信号后及时进行处理,并在严格的时限内处理完接收的事件。实时操作系统的主要特点是及时性和可靠性。

20.如用户要利用计算机系统直接调试和控制程序的执行,则应在其上配置(C)操作系统。

A、批处理

B、实时

C、分时

D、单用户

解析:分时系统是指在一台主机上连接多个带有显示器和键盘的终端,同时允许多个用户通过自己的键盘,以交互的方式使用计算机,共享主机中的资源。 "分时"的含义分时是指多个用户分享使用同一台计算机;多个程序分时共享硬件和软件资源,推动多道批处理系统形成和发展的动力是提高资源利用率和系统吞吐量,推动分时系统形成和发展的主要动力是用户的需要:

21.实时操作系统必须在(B)的时间内响应一个新任务。

A、一个机器周期

B、被控对象规定

C、任一周期

D、时间片

解析:9题

  1. (C)操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A、网络

B、分布式

C、分时

D、实时

解析:20题

23.如果分时操作系统的时间片一定,那么(B),则响应时间越长。

A、用户数越少

B、用户数越多

C、内存越少

D、内存越多

解析:分时系统中,当时间片固定时,用户数越多,每个用户分到的时间片就越少,响应时间自然就变长,注意,分时系统的响应时间T的比例关系可表达为T≈QN,其中Q是时间片,而N是用户数。

24.操作系统的基本类型主要有(B)。

A、批处理系统、分时系统及多任务系统

B、实时操作系统、批处理操作系统及分时操作系统

C、单用户系统、多用户系统及批处理系统

D、实时系统、分时系统和多用户系统

解析:操作系统的基本类型主要有批处理系统、分时系统和实时系统。

25.(C)操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A、网络

B、分布式

C、分时

D、实时

解析:22题

分布式具有各个计算机间相互通讯,无主从关系;
分布式系统资源为所有用户共享;
分布式系统中若干个计算机可相互协作共同完成一项任务。

26.操作系统的基本功能包括( 全选)。

A、处理机管理功能

B、存储器管理功能

C、I/O设备管理功能

D、文件管理功能

解析:操作系统的主要功能 :处理机管理功能 、存储器管理功能、设备管理功能、文件系统管理、用户接口等

27.操作系统的基本特性是指(全选)。

A、并发

B、共享

C、虚拟

D、异步性

解析:操作系统的基本特性 :并发、共享、虚拟、异步性其中最基本特性是并发与共享。

28.各种类型的操作系统各有所长,它们追求的设计目标也不同,下述说法正确的是(全选)。

A、多道批处理系统是为了提高系统的资源利用率

B、分时系统允许用户直接与计算机系统交互

C、实时系统首先要考虑实时性和可靠性

D、网络操作系统必须实现计算机之间的通信及资源共享

E、分布式操作系统要让多台计算机协作完成一个共同的任务

29.数据库管理程序需要调用操作系统程序,操作系统程序的实现也需要数据库系统的支持。错误

解析:数据库管理程序需要调用操作系统程序,但是操作系统程序的实现不需要数据库系统的支持

30.批处理系统提高了系统各种资源的利用率和系统吞吐率,因而缩短了作业的周转时间。这种描述对吗?错误

第二章 进程的描述与控制

1.由于等待某些事件发生,进程主动进入阻塞状态。 正确

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

A、0、1

B、1、2

C、2、0

D、1、0

解析:信号量的初值为3,说明有3个这样的资源可供使用。但其当前值为1,说明当前只有1个这样的资源可用,而另外2个已经分配。由于还有1个资源可用,所以此时没有等待该资源的进程。

根据信号量的物理含义:S.value>0时表示有S.value个资源可用;S.value==0表示无资源可用;S.value<0则|S.value|表示等待队列中的进程个数。信号量的当前值为1,则表示该资源的可用个数为1,没有等待该资源的进程。

3.当已有进程进入自己对应于某临界资源的临界区时,所有企图进入该临界资源所对应临界区的进程必须等待,这称之为( C)。

A、空闲让进

B、让权等待

C、忙则等待

D、有限等待

解析:空闲让进:当没有进程处于临界区时,可以允许一个请求进入临界区的进程立即进入自己的临界区。
忙则等待:当已有进程进入其临界区时,其他试图进入临界区的进程必须等待。
有限等待:对要求访问临界资源的进程,应该保证能在有限时间内进入自己的临界区。
让权等待:当进程不能进入自己的临界区时,应释放处理机。
4.下列关于线程的叙述中,正确的是( B)。

A、每个线程有自己独立的地址空间

B、线程可以独立执行

C、进程只能包含一个线程

D、线程之间的通信必须使用系统调用函数

解析:每个进程都有自己的地址空间,但线程没有自己独立的地址空间,而是运行在一个进程里的所有线程共享该进程的整个虚拟地址空间。

线程可以包含CPU现场,并且可以独立执行程序。

线程之间通信方式:
1.是通过共享变量,线程之间通过该变量进行协作通信;
2.通过队列(本质上也是线程间共享同一块内存)来实现消费者和生产者的模式来进行通信;

5.进程之间的同步,主要源于进程之间的资源竞争,是指对多个相关进程在执行次序上的协调。错误

解析:进程同步是指对多个相关进程在执行次序上进行协调。主要源于进程合作

6.用户级线程执行时,同一进程不同线程的切换不需要内核支持。正确

操作系统习题集_第4张图片

7.在引入线程的系统中,进程仍是资源分配和调度的基本单位。正确

解析:进程表示单个运行活动集的计算机程序,是系统的资源分配和调度的基本单元,是操作系统结构的基础。

8.下列选项中不属于进程高级通信的是(D )。

A、管道通信

B、共享存储器系统

C、消息传递系统

D、信号量机制

解析:进程通信是指在进程间传输数据(交换信息)。 进程通信根据交换信息量的多少和效率的高低,分为低级通信(只能传递状态和整数值)和高级通信(提高信号通信的效率,传递大量数据,减轻程序编制的复杂度)。其中高级进程通信分为三种方式:共享内存模式、消息传递模式、共享文件模式

进程间通信的方式很多,包括:

  1. 信号(signal )通信机制;
  2. 信号量及其原语操作(PV、读写锁、管程)控制的共享存储区(shared memory )通信机制;
  3. 管道(pipeline)提供的共享文件(shared file)通信机制;
  4. 信箱和发信/ 收信原语的消息传递(message passing )通信机制。
    其中前两种通信方式由于交换的信息量少且效率低下,故称为低级通信机制,相应地可把发信号/ 收信号及PV之类操作称为低级通信原语,仅适用于集中式操作系统。消息传递机制属于高级通信机制,共享文件通信机制是消息传递机制的变种,这两种通信机制,既适用于集中式操作系统,又适用于分布式操作系统。

共享存储系统(有的地方称作共享内存区)、消息传递系统(有的地方称作消息队列)、管道。

进程通信博客:https://www.cnblogs.com/youngforever/p/3250270.html

9.进程的运行具有异步性,因此进程执行的速度不能由进程自己控制。正确

10.在多个用户级线程对应一个内核支持线程的模型中,当一个多线程进程中的某个线程被阻塞后,( B)。

A、该进程的其他线程仍可继续运行

B、整个进程都将阻塞

C、该阻塞线程将被撤销

D、该阻塞线程将永远不可能再执行

解析:在同时支持用户级线程和内核级线程的系统中,由几个用户级线程映射到几个内核级线程的问题引出了“多线程模型”问题。
多线程模型分为:多对一模型、一对一模型和多对多模型。

多对一模型
多个用户级线程映射到一个内核级线程。每个用户进程只对应一个内核级线程。

优点:用户级线程的切换在用户空间即可完成,不需要切换到核心态,线程管理的系统开销小,效率高。
缺点:当一个用户级线程被阻塞后,整个进程都会被阻塞,并发度不高。多个线程不可在多核处理机上并行运行(因为此时只有一个内核级线程)。

一对一模型
一个用户级线程映射到一个内核级线程。每个用户进程有着与用户级线程同数量的内核级线程。
优点:当一个用户级线程被阻塞后,别的用户级线程还可以继续执行,并发能力强。多线程可在多核处理机上并行执行。
缺点:一个用户进程会占用多个内核级线程,而内核级线程的切换由操作系统内核完成,需要切换到核心态,因此线程管理成本高、开销大。

多对多模型
n个用户级线程映射到m个内核级线程 ( n >= m )。每个用户进程对应m个内核级线程。
这种模型克服了多对一模型并发度不高的缺点,又克服了一对一模型中一个用户进程占用太多内核级线程,开销太大的缺点,是上述两种模型的折中方案。

11.信号量是解决进程同步与互斥问题的唯一手段。错误

解析:信号量机制是一种可以实现进程互斥、同步的有效方法。非唯一

12.(D )不是在创建进程中所完成的工作。

A、为被创建进程建立一个PCB

B、获取初始状态参数填入PCB

C、把PCB分别插入就绪队列和进程家族中

D、为进程调度CPU使用权

解析:创建进程:

  1. 申请空白PCB (2) 为新进程分配资源 (3) 初始化进程控制块 (4) 将新进程插入就绪队列

操作系统习题集_第5张图片

13.进程和程序最根本的区别是( B)

A、对资源的占有类型和数量

B、进程是动态的,程序是静态的

C、是否能够并发地在处理机上运行

D、进程规模小,程序规模较大

14.(A )操作不是wait操作可完成的。

A、为进程分配处理机

B、使信号量的值变小

C、可用于进程的同步

D、使进程进入阻塞状态

解析:P操作分配的是我们申请的资源,并不是处理机

PV 操作改变信号量的值,信号量是实现进程同步与互斥的机制,所以PV操作可以实现进程同步与互斥。
信号量是最早出现的用来解决进程同步与互斥问题的机制。
信号量(Saphore)值表示相应资源的使用情况。信号量S>=0时,S表示可用资源的数量。**执行一次P操作意味着请求分配一个资源,因此S的值减1;当S<0时,表示已经没有可用资源,S的绝对值表示当前等待该资源的进程数。请求者必须等待其他进程释放该类资源,才能继续运行。**而执行一个V操作意味着释放一个资源,因此S的值加1;若S<0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
注意,信号量的值只能由PV操作来改变。
15.关于记录型信号量机制,如下说法不准确的是(D )。

A、记录型信号量的队列分量用来表示因申请对应资源失败而受阻的进程阻塞队列

B、记录型信号量的signal操作不仅执行资源的释放,还会唤醒相应进程阻塞队列的队首进程

C、记录型信号量的wait操作在进程申请对应资源未果的情况下,将把当前进程插入到相应的进程阻塞队列

D、记录型信号量的整型分量用来表示系统当前可用对应资源的数量

解析:整型信号量被定义为一个用于表示资源数目的整型量S

16.一段时间内仅允许一个进程访问的空间称为临界区。错误

解析:进程中访问临界资源的那段代码称为临界区。

在一段时间内只允许一个进程访问的资源,称为是临界资源

17.中断是OS内核最基本的功能。正确

18.下面关于PCB的说法中,错误的是( D)

A、每个进程只有1个PCB

B、1个PCB只对应1个进程

C、PCB位于内存中

D、PCB的索引组织方式比链式组织方式好

解析:进程与PCB是一一对应的。 PCB应常驻内存。

1)线性表方式:不论进程的状态如何,将所有的PCB连续地存放在内存的系统区。这种方式适用于系统中进程数目不多的情况,不适合频繁的进程调度

2)索引表方式:该方式是线性表方式的改进,系统按照进程的状态分别建立就绪索引表、阻塞索引表等。其中进程阻塞可能由于I/O请求、申请缓冲区失败、等待解锁、获取数据失败等原因造成,将其组成一张表忽略了进程的优先级,不利于进程的唤醒。
不存在谁好谁坏

19.关于整型信号量机制,下列说法不正确的是(B )。

A、整型信号量用来表示系统当前可用对应资源的数量

B、整型信号量机制无法满足空闲让进的准则

C、整型信号量机制无法满足让权等待的准则

D、整型信号量机制提供有资源申请操作和资源释放操作,也即PV操作

解析:整型信号量机制无法满足让权等待的准则wait过程中,如果不满足则一直在询问,直到满足了才跳出循环,执行后续操作。执行过程中不可中断。

20.下列特性中,哪一个不是进程的特性( C)

A、异步性

B、并发性

C、静态性

D、动态性

解析:进程的特征:

结构特征:由程序段、数据段、进程控制块三部分组成(进程实体);

动态性:进程的实质是程序的一次执行过程;

并发性:多个进程可同存于内存中,能在一段时间内同时运行;

独立性:独立运行的基本单位,独立获得资源和调度的基本单位;异步性:各进程按各自独立的不可预知的速度向前推进。

21.为使进程由静止就绪变为活动就绪,应利用( B)原语。

A、wakeup

B、suspend

C、active

D、block

解析:
活动就绪------suspend------>静止就绪
活动就绪<------active------静止就绪

活动阻塞------suspend------>静止阻塞

活动阻塞<------active------静止阻塞

22.PV操作是对信号量执行减1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程。 正确

V操作是对信号量执行加1操作,意味着释放一个单位资源,加1后如果信号量的值小于等于零,则从等待队列中唤醒一个进程,并将它变为***就绪状态***,而现进程继续进行。

23.对于管程而言,为区别不同的等待原因而引入了( C)的概念,并分别为之设立相应的进程等待队列。

A、信号量

B、互斥锁

C、条件变量

D、线程

24.下列进程状态的转换中,哪一个是不正确的( C)

A、就绪->运行

B、运行->就绪

C、就绪->阻塞

D、阻塞->就绪

解析:活动就绪静止就绪 活动阻塞静止阻塞 静止就绪活动就绪 静止阻塞活动阻塞

阻塞—>运行 就绪—>阻塞是不存在的

25.某个运行中的进程要申请打印机,它将变为(B )

A、就绪态

B、阻塞态

C、创建态

D、撤销态

解析:

其实处理机同一时刻只能执行一个进程。而要让处理机同时去执行多个进程,怎么办?
进程调度程序会把处理机划分成长短相同且很小的时间块,每个时间块执行一个进程,某个进程时间块用完后,回到就绪状态,换到下一个进程执行。这样轮流来执行,实现了处理机能一起一起执行多个进程。
当某个进程申请资源被占用或者启动I/O传输未完成,就处于等待状态。(此时它和其它进程不一样,它不再去争夺时间块,就相当于睡着了一样)当它所请求的资源被释放,或者启动I/O传输完成,那么就会由继续进行就绪状态,(这就好比它被唤醒了,回到就绪状态里,同其它里程争夺处理机的时间块。你的问题就是这个进程从睡着了,然后又被唤醒了。被唤醒后你不能马上就要求执行啊,因为处理机还要执行其它进程,而这个进程就要回到就绪状态,和其它进程一样却争夺处理机的执行时间块)

当前正在执行的进程由于时间片用完而暂停执行时,该进程应转变为就绪状态;若因发生某种事件而不能继续执行时,应转为阻塞状态;若终端用户的请求而暂停执行时,它应转变为静止就绪状态。

26.并发进程是指(D )

A、不可中断的进程

B、可并发执行的进程

C、可同一时刻执行的进程

D、可同时执行的进程

27.如果某一进程在运行时,因等待数据输入,此时将脱离运行状态,进入(B )

A、就绪状态

B、阻塞状态

C、挂起状态

D、终止状态

解析:

当前正在执行的进程由于时间片用完而暂停执行时,该进程应转变为就绪状态;若因发生某种事件而不能继续执行时,应转为阻塞状态;若终端用户的请求而暂停执行时,它应转变为静止就绪状态。

28.进程同步机制应遵循让权等待准则,故当一个进程不能进入自己的临界区时,应当释放( B)。

A、内存空间

B、处理器

C、I/O设备

D、外存空间

29.操作系统中有一组常称为特殊系统调用的程序(B ),它不能被系统中断。

A、初始化程序

B、原语

C、信号量

D、控制模块

30.一个程序对应一个进程。错误

解析:一个程序可以对应多个进程

第三章 进程的调度与死锁

1.既考虑作业等待时间,又考虑作业执行时间的调度算法是( D)。

A、先来先服务

B、短作业优先

C、优先级调度

D、高响应比优先

解析:操作系统习题集_第6张图片

2.作业从进入后备队列到被调度程序选中的时间间隔称为( C)。

A、周转时间

B、响应时间

C、等待时间

D、触发时间

3.时间片轮转调度算法是为了(A )。

A、多个终端能够得到系统及时响应

B、使系统更高效

C、优先级较高的进程得到及时响应

D、需要CPU时间最少的进程最先运行

解析:时间片轮转的主要目的是使得多个交互的用户能够得到及时响应,使得用户以为“独占”计算机的使用。因此它并没有偏好,也不会对特殊进程做特殊服务。时间片轮转增加了系统开销,所以不会使得系统高效运转,吞吐量和周转时间均不如批处理。但是其较快速的响应时间使得用户能够与计算机进行交互,改善了人机环境,满足用户需求。

4.下面有关选择进程调度算法的准则中不正确的是(D )。

A、尽快响应交互式用户的请求

B、尽量提高处理机利用率

C、尽可能提高系统吞吐量

D、适当增长进程就绪队列的等待时间

解析:减少进程就绪队列的等待时间

① 处理器利用率;② 吞吐量;③ 等待时间;④ 响应时间。

5.进程调度算法采用时间片轮转调度算法,当时间片过大时,就会使时间片轮转算法转化为(A )调度算法。

A、先来先服务

B、短进程优先

C、高响应比优先

D、以上选项都不对

解析:时间片轮转调度算法在实际运行中也是按先后顺序使用时间片,当时间片过大时,我们可以认为其大于进程需要的运行时间,即转变为先来先服务调度算法

6.下列选项中,满足短作业优先且不会发生饥饿现象的是(D )调度算法。

A、先来先服务

B、非抢占式短作业优先

C、时间片轮转

D、高响应比优先

解析:

高响应比优先算法:

响应比 =(等待时间+要求服务时间)/ 要求服务时间,即RR=(w+s)/s=1+w/s。因此响应比一定是大于1的。

这种算法的思想是综合了 短作业优先调度算法 + 动态优先权机制 的优点,既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。

当一个作业的要求服务时间很短,那么响应比就会很大,有短作业优先的特点;但是当一个作业等待时间太长了,它的响应比又提升了,解决了短作业优先算法容易发生 饥饿 的毛病,

7.进程调度又称低级调度,其主要功能是(D )。

A、选择一个作业调入内存

B、选择一个内存中的进程调出到外存

C、选择一个外存中的进程调入内存

D、将一个就绪的进程投入运行

解析:

低级调度用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行把处理机分配给该进程的具体操作。

低级调度的主要功能如下:

  • 保存处理机的现场信息

    在进程调度进行调度时,首先需要保存当前进程的处理机的现场信息,如程序计数器、多个通用寄存器中的内容等,将它们送入该进程的进程控制块(PCB)中的相应单元。

  • 按某种算法选取进程

    低级调度程序按某种算法如优先数算法、轮转法等,从就绪队列中选取一个进程,把它的状态改为运行状态,并准备把处理机分配给它。

  • 把处理器分配给进程

    由分派程序(Dispatcher)把处理器分配给进程。

    此时需为选中的进程恢复处理机现场,即把选中进程的进程控制块内有关处理机现场的信息装入处理器相应的各个寄存器中,把处理器的控制权交给该进程,让它从取出的断点处开始继续运行

8.分时系统中,若当前运行的进程连续获得两个时间片,原因可能是(B )。

A、该进程的优先级最高

B、就绪队列为空

C、该进程最早进入就绪队列

D、该进程是一个短进程

9.三种主要类型的OS中都必须配置的调度是( C)。

A、作业调度

B、中级调度

C、低级调度

D、高级调度

10.死锁问题的讨论是针对(D )进行。

A、某个进程申请系统中不存在的资源

B、某个进程申请资源数超过了系统拥有的最大资源数

C、硬件故障

D、多个并发进程竞争独占型资源

11.有关资源分配图中存在环路和死锁关系,正确的说法是( D)。

A、图中无环路则系统可能存在死锁

B、图中无环路则系统肯定存在死锁

C、图中有环路则系统肯定存在死锁

D、图中有环路则系统可能不存在死锁

解析:图中无环路系统无死锁,图中有环路则系统可能存在死锁

12.死锁的预防方法中,不太可能的一种方法是( A)。

A、破环互斥条件

B、破坏请求和保持条件

C、破坏不剥夺条件

D、破坏循环等待条件

解析:产生死锁必须同时具备下面四个必要条件,只要其中任一个条件不成立,死锁就不会发生:  (1) 互斥条件  (2) 请求和保持条件  (3) 不可抢占条件  (4) 循环等待条件

互斥:互斥条件是共享资源必须的,不仅不能改变,还应加以保证请求和保持:必须保证进程申请资源的时候没有占有其他资源要求进程在执行前一次性申请全部的资源,只有没有占有资源时才可以分配资源资源利用率低,可能出现饥饿改进:进程只获得运行初期所需的资源后,便开始运行;其后在运行过程中逐步释放已分配的且用毕的全部资源,然后再请求新资源

非抢占:如果一个进程的申请没有实现,它要释放所有占有的资源;先占的资源放入进程等待资源列表中;进程在重新得到旧的资源的时候可以重新开始。循环等待:对所有的资源类型排序进行线性排序,并赋予不同的序号,要求进程按照递增顺序申请资源。如何规定每种资源的序号是十分重要的;限制新类型设备的增加;作业使用资源的顺序与系统规定的顺序不同;限制用户简单、自主的编程。

13.产生死锁的原因可能是因为(C )。

A、进程释放资源

B、一个进程进入死循环

C、多个进程竞争资源出现了循环等待

D、多个进程竞争共享型设备

解析:竞争不可抢占性资源引起死锁;竞争可消耗资源引起死锁;进程推进顺序不当引起死锁;

14.对资源采用按序分配策略能达到( A)的目的。

A、预防死锁

B、避免死锁

C、检测死锁

D、解除死锁

15.多个进程共享的系统资源不足时可能产生死锁,但是不适当的(C )也可能产生死锁。

A、进程优先权

B、资源的静态分配

C、进程的推进顺序

D、分配队列优先权

16.通常不采用( D)方法来解除死锁。

A、终止一个死锁进程

B、终止所有的死锁进程

C、从死锁进程处抢夺资源

D、从非死锁进程处抢夺资源

17.下列进程调度算法中,( A)可能会出现饥饿现象。

A、静态优先权算法

B、抢占式调度中采用动态优先权算法

C、分时处理中的时间片论战调度算法

D、非抢占式调度中采用FIFO算法

解析:因为静态优先算法,不管是可抢占的还是不可抢占的,都会发生饥饿的现象,因为优先级低得进程会长时间得不到运行

18.两个进程争夺同一个资源(B )。

A、一定死锁

B、不一定死锁

C、只要互斥就不会死锁

D、以上说法都不对

19.在处理死锁的方法中,属于“避免死锁”的策略是(B )。

A、资源的有序分配

B、银行家算法

C、优先级调度

D、高响应比优先

解析:资源有序分配策略在于打破死锁条件中的循环等待条件。

优先级调度:就绪态的实时任务立即抢占非实时任务

20.当进程调度采用优先级调度算法时,从保证系统效率的角度来看,应提高(B )进程的优先级。

A、连续占用处理器时间长的

B、在就绪队列中等待时间长的

C、以计算为主的

D、用户

21.一个作业8:00到达系统,估计运行时间为1h.若10:00开始执行该作业,其响应比是(C )。

A、2

B、1

C、3

D、0.5

解析:image-20220414184927377

等待时长2h,要求服务时间1h,那么1+2/1=3

22.假设有5个批处理作业几乎同时到达系统,它们估计运行时间为10,6,2,4,8分钟,优先级分别为3,5,2,1,4(5为最高优先级)。若采用优先级调度算法,则平均周转时间为( C)分钟。

A、6

B、10

C、20

D、24

在题目中指出5个作业几乎同时到达一个计算中心,其含义是任何调度算法(除了FCFS算法外)都可以认为这5个作业是同时到达的,在调度过程中不需考虑其到达的顺序。

0(分钟) 作业A,B,C,D,E到达
作业B优先级最高,被调入系统运行
作业A,C,D,E等待系统调度
6(分钟) 作业B运行完成
作业E优先级最高,被调入系统运行
作业A,C,D等待系统调度
14(分钟) 作业E运行完成
作业A优先级最高,被调入系统运行
作业C,D等待系统调度
24(分钟) 作业A运行完成
作业C优先级最高,被调入系统运行
作业D等待系统调度
26(分钟) 作业C运行完成
作业D优先级最高,被调入系统运行
30(分钟) 作业D运行完成

最高优先级优先:各作业的执行结束时间分别为:24,6,26,30,14

作业的平均周转时间为:
T = ∑ T i / n = ( 24 + 6 + 26 + 30 + 14 ) / 5 = 20 T=\sum_{}^{}T_i/n=(24+6+26+30+14)/5=20 T=Ti/n=(24+6+26+30+14)/5=20
23.设系统中有n个并发进程,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X最少要有( C)个。

A、n*m+1

B、n*m+n

C、n*m+1-n

D、无法预计

解析:

最极端的情况是每个进城有m-1个资源,而总资源一共就有n*(m-1)个,那么这个时候也会发生死锁,这个时候只需要再多出一个资源,就可以保证某一个进城执行成功,然后执行成功以后,就会有更多的资源释放,后面的进城也可以执行。所以最终的结果就是n*(m-1)+1

24.若进程P一旦被唤醒就能够投入运行,系统可能为( D)。

A、分时系统,进程P的优先级最高

B、抢占调度方式,就绪队列上的所有进程的优先级都比进程P低

C、就绪队列为空队列

D、抢占调度方式,进程P的优先级高于当前运行的进程

25.某系统采用银行家算法,则下列叙述正确的是(B )。

A、系统处于不安全状态时一定会发生死锁

B、系统处于不安全状态时可能会发生死锁

C、系统处于安全状态时一定会发生死锁

D、系统处于安全状态时可能会发生死锁

解析:系统处于安全状态时,一定不会发生死锁;系统处于不安全状态时,不一定会发生死锁;

26.系统中有四个进程P1、P2、P3、P4,有四种类型的资源:A、B、C、D。系统最初四类资源总数为(5,7,7,2)。P1、P2、P3、P4的对各类资源的最大需求分别为(3 ,2, 1 ,2)(4, 5 ,3, 2)(2 ,3 .4, 1)(1 ,2, 2,1)。在T0时刻P1、P2、P3、P4已经分配到的资源分别为:(0, 2, 0, 1)(2 ,2, 3, 0)(1, 1, 2, 0)(1 ,2 ,0, 1)。问TO时刻系统的可用资源向量是( C)。

A、(1,1,2,2)

B、(1,2,2,1)

C、(1,0,2,0)

D、(2,1,2,1)

解析:

最大资源需求量 已分配资源数量 available
R1 R2 R3 R4 R1 R2 R3 R4 R1 R2 R3 R4
P1 3 2 1 2 0 2 0 1 1 0 2 0
P2 4 5 3 2 2 2 3 0
P3 2 3 4 1 1 1 2 0
P4 1 2 2 1 1 2 0 1

系统中资源总量为某时刻系统中可用资源量与各进程已分配资源量之和,各进程对资源的需求量为各进程对资源的最大需求量与进程已分配资源量之差

(5,7,7,2)-(0,2,0,1)-(2,2,3,0)-(1,1,2,0)-(1,2,0,1)=(1,0,2,0)

27.系统中有四个进程P1、P2、P3、P4,有四种类型的资源:A、B、C、D。系统最初四类资源总数为(5,7,7,2)。P1、P2、P3、P4的对各类资源的最大需求分别为(3 ,2, 1 ,2)(4, 5 ,3, 2)(2 ,3 .4, 1)(1 ,2, 2,1)。在T0时刻P1、P2、P3、P4已经分配到的资源分别为:(0, 2, 0, 1)(2 ,2, 3, 0)(1, 1, 2, 0)(1 ,2 ,0, 1)。问TO时刻P3的需求矩阵是(B )。

A、(1,2,3,1)

B、(1,2,2,1)

C、(1,2,3,2)

D、(2,2,3,1)

解析:P3的需求矩阵=(2,3,4,1)-(1,1,2,0)=(1,2,2,1)

P1=(3,2,1,2)-(0,2,0,1)=(3,0,1,1)

P2=(4,5,3,2)-(2,2,3,0)=(2,3,0,2)

P4=(1,2,2,1)-(1,2,0,1)=(0,0,2,0)

28.系统中有四个进程P1、P2、P3、P4,有四种类型的资源:A、B、C、D。系统最初四类资源总数为(5,7,7,2)。P1、P2、P3、P4的对各类资源的最大需求分别为(3 ,2, 1 ,2)(4, 5 ,3, 2)(2 ,3 .4, 1)(1 ,2, 2,1)。在T0时刻P1、P2、P3、P4已经分配到的资源分别为:(0, 2, 0, 1)(2 ,2, 3, 0)(1, 1, 2, 0)(1 ,2 ,0, 1)。问TO时刻的安全序列是(D )。

A、{P3,P4,P1,P2}

B、{P1,P4,P3,P2}

C、{P2,P4,P3,P1}

D、{P4,P3,P1,P2}

解析:available(1,0,2,0)NEED矩阵见上题

P4够先释放

29.系统中有四个进程P1、P2、P3、P4,有四种类型的资源:A、B、C、D。系统最初四类资源总数为(5,7,7,2)。P1、P2、P3、P4的对各类资源的最大需求分别为(3 ,2, 1 ,2)(4, 5 ,3, 2)(2 ,3 .4, 1)(1 ,2, 2,1)。在T0时刻P1、P2、P3、P4已经分配到的资源分别为:(0, 2, 0, 1)(2 ,2, 3, 0)(1, 1, 2, 0)(1 ,2 ,0, 1)。问TO时刻P1请求资源(0,0,2,0),是否能实施资源分配?( B )。

A、是

B、否

解析:(0,0,2,0)>(3,0,1,1)不满足Request i[j]≤Need[i, j],出错

30.在系统中有5个作业A,B,C,D,E,他们的到达时间分别为0,2,4,6,8。运行时间分别为3,6,4,5,2。系统采用FCFS调度算法的平均带权周转时间是(A)

A、2.56

B、3.4

C、6

D、8.6

解析:先来先服务(first-come first-served,FCFS)调度算法

作业号 提交时间 运行时间 开始时间 等待时间 完成时间 周转时间 带权周转时间
A 0 3 0 0 3 3 1
B 2 6 3 1 9 7 1.167
C 4 4 9 5 13 9 2.25
D 6 5 13 7 18 12 2.4
E 8 2 18 10 20 12 6

操作系统习题集_第7张图片

平均带权周转时间 W=(1+1.167+2.25+2.4+6)/5=2.56

31.在系统中有5个作业A,B,C,D,E,他们的到达时间分别为0,2,4,6,8。运行时间分别为3,6,4,5,2。系统采用SJF调度算法的平均带权周转时间是(D)

A、7.6

B、4

C、3.5

D、1.84

解析:抢占式

作业号 提交时间 运行时间 开始时间 等待时间 完成时间 周转时间 带权周转时间
A 0 3 0 0 3 3 1
B 2 6 9 7 15 13 2.17
C 4 4 4 0 8 4 1
D 6 5 15 9 20 14 2.8
E 8 2 8 6 10 2 1

平均带权周转时间W=(1+2.17+1+2.8+1)/5=1.594

表格解释:A 结束之后,B 要开始,执行到第四个时间点的时候,C 到达,那么B 这个时候已经执行了1个时间,还剩下5个服务时间,C 需要4个服务时间,所以C 抢占B ,C 结束以后,E 开始执行,结束以后,发现B 和D 需要服务时间一样,那么应该让先到的进程B 继续执行,最后进行E 的执行

作业号 提交时间 运行时间 开始时间 等待时间 完成时间 周转时间 带权周转时间
A 0 3 0 0 3 3 1
B 2 6 3 1 9 7 1.17
C 4 4 11 7 15 11 2.75
D 6 5 15 9 20 14 2.8
E 8 2 9 1 11 3 1.5

简单说一下,A 完成的时候,B 已经到达,这个时候显然需要B 开始,由于不是非抢占式,每个进程如果开始就必须持续做直到做完,所以B 结束的时候也就是第9 个时间点,这时,C D E 都已经到达,那么应该开始谁的服务呢?因为E 的服务时间最短,所以应该让E 继续,剩下同理

平均带权周转时间W=(1+1.17+2.75+2.8+1.5)/5=1.844

32.在系统中有5个作业A,B,C,D,E,他们的到达时间分别为0,2,4,6,8。运行时间分别为3,6,4,5,2。系统采用高响应比调度算法的平均带权周转时间是(C)

A、3

B、8

C、2.14

D、5

解析:

作业号 提交时间 运行时间 开始时间 等待时间 完成时间 周转时间 带权周转时间
A 0 3 0 0 3 3 1
B 2 6 3 1 9 7 1.17
C 4 4 9 5 13 9 2.25
D 6 5 15 9 20 14 2.8
E 8 2 13 5 15 7 3.5

高响应比调度算法的平均带权周转时间W=(1+1.17+2.25+2.8+3.5)/5=2.144

响应比:A:1 B:(1+6)/6=1.167 C:(5+4)/4=2.25 D:(9+5)/5=2.8 E:(5+2)/2=3.5

A:1 B:2 C:3 D:5 E:4

操作系统习题集_第8张图片

注意一点,此算法并非抢占,只要不是抢占调度,就必须一个一个的来,这个执行完毕才能执行下一个

你可能感兴趣的:(操作系统,操作系统)