(3) 父进程,调度,处理器,就绪; (4) 临界资源,临界区;
(5) 时间片,分时,时间片的确定;
(6) 资源的数目,等待该资源的进程数目; (7) 资源分配,死锁;
(8) 缺乏资源,阻塞,等待,进程调度; (9) [1-m,1];
(10) 运行,处理器,就绪,调度算法,进程调度;
三. 简答题
(1) 处理机管理的主要任务是什么?具有哪些主要功能?
答:处理机管理的主要任务是对处理机进行分配,并对其运行进行有效的控制和管理。主要功能有:进程控制、进程同步、进程通信和进程调度。 (2) 程序的顺序执行和并发执行有何不同? 答:程序的顺序执行具有以下特点:
顺序性——处理机的操作,严格按程序所规定的顺序执行。
封闭性——程序在封闭的环境下运行,独占全机资源,执行结果不受外界因素影响。 可再现性——只要程序执行的环境和初始条件相同,程序多次重复执行,不论是不停顿执行,还是走走停停,都将获得相同的结果。
而程序的并发执行恰好相反,具有间断性、失去封闭性和不可再现性。(展开说明) (3) 简述进程的定义,进程的基本状态以及进程状态转换的典型原因。
答:进程是可并发执行的程序在一个数据集上的运行过程。进程有三种基本状态:就绪,执行和阻塞。 执行 A B C
就绪 阻塞 D A:进程调度 B:发生某事件无法执行 C:时间片到或优先级高的进程到达 D:阻塞的事件消失 (4) 简述进程与程序的区别。
答:进程是可并发执行的程序在一个数据集合上的运行过程,进程有动态性、并发性、独立性和异步性、结构特征,而程序是静态的,不能并发执行,未建立进程的程序也不能作为一个独立的单位参加运行。 (5) 进程的实体是什么?
答:进程通过三个部分被感知:程序、数据集合、进程控制块及相应表格,这三部分组成了进程的实体。程序是进程运行所对应的执行代码,数据集合是进程运行所必需的数据资源,进程控制块是保存进程状态,控制进程转换的标志。 (6) 简述进程控制块的主要内容。 答:PCB的内容
? 进程标识符信息——外部标识符、内部标识符。 ? 处理机状态信息
? 进程调度信息——进程状态、优先级等。
? 进程控制信息——程序和数据地址、同步机制、资源清单等。
(7) 简述进程通信的概念,最基本的通信原语有那些?
答:为了进行进程协调,进程间应具有一定联系,这种联系通常采用进程间交换数据的方式进行,称为进程通信。
最基本的通信原语有发送原语和接收原语。 (8) 简述读者——写者问题的思想。
答:读者—写者问题是典型的进程同步问题。一个数据对象(数据文件或记录)可被多个进程共享,其中有些进程要求读(读者进程),而另一些进程要求对数据对象进行写或修改(写者进程)。允许多个读进程同时读一个共享对象,但绝不允许一个写进程和其它读进程或写进程同时访问共享对象。该问题常被用来测试新同步原语。 (9) 什么是原语?★
答:由若干条指令所构成、用于完成一定功能的一个过程,具有原子性。 (10) 简述引起进程调度的原因。
答:缺乏资源——正在运行的进程因某个条件不能满足,进入阻塞状态;运行进程被撤下,引起调度另一个进程进入运行。
时间片到——分时系统中,每当时间片到,正在运行的进程被暂时停止,排入就绪队列,引起调度另一就绪进程进入运行
外部中断——外部中断信号引起调度。
进程结束——进程正常执行完毕,终止,此时系统调度另一进程运行。 (11) 进程调度有何功能?有哪些常用的调度算法?
答:查询、登记和更新进程控制表PCB中相应表项,并根据表项中的内容和状态作出选择决定;根据系统选定的调度算法,从就绪进程队列中选取一个就绪进程,分配CPU,并决定它运行多长时间(调度方式);进行实际分配工作,更新被调度进程和正在运行进出的PCB表项,修改状态,切换进程执行代码。
常用的调度算法有:先进先出法、短执行进程优先法、优先级调度法、轮转法等。 (12) 什么叫安全状态?常用什么方法保持系统处于安全状态?
答:若系统能按某种顺序(安全序列)来为每个进程分配其所需资源,直至最大需求,使每个进程都可顺利完成,此时系统处于安全状态。在银行家算法中检查资源分配后系统的安全性,保证系统处于安全状态,不会发生死锁。 (13) 进程之间存在哪几种相互制约关系?各是什么原因引起的?下列活动分别属于哪
种制约?(1)若干同学去图书馆借书(2)两队举行篮球比赛(3)流水线生产的各道工序(4)商品生产和社会消费。 答:进程之间存在两种相互制约关系:
(1)间接相互制约——资源共享关系,是由于多个进程共享同一资源引起的。
(2)直接相互制约——相互合作关系,是由于多个进程相互合作,共同完成同一任务造成。 其中(1)、(2)属于间接相互制约,而(3)、(4)属于直接相互制约。 (14) 系统中有3个进程,4个相同类型的资源,每个进程最多需要2个资源,该系统是
否回发生死锁?为什么?
答:该系统不会发生死锁。因为4个资源分配给3个进程,无论如何分配,总会有1个进程能够分配到2个资源,该进程获得其最大资源数后,完成并释放其资源,剩余2个进程就可获得最大资源数,顺利完成,系统始终存在安全序列,故系统不会死锁。 (15) 资源分配图如下图,系统是否处于死锁状态?
P0 P1 ? ?
r1 r2 r3 r4 ? ? ? ? ?
P2 P3 P4
答:对该图进行化简,得到如下图所示的结果。由于该图是不可完全简化的,所以根据死锁定理,系统处于死锁状态。
P0 P1 ? ?
r1 r2 r3 r4 ? ? ? ? ?
P2 P3 P4
(16)
简述解决死锁的途径: 1)、预防死锁——设置某些限制条件,去破坏产生死锁的四个必要条件之一。 2)、避免死锁——资源动态分配过程中,用某方法防止系统进入不安全状态。 3)、检测死锁——允许发生死锁,但通过系统设置的检测机构,检测死锁的发生,
并精确确定与死锁有关的进程和资源。
4)、解除死锁——将进程从死锁状态下解脱。
(17) 设有进程P1和P2并发执行,都要享用资源R1,R2,使用资源情况如下: 进程P1:??申请R1??申请R2??释放R1?? 进程P2:??申请R2??申请R1??释放R2?? 判断是否会产生死锁,并解释其原因。
答:在不同的运行推进速度下,可能产生死锁。在某时刻,P1占用R1,又去申请R2;而P2占用R2,又去申请R1;互不释放自己占用的资源,又得不到自己所需的资源,系统处于僵持状态,形成死锁。 (18) 简述死锁定理。
答:用资源分配图加以简化的方法来检测系统是否处于死锁状态。S为死锁状态的充分条件是,当且仅当s状态的资源分配图是不可完全简化的。该充分条件称为死锁定理。
四. 综合应用题
(1) 请用信号量实现4*100接力赛的同步过程 解答:
P1 P2 P3 P4 S1 S2 S3
P1、P2、P3和P4分别代表四位运动员,他们的跑步顺序受其位置的限制。从上图表示可以看出,此题相当于是用信号量描述前趋关系。 S1、S2、S3、的初值均为0。
P1:起跑——>前进100米——>V(S1)
P2:P(S1)——>起跑——>前进100米——>V(S2) P3:P(S2)——>起跑——>前进100米——>V(S3)
P4:P(S3)——>起跑——>前进100米——>到达终点
(2) 有一发送者进程和一接收者进程,其流程如下。s是用于实现进程同步的信号量,m是
用于实现进程互斥的信号量。试完成流程图。假定缓冲区有无限多个,s和m的初值为多少? 发送者 接收者 申请缓冲区 C 把信息写入缓冲区 D A 从消息链首取一个缓冲区 将缓冲区放到消息链尾 V(m) B 从缓冲区取出消息 V(s) 释放缓冲区
解答: s=0表示满缓冲的数量、即多少缓冲区里有消息
m=1表示互斥信号量 A:P(m) B:V(m) C:P(s) D:P(m)
由题意,m用于实现进程互斥,初值应为1,并应成对出现,由接收者进程的V(m)操作可知,m用于实现消息链存、取缓冲区操作的互斥,故D为P(m)。相应的,A为P(m),B为V(m)。
由发送者进程可知,当发送者将一个消息放入消息链尾后,执行V(s)操作,故s表示接收者可取消息的数量,又因s用于实现进程同步,所以接收者接受消息前,应判断是否有消息可以取,需对s执行P操作,所以C为P(s),发送者发送消息前,接收者无消息可取,s的初值应为0。
(3) 桌上有一只盘子,最多允许存放两只水果,每次只能放入或取出一个水果。爸爸专向盘
中放苹果,妈妈专向盘中放桔子,两个儿子专等吃盘中的苹果,两个女儿专等吃盘中的桔子。试用PV操作实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。 解答:由题意,盘中最多可以放两只水果,而不管放入的是何种水果,故只要盘中有空位置,父母均可执行放水果的操作,即父母的放水果(苹果、桔子)操作仅取决于盘中是否有空位置。只有盘中有苹果,儿子才能取,只有盘中有桔子,女儿才能取,即儿女取水果的操作取决于相应水果是否存在。从另一个角度讲,父亲放苹果与儿子取苹果要同步,母亲放桔子与儿子取桔子要同步,分别需要用同步信号量实现。每次只能向盘子放入或从盘中取出一个水果,用互斥信号量实现。
设置信号量 s1=2,表示盘子中可放水果的空位置; s2=1,表示盘中放、取水果的互斥信号量; s3=0,表示盘中苹果的数目; s4=0,表示盘中桔子的数目;
父亲: 母亲: 儿子: 女儿: