操作系统课件 华东理工大学 计算机科学与技术 专业必修
操作系统作业(2011-3-14):课本:P83 27(不会出现死锁的哲学家进餐问题)、28 28、
var empty,full:semaphore:=1,0; begin
parbegin
producer: consumer: begin repeat begin repeat produce an item p; wait(full); wait(empty); c:=buffer; buffer:=p; signal(empty); signal(full); consume c; until false; until false; end end parend.
操作系统作业(2011-3-16): 1、 有一个报箱为A、B两人共同使用,每次只能装一份报纸。A订阅《科技报》,B订阅《新
民晚报》,投递员C、D分属科技报社和新民晚报社,试用P、V操作写出他们的同步执行程序。 2、 设有n个进程共享一个程序段,对于如下两种情况,请问所采用的信号量初值是否相同?
各是多少?信号量的值的变化范围如何? (1)如果每次只允许一个进程进入该程序段;
(2)如果每次最多允许m个进程(m n)同时进入该程序段。
3、 设有两个优先级相同的进程P1和P2如下。信号量S1和S2的初值均为0,试问P1、P2
并发执行后,x、y、z的值各是多少?请写出判断的过程。
进程P1: 进程P2: y=1; x=1; y=y+2; x=x+1; V(S1); P(S1); z=y+1; x=x+y;
P(S2); V(S2); y=z+y; z=x+z;
4、 进程之间存在哪几种制约关系?各是什么原因引起的?以下活动各属于哪种制约关
系?
(1)若干学生去图书馆借书; (2)两队进行篮球比赛; (3)流水线生产的各道工序;
(4)商品生产和社会消费。
5、 什么是多线程?多线程和多任务有什么区别? 参考答案:
1、var s,science,night:semaphore:=1,0,0;
begin
parbegin
A: begin while(true) C: begin while(true)