《操作系统原理复习》ppt课件

《操作系统原理复习》ppt课件

ID:40055249

大小:187.00 KB

页数:33页

时间:2019-07-18

《操作系统原理复习》ppt课件_第1页
《操作系统原理复习》ppt课件_第2页
《操作系统原理复习》ppt课件_第3页
《操作系统原理复习》ppt课件_第4页
《操作系统原理复习》ppt课件_第5页
资源描述:

《《操作系统原理复习》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统原理复习例:设有4个进程,其执行的先后流图如下图所示。用P、V操作实现其同步。p1(){执行P1自己的程序;V(s12);V(s13);}p2(){P(s12);执行P2自己的程序;V(s24);}p3(){P(s13);执行P3自己的程序;V(s34);}p4(){P(s24)P(s34)执行P4自己的程序;}semaphores12=0,s13=0,s24=0s,s34=0main(){Cobeginp1();p2();p3();p4();Coend}设公共汽车上,司机和售票员的活动分别是司机活

2、动:启动车辆;正常运行;到站停车。售票员活动:关门;售票;开门。用信号量和P、V操作实现它们的关系。启动车辆;正常运行;到站停车;关门;售票;开门;答:设置两个信号量:S1、S2,S1表示门是否关上,其初值为0。S2表示车是否停下,其初值为1。Driver(){While(true){p(S1);启动车辆;正常行车;到站停车;v(S2);}}Busman(){While(true){关车门;V(S1);售票;P(S2);开车门;上下乘客;}}semaphores1=0;semaphores2=1;main(

3、){CobeginDriver();Busman();Coend}举例:用P、V操作实现下述问题。桌子上有一个盘子,可以存放一个水果,父亲总是放苹果到盘子中,而母亲总是放香蕉到盘子中;一个儿子专等吃盘中的香蕉,而一个女儿专等吃盘中的苹果。设dish=1表示盘子是否为空;apple=0表示盘中是否有苹果;banana=0表示盘中是否有香蕉。semaphoredish=1;semaphoreapple=0;semaphorebanana=0;Main(){cobeginfather();mather();son

4、();daughter();coend}Father(){while(ture){p(dish);将苹果放入盘中;v(apple);}}Mother(){while(ture){p(dish);将香蕉放入盘中;v(banana);}}son(){while(ture){p(banana);从盘中取出香蕉;v(dish);吃香蕉;}}daughter(){while(ture){p(apple);从盘中取出苹果;v(dish);吃苹果;}}某寺庙,有小、老和尚若干,有一水缸,有小和尚提水入缸供老和尚饮用。水缸

5、可容10桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为3个。每次入、取缸水仅为1桶,且不可同时进行。试给出取水、入水的算法描述设置5个信号量:互斥信号量mutex1,用于实现对水井的互斥使用,其初值为1;互斥信号量mutex2,用于实现对水缸的互斥使用,其初值为1;信号量empty,用于记录水缸中还可以装入水的桶数,其初值为10;信号量full,用于记录水缸中已装入水的桶数,其初值为0;信号量count,用于记录可用水桶数目,其初值为3。Semaphoremutex1=1,mutex2=1

6、,empty=10,full=0,count=3;Main(){cobeginGet();Use();Coend}Get(){while(ture){p(empty);P(count);P(mutex1);从井中取水;V(mutex1);P(mutex2);将水倒入水缸;V(mutex2);V(count);V(full);}}Use(){while(ture){P(full);P(count);P(mutex2);从缸中取水;V(mutex2);V(count);V(empty);}}用PV原语描述生产者

7、消费者问题。把系统中使用某一类资源的进程称为该资源的消费者,而把释放同类资源的进程称为该资源的生产者。生产者消费者满足如下条件:消费者想接收数据时,有界缓冲区中至少有一个单元是满的;生产者想发送数据时,有界缓冲区中至少有一个单元是空的;由于有界缓冲区是临界资源,因此各生产者和各消费者进程之间必须互斥执行。设公用信号量mutex保证生产者消费者进程之间的互斥,其初值为1,设信号量avail为生产者进程的私有信号量,表示有界缓冲区中空单元的数目,其初值为n,full为消费者进程的私有信号量,表示有界缓冲区中非空

8、单元的数目,其初值为0Semaphoremutex=1,avail=n,full=0;remove(){P(full)P(mutex)取缓冲区中某单元数据V(avail)V(mutex)}deposit(){P(avail)P(mutex)送数据入缓冲区某单元V(full)V(mutex)}Main(){cobegindeposit();remove();Coend}有五个哲学家围坐在一圆桌旁,桌中央有一盘通心粉

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。