栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【考研复习】《操作系统原理》孟庆昌等编著课后习题+答案——第二章

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【考研复习】《操作系统原理》孟庆昌等编著课后习题+答案——第二章

前言 

此书在最后的附录B中,有给出部分重难点部分的参考答案。会在最后放上图片。如果想要此书习题答案,可点以下链接:为一个压缩包,以图片形式,习题图片按章节排序,答案图片按书页排序。

《操作系统原理》孟庆昌等编著之课后部分习题+答案(图片版)-其它文档类资源-CSDN下载

但是其余习题,需此书读者在书中找到相应章节处得到答案。

所以,博主此系列文章,只是像做题一般,把未给出答案的部分题目(博主认为有需要写的)做出来,以当作复习,加深理解。

尽量保证正确(可能会把不是题目要求的但觉得重点的会考的也写上去),如果不同意见,可留言讨论。
 

补充各章节链接:

【考研复习】《操作系统原理》孟庆昌等编著课后习题+答案——第一章_住在阳光的心里的博客-CSDN博客

待补充

 

一、第二章 习题

1、解释以下术语:进程、进程控制块、进程映像、线程、进程的互斥和同步、临界区和临界资源、竞争条件、原语、信号量、管程、死锁、活锁、饥饿。(红色字体表示答案已有,见最下方图片)

答:(1)进程:程序在并发环境中的执行过程。(是操作系统进行资源分配的单位)

(2)线程:是进程执行运算的最小单位,执行处理机调度的基本单位。

(3)进程的互斥和同步:进程具有动态性和并发性。由于各个进程对资源的共享及完成一项共同的任务需要彼此会用,便产生了进程间的相互制约关系。进程间的相互关系主要表现如下三种:

一是互斥:各个进程彼此不知道对方的存在,逻辑上没有关系,由于竞争同一资源 而发生相互制约。

二是同步:各个进程不知道对方的名字,但通过对某些对象(或I/O缓冲区)的共同存取来协同完成一项任务。

三是通信:各个进程可以通过名字彼此之间直接进行通信,交换信息,合作完成一项工作。

(4)临界区:在每个进程中访问临界资源的那段程序。

临界资源:一次仅允许一个进程使用的共享资源。

(5)竞争条件:两个或多个进程同时访问和操纵相同的数据时,最后的执行结果取决于进程运行的精确时序的情况。

(6)原语:机器指令的延伸,往往是为完成某些特定的功能而编制的一段系统程序。

注意:原语操作,又称原子操作,即一个操作中的所有动作要么全做,要么全不做。

(7)信号量:(又称结构型信号量、计数信号量)一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值;另一个是指向PCB的指针。

注意:信号量的值:

大于0:表示当前可用资源的数量。

小于0:其绝对值表示等待使用该资源的进程个数,即在该信号量队列上排队的PCB的个数。

(8)管程:一个管程定义一个数据结构和能为并发进程在其上执行的一组操作,这组操作能使进程同步和改变管程中的数据。

一个管程由以下4部分组成:

一是管程名称;

二是局部于管程的共享数据的说明;

三是对数据进行操作的一组过程;

四是对该共享数据赋初值语句。

(9)死锁:若干进程竞争有限资源,且推进顺序不当,从而构成无限期循环等待的局面。

(10)活锁:任务或者执行者没有被阻塞,由于某些条件没有满足,导致一直重复尝试—失败—尝试—失败的过程。

(11)饥饿:(又称为“饿死”)在可预计的时间内,某个或某些进程永远得不到完成工作的机会,它们所需的资源总是被别的进程占有或抢占的状态。

(注意:死锁的进程必定处于阻塞状态,但饥饿进程不一定被阻塞,可以在就绪状态。)

3、PCB的作用是什么。

答:PCB是进程存在的唯一标志。

(1)操作系统根据PCB对进程实施控制和管理。

(2)进程的动态、并发等特征是通过PCB表现出来。

4、进程的基本状态有哪几种?试描绘进程状态转换图。

答:进程的基本状态有:运行态,就绪态,阻塞态。进程的状态转换图如下: 

5、进程进入临界区的调度原则是什么?

答:(1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。

(2)任何时候,处于临界区内的进程不可多于一个。

7、PCB表的组织方式主要有哪几种?分别简要说明。

答:有三种:

(1)线性方式:(最简单、最容易实现)OS预先确定整个系统中同时存在的进程的最大数目,比如 n,再静态分配空间,把所有进程的PCB都放在这个表中。

(2)链接方式:(经常用)OS按照进程的不同状态分别放在不同的队列中,从而形成就绪队列、阻塞队列、运行队列等。

(3)索引方式:利用索引表记载相应状态进程的PCB地址。(即系统建立几张索引表,各对应进程的不同状态。)

8、简述信号量的定义和作用。P、V操作原语是如何定义的?

答:信号量:

(1)定义:(又称结构型信号量、计数信号量)一般是由两个成员组成的数据结构,其中一个成员是整型变量,表示该信号量的值;另一个是指向PCB的指针。

(2)作用:表示系统中某类资源的数目。其值为:

大于0:表示当前可用资源的数量。

小于0:其绝对值表示等待使用该资源的进程个数,即在该信号量队列上排队的PCB的个数。

P、V操作原语:

(1)P操作:请求系统分配一个单位资源。

(2)V操作:释放出一个单位资源。

 P(S) 的定义V(S) 的定义
(1)信号量的值减1,即S = S - 1;(1)信号量的值加1,即S = S + 1;
(2)S >= 0,则该进程继续执行;(2)S > 0,则该进程继续执行;
S < 0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进入等待。(直至其他进程在S上执行V操作,把它释放出来为止)

S < 0,则释放信号量队列的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。

10、计算机系统中产生死锁的根本原因是什么?

答:根本原因是资源有限且操作不当。

11、产生死锁的四个必要条件是什么?一般对待死锁的方法有哪三种?

答:

产生死锁的四个必要条件一般对待死锁的方法
(1)互斥条件(1)忽略死锁问题
(2)不可抢占条件(2)死锁的预防
(3)占有且申请条件(3)死锁的避免
(4)环路等待条件(4)死锁的检测和恢复
死锁的预防方法实现办法/说明
(1)破坏互斥条件一般来说不能预防死锁
(2)破坏不可抢占条件(1)预分资源策略(静态分配)
(2)“空手”申请资源策略
(3)破坏占有且申请条件隐式抢占方式。(常用于资源状态易于保留和恢复的环境中)
(4)破坏环路等待条件

(1)资源有序分配策略;

(2)先弃大,再取小。

死锁的避免

(关键:确定资源分配的安全性)

方法实现办法/说明
(1)安全状态存在安全序列,则系统状态安全,不会发生死锁
(2)银行家算法由Dijstra提出
死锁的检测和恢复死锁检测(1)对单体资源类
(2)对多体资源类
从死锁中恢复(1)抢占资源
(2)回退执行
(3)杀掉进程

12、高级进程通信有哪几类?各自是如何实现进程间通信的?

答:高级进程通信大致可归并为三类:共享存储器、管道文件和消息传递。

(1)共享存储器:在内存中分配一片空间作为共享存储区,需要进行通信的各个进程把共享存储区附加到自己的地址空间中,再像进行正常操作一样对共享区中的数据进程进行读或写操作。若用户不需要某个共享存储区,则可取消。

(2)管道文件:也称管道线,是连接两个命令的一个打开文件。一个命令用于向该文件中写入数据,称做写者;另一个命令用于从该文件中读出数据,称做读者。

(3)消息传递:以消息为单位在进程间进行数据交换,有直接通信方式和间接通信方式两种实现方式。

二、书中附录已有答案(见下图:习题+答案)

习题:

 

答案: 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020634.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号