第二章 进程管理习题和答案

更新时间:2023-03-08 18:05:36 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

--一、填空题

1. 进程是一个程序对某个数据集的一次执行过程。进程从结构上讲,包括程序、

数据和PCB三部分。 2. 进程是一个 动态的概念,程序是一个静态的概念。

3. 操作系统中,可以并行工作的基本单位是进程,它是由程序、数据集和PCB

组成。 4. 进程存在的唯一标志是PCB的存在。当系统创建一个进程时,系统为其建立

一个PCB,当进程被撤销时系统就将其收回。 5. 进程有三种基本状态,即运行状态、就绪状态、阻塞状态。当进程由(1)变换

到(2)或(3)时,就会立即引起重新调度。 6. 在操作系统中,不可中断执行的操作称为原语。

7. 并发进程之间的基本关系是同步或互斥。其中互斥是指进程之间的一种间接

关系。 8. 临界资源是指 一段时间只允许一个进程使用的资源 ,而临界区是指 进程中访问临界资源的程序代码 。 9. P,V操作原语是在 信号量上操作的。

10. 信号量的物理意义是:当信号量的值大于零时,表示 可用资源的数量 ;当信号量值小于零时,其绝对值为 等待使用信号量所代表资源的进程的数量。 11. 有n个进程共享同一个临界区,若使用信号量机制实现对临界资源的互斥访

问,则信号量值的变化范围是1~-(n-1)。 12.如果系统中有n个进程,则在等待(阻塞)队列中进程的个数最多可为

个n。 13. 如果信号量的当前值为-5,则表示系统中在该信号量上有 5 个等待进程。 14.某程序运行时经常需打印中间结果。计算时,该进程处于 用户态,打印时处

于 系统态,打印结束时进程处于用户态。 (指系统状态)、 15. 在操作系统中引入线程的主要目的是 减少程序并发执行时的时空开销,使OS更具有并发性。 16. 如果一个程序能为多个进程同时共享执行,那么它应该以纯码形式编写,即

该程序是可重人码程序,这种程序的特点是:在它执行过程中自身不可修改。 17. 中断优先级是由硬件规定的,若要调整中断的响应次序可通过 系统调用。 18. 进程初建时处于 就绪态,运行时因为时钟中断而处于 就绪态,因等待事件或资源而处于 阻塞态。 19. 在操作系统中引起进程调度的因素有:现运行进程任务完成或出现异常情

况;现运行进程在运行中又提出了新的资源申请,现运行进程由于执行某些原语,使进程由运行态变为阻塞态;在分时系统中,如果现运行进程给定的时间片用完了;在采用可剥夺式的调度方式时,当有更高 优先级的进程进入就绪队列时,要引起重新调度。 20. 进程调度算法采用等时间片轮转法时,时间片过大,就会使轮转法转化为先

来先服务调度算法。 21. 若使当前运行进程总是优先级最高的进程,则应选择可剥夺式最高优先数进

程调度算法。 22. 进程的调度方式有两种,一种是 可剥夺式,另一种是 不可剥夺式 。 23. 进程调度负责CPU的分配工作。

24.一种最常用的进程调度算法是把处理机分配给具有最高优先级的进程。而确

定优先级的方法概括起来不外乎是基于 静态特性和 动态特性两种方法。前者所得到的是 静态优先级,后者所得到的是 动态优先级。 25. 在先来先服务调度算法中,按照进程进入就绪队列的先后次序来分配处理

机。 26. 作业调度是高级调度,进程调度是低级调度。( 是否正确? )正确 27. 线程与进程的根本区别在于进程是资源分配的单位,而线程是CPU调度的

单位, 进程具有自己的主存空间, 同一进程中的线程 共享该主存空间并对其所有主存空间都有存取权限。 28.在多用户环境下,由多个程序共享一台计算机,机内资源状态将由多个程序

来改变,因此使程序失去了在顺序执行上时具有的封闭性和可再现性特征。 29.进程最基本的特征是_动态性,因为进程的实质是程序的一次执行过程,而且该特征还表现在进程由_创建而产生,由调度而执行,由撤销而消亡,即进程具有一定的生命周期。 二、综合题

1、桌上有一空盘,允许存放一只水果。爸爸可向盘中放苹果,也可向盘中放桔子,

儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定当盘空时一次只能放一只水果供吃

者取用,请用P、V原语实现爸爸、儿子、女儿3个并发进程的同步。 2、这是一个从键盘输入到打印机输出的数据处理流图,其中键盘输入进程通过缓冲区 buf1 把输入数据传送给计算进程,计算进程把处理结果通过缓冲 buf2 传送给打印进程。buf1 和 buf2 为临界资源,试写出键盘输入进程,计算进程及打印进程间的同步算法。(10分) 输入进程 → buf1 → 计算进程 → buf2 → 打印进程

答案:

一、 填空题

1. 执行过程 程序 数据 PCB 2. 动态 静态 3. 进程 数据集 PCB 4. PCB PCB

5. 运行 就绪 等待 重新调度 6. 原语

7. 同步 互斥 互斥

8. 一次只允许一个进程访问的资源 进程中访问临界资源的那段程序

代码

9. 信号量

10. 可用资源的数量 等待使用信号量所代表资源的进程的数量 11. 1~-(n-1) 12. n 13. 5

14. 用户 系统 用户

15. 减少程序并发执行时的时空开销,使OS具有更好的并发性 16. 自身不可修改 17. 系统调用

18. 就绪态 就绪 阻塞(等待) 19. 时间片 优先级 20. 先来先服务FCFS 21. 可剥夺式最高优先数 22. 可剥夺式 不可剥夺式 23. CPU

24. 静态 动态 静态 动态 25. 先来先服务 26. 正确

27. 资源分配 CPU调度 进程 同一进程中的线程 28.封闭和可再现性

29.动态性,创建、调度,撤销

二、综合题

1、设信号量m1表示父亲能否放水果,m2表示儿子能否取桔子,m3表示女儿能否取苹果。

int m1=1,m2=0,m3=0; cobegin

p1() // p2() // p3()

coend p1() {

while(1) {

洗水果; P(m1) ; 放水果;

if (是桔子) V(m2) ; else V(m3); } } p2() {

while(1) {

P(m2) ; 取桔子; V(m1);

吃桔子; } } p3() {

while(1) {

P(m3) ; 取苹果; V(m1);

吃苹果; } }

2、解答:从键盘输入到打印机输出的数据传送过程,可以看作是由键盘输入进程到计算进程,以及由计算进程到打印输出进程这两个数据传送进程所组成。其中,对键盘输入进程而言,计算进程是消费者进程;而对打印输出进程而言,计算进程又是生产者进程。据此可将它们之间的同步问题描述如下:

var:mutex1,mutex2,empty1,empty2,full1,full2:=1,1,1,1,0,0; IP:begin repeat

P(empty1); P(mutex1);

input a charcter from keyboard; Add to buffer;

V(mutex1); V(full1); until false end CP:begin repeat P(full); P(mutex1);

Take a charactor form buffer1; Add to ch1; V(mutex1); V(empty1); P(empty2); P(mutex2);

Take a charactor form ch1; Add to buffer2; V(mutex2); V(full2); until false end

OP:begin

repeat p(full2); P(mutex2);

Take a charactor from buffer2; Add to printer controler; start printer; V(mutex2); V(empty2); until false end

本文来源:https://www.bwwdw.com/article/afm6.html

Top