第二章进程和线程作业答案
1, 2, 4, 6, 7, 10, 11, 12, 14, 21
在操作系统中为什么要引入进程概念?它与程序的差别
和关系是怎样的?
答:由于多道程序的并发执行时共享系统资源,共同决定这 些资源的状态,因(1)这个算法不对。进程A, B共用一个缓冲区,同步
2-28所示。
进程A
进程A
进程B
进程B
图2-27进程A、B的算法框图
临界区代码CSa
V( S1)
P(S2)
P( S1)
临界区代码CSb
V( S2)
信号量S1,S2的初值为0
图2-28两个并发进程临界区的算法框图
关系。如果 A先运行,且信息数量足够多,则缓冲区 Q中 的信息会被后来的冲掉,造成信息丢失,进程 B不能从Q
中读出完整的信息。
改正:
进程A,B同步使用一个缓冲区, 设立两个信号量:
empty :缓冲区Q为空,初值为1 ;
full :缓冲区Q为满,初值为0;
算法框图如下图所示
进程A
进程B
进程A
P( empty) 向Q写入信息
V( full :
进程B
P( full :
从Q读出信息
V ( empty)
P( mutex)
临界区代码CSa
V ( mutex)
P( mutex)
临界区代码CSb
V( mutex)
图2-28的算法框图
改正后
图2-27的算法框图 改正后
(2)这个算法不对。进程A,B并发的,它们共享一个临界 资源,二者应互斥地使用该临界资源,在进入临界区时不存 在A先B后的时序关系,而是哪个进程先到一步就先进入
自己的临界区 改正:A,B两个进程应互斥地进入临界区。为此,设立一个
互斥信号量mutex,初值为1,算法框图如上所示。
,有两条 I/O通道,分别接一台卡片输 入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区
B1中,加工处理后再搬到缓冲区 B2中,并在打印机上打印
结果,问:
系统要设几个进程来完成这个任务?各自的工作是什么
这些进程间有什么样的相互制约关系?
用P, V操作写出这些进程的同步算法。
答:这是一个典型的生产者,消费者问题
1) 系统可设三个进程完成任务,第一个进程 R,从卡片输入
机中读入数据,并且把数据放入缓冲区 B1中,第二个进程C 从B1缓冲区中取数据,加工处理后放入缓冲区 B2中。第三
个进程P将缓冲区B2的容取出,在打印机上打印出来
2) 这三个进程之间是同步关系
R进程受C进程影响,B1放满信息后R进程要等待,等到 C 进程将其中的信息全部取走,才能继续读入信息; C进程受
R进程和P进程的约束,B1息放满后C进程才可从中取出它 们,且B2被取空后C进程才可将加工结果送入其中; P进程
受C进程的约束,B2息放满后P进程才可从中取出它们, 进
行打印。
3) 三个进程之间必须协调工作,需设置四个信号量:
Biempty:缓冲区 B1空,初值为1 ;
Bifull :缓冲区B1满,初值为0;
B2empty:缓冲区 B2空,初值为1 ;
B2full :缓冲区B2满,初值为0;
进程R
while (TRUE {
P(B1empty);
从卡片机中读入数据
进程C
while ( TRUE {
P( Bifull );
将B1中的数据取出计算
进程P
while ( TRUE {
P( B2full );
将缓冲区B2容
写入缓冲区B1;
V( B1full );
}
在打印机中输出;
V(B2empty);
}
V( B1empty);
P( B2empty);
计算结果送入B2中;
V(B2full);
}
14•假定一个阅览室最多可容纳 100个人,读者进入和离开
阅览室时都必须在阅览室门口的一登记表上做标识 (进入时
登记,离开时去掉登记项),而且每次只允许一人登记或去 掉登记。问:
①应编写几个程序完成此项工作 ?程序的主要动作是什 么,应设置几个进程?进程与程序间的对应关系如何?
②用P,V操作写出这些进程的同步通信关系。
①完成此项工作可编写一个或两个程序(函数),每个读者 对应一个进程。每个读者的动作包括:
进入阅览室前查表登记,这时要考虑阅览室里是否有座
位;
进入阅览室,阅读
写入缓冲区B1;
V( B1full );
}
在打印机中输出;
V(B2empty);
}
V( B1empty);
P( B2empty);
计算结果送入B2中;
V(B2full);
}
14•假定一个阅览室最多可容纳 100个人,读者进入和离开
阅览室时都必
今天的文章 操作系统课后题答案第二版(操作系统课后作业答案第二章)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/4811.html