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

本文是《操作系统原理》孟庆昌等编著的课后习题解析,涵盖进程、线程、互斥同步、临界区、死锁等核心概念,旨在帮助考研学生复习和深化理解。提供了部分习题答案,并阐述了进程控制块(PCB)、信号量、管程等机制,以及死锁的预防和避免策略。
摘要由CSDN通过智能技术生成

前言 

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

《操作系统原理》孟庆昌等编著之课后部分习题+答案(图片版)-其它文档类资源-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)消息传递:以消息为单位在进程间进行数据交换,有直接通信方式和间接通信方式两种实现方式。

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

习题:

答案: 

 

1.操作系统概述 操作系统的形成,操作系统的定义与功能,操作系统的分类 2.处理机管理 多道程序设计技术,用户与操作系统的两种接口,进程的定义、特征和基本状态,进程控制块(PCB)和控制块队列(运行、就绪、阻塞),进程的各种调度算法(先来先服务、时间片轮转、优先数、多级队列),进程管理的基本原语(创建、撤消、阻塞、唤醒),作业与作业调度算法(先来先服务、短作业优先、响应比高者优先)。 3.存储管理 地址的静态重定位和动态重定位,单一连续区存储管理,固定分区存储管理,可变分区存储管理,空闲区的合并,分区的管理与组织方式(表格法、单链表法、双链表法),分页式存储管理,页表、快表及地址转换过程,内存块的分配与回收(存储分块表、位示图、单链表),虚拟存储器的概念,请求分页式存储管理,缺页与缺页中断位,缺页中断与页面淘汰,页面淘汰算法(先进先出、最近最久未用、最近最少用、最优),页面走向,缺页中断率,抖动,异常现象。 4.设备管理 计算机设备的分类(基于从属关系、基于分配特性、基于工作特性),记录间隙,设备管理的目标与功能,输入/输出的处理步骤,设备管理的数据结构(SDT、DCB、IVT),独享设备的分配,共享磁盘的调度算法(先来先服务、最短查找时间优先、电梯、单向扫描),设备控制器,数据传输的方式(循环测试、中断、直接存储器存取、通道),I/O的缓冲技术(单缓冲、双缓冲、多缓冲、缓冲池),虚拟设备,SPOOLing技术。 5.文件管理 文件,文件系统,文件的逻辑结构(流式文件、记录式文件),文件的物理结构(连续文件、串联文件、索引文件),文件的存取(顺序、随机),磁盘存储空间的管理(位示图、空闲区表、空闲块链),文件控制块(FCB),目录的层次结构(一级目录,二级目录、树型),主目录,根目录,绝对路径,相对路径,按名存取的实现,文件共享,文件保护,文件上的基本操作。 6.进程间的制约关系 与时间有关的错误,资源竞争——互斥,协同工作——同步,信号量,信号量上的P、V操作,用P、V操作实现互斥,用P、V操作实现同步,用P、V操作实现资源分配,死锁,死锁产生的必要条件,死锁的预防,死锁的避免,死锁的检测与恢复,银行家算法,进程间的高级通信。 7.操作系统实例分析 Windows操作系统,Linux操作系统,MS-DOS操作系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

住在阳光的心里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值