1 / 10
文档名称:

计算机操作系统(杨海秀)习题.ppt

格式:ppt   大小:600KB   页数:10页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统(杨海秀)习题.ppt

上传人:Q+1243595614 2017/7/17 文件大小:600 KB

下载得到文件列表

计算机操作系统(杨海秀)习题.ppt

相关文档

文档介绍

文档介绍:一道考研题
苹果桔子问题:桌上有一只盘子,最多可以容纳两个水果,每次只能放入/取出一只水果;爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子里的苹果。请用P,V操作来实现爸爸、妈妈儿子、女儿之间的同步和互斥。(南京大学2000年)
main()
{
tpyedef int semaphore;
semaphore empty; /* 盘子里可以放几个水果*/
semaphore orange; /* 盘子里有桔子*/
semaphore apple; /* 盘子里有苹果*/
semaphore mutex; /*不能同时对盘子操作的互斥量
empty = 2; /* 盘子里允许放一个水果*/
orange =0; /* 盘子里没有桔子*/
apple = 0; /* 盘子里没有苹果*/
mutex=1
cobegin/*可并发的进程*/
father();
mother();
son();
daugher();
coend
}
father()
{ while(手中还有苹果)
{
P(empty);
P(mutex);
向盘中放苹果…;
V(mutex);
V(apple);
}
}
mother()
{ while(手中还有桔子)
{
P(empty);
P(mutex);
向盘中放桔子…;
V(mutex);
V(orange);
}
}
soni()//i=1,2
{
while(盘中还有苹果)
{
P(apple);
P(mutex);
从盘中拿苹果…;
V(mutex);
V(empty);
}
}
daugheri() //i=1,2
{ while(盘中还有桔子)
{
P(orange);
P(mutex);
从盘中拿桔子…;
V(mutex);
V(empty);
}
}
一道考研题
J3
0
t
J2
J1
10 20 30 40 50 60 70 80 90
I02 30ms
CPU 10ms
I01 30ms
CPU 10ms
CPU 10ms
I01 20ms
CPU 10ms
I02 40ms
CPU 20ms
CPU 10ms
I01 20ms
进程运行示意图
解答
(1)由上图可以看出,J1从开始到完成的时间为0~80m