一道关于p、v操作的操作系统经典题目的正确算法

一道关于p、v操作的操作系统经典题目的正确算法

ID:34555554

大小:289.68 KB

页数:4页

时间:2019-03-07

一道关于p、v操作的操作系统经典题目的正确算法_第1页
一道关于p、v操作的操作系统经典题目的正确算法_第2页
一道关于p、v操作的操作系统经典题目的正确算法_第3页
一道关于p、v操作的操作系统经典题目的正确算法_第4页
资源描述:

《一道关于p、v操作的操作系统经典题目的正确算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、万方数据一道关于P、V操作的操作系统经典题目的正确算法◆徐健张雷朱向彩【捅El本文氽绍了操锋系统中P,V撩锋的有关凝念,分辑了瘟JI{lPV操锋的一遭经典题璃并给出了燕确的解法。【关键词】操作系统P、V操作算法l操作系统巾的P、V操作简介凌我攥终系绞基本上部是多送程豹攥馋系统,系鲮串蠢多令遂莛势发执行,这些并发执行的进程之阐存在着不同的相互制约荚累,为了谤谰进程之间的这种相藏制约关系,需要实现进程的同步与互斥。在操作系统中存在着各种资源供进程使用,如果某个资源一次只能供一令送程爱惩,羯猕其荛瘘赛瀣漾。谤篝穰审许多物

2、瑾浚萋翔努窜投、织描仪等都属于临界资源,除物壤设备外,许多变量、数据等都可以被若平进程热享。但不允许多个进程同时进行修改操作,它们也可视为临界资源。在每个进程中,访问临界资源的那段程序祢为临界区,在操作系统中,当一令送程送入骥器区菠蔫壤器资源露,男一令迸程必矮等待。墨占爱滚界资源的进程邋出临界区后,荔一进程才允许去访问此临界资源,这种进程间的相互制约关系称为互斥。一般说来,在操作系统中,一个进程相对于另一进程的运行速度楚不骥霆豹,篷是援薹念佟懿死令滋翟需要在慕魏确定点上貉灞它朝筠王俸。所谓进程同步是攒多个相互台体的

3、进程。在一些关键点上可能需要相曩等待或相互交换信息。这种相互制约关系称为进程同步。在操作系统中艇决进程同步和互斥问题的一种重要方法是信号擞枧弱髑P、V爨{睾。臻号量是一令辘定戆二元缀{S,Q》,英孛S是一令吴套藩负期值的整形变薰,Q是一个韧始状态为空的队列。整形变曩s表示系统中巢类资源的数目。当其值大予0时。表示系统中当前可用资源的数目;强其馕小于0时,其绝对值表示系统中因其请求该类资源而被阻塞的进程数萋。羧售号量懿耪德癸,售号薰豹篷援髭垂p擐俸窝V攮终改变。P、V操作在1965年由荷兰计算机大师Dijkstra引

4、入,他用荷兰语中的单词passeren(通过)、vrijgeven(释放)的首字姆来为这两种操作命名。P、V操作由P操作原语和V操作原语组成(原语是不W中断的过程},霹傣号蠢送行撩{叁,其薅定义魏下:P{s》:①将信号量s的值藏l,即S=S—l;⑦如果$30,则该进程继续执行;否则该避}程置为等待状态。排入等待队列。Vfs}:②将德号曩s弱篷翱l。帮S=S+l:②如果s>O,则该进程继续执行;否则释放队列中第一个等待信鸯曩的进程。利用信号董襁P、V操作可以有效的解决进程的同步襁妪斥问题。2一遂考察≯¥撩薅戆经獒搔痒

5、系统试遴P、V揉作是操作系统课程中的重点内容。其考察形式并不仅限于计算机中进程的互斥和同步,而更多的将现实中的某些事务纳入,要求使用P、V操作来处理这魃事务。许多操作系统教材中都有诸如餐学家进餐闻题、理发l露淘蘧、生产密一瀵菱考藕邀等经葵剿爨,靛是这褥繁凌豹舔瑗。本文所要讲述的这邋题目也是这种类型的。天津大学痊搿大学篱1小路示意圈在南开大学和天津大学之间有一条弯曲的小路。其中从S到T~段路每坎只允许一辆自行车通过,但其中有一个小的安全岛M(同时允许两辆自缀霉痒鏊}。丐供薄囊自每车瓣默嚣蕊送人小路壤凌下镶车凌雳。妇黧

6、111609/2008所示。试设计一个算法使来往的囱行车均可顺利通过。泼鬏霉是毒齐大攀1997年磷究生入学考试熬攥臻系绫糖嚣豹一逢试题.在缎多操作系统的参考书和习题集中都有收激,其解法一般如下:分析及相关知识:在本题中,需嚣控制路段T到L,路段S别K及安全岛M的使用。路段T到L及路段s到K同时只允许一辆自行车通过。而安全鑫轰

7、允诲嚣辆彝抒辜篌爱,因貌霉泼写三今信号重来鏊瑗宅稻、另一方面,黼一方向上的囱行车最多只能有一辆通过这段路{两个方向上有硝辆)。因此还应该用两个信号量来控制。禳:在本题中,成设置5令信号黛sr,

8、TsK,L,M。信号量sT表示是誉竞谗鸯巍挛簸毒秀大学去天津大擎,蓑初篷惫

9、;信号量稿袭示是歪竞译自行车从天津大学去南开大学,其初值为1;信号擐砭表示是誉允许自行车通过路段S到K.其初值为1;信号黛L表示是番允许自行车通过路段T到L,其初德为1;信号量M表示安全端上还可停放囱行车的数鼹;其初值必2。羹较裁莲程{蓥遗魏下:semaphoreST=1:semaphoreTS=1;semaphoreK=1;semaphoreL=1;selnaphoreM=2;totianjin()/·从南开大学去天津大学·/lP{ST;

10、;P{K》;从S走到K:P《M};蘧}入安全鑫;v(K};P(L);从L走到T;vf鲢;;v《L);v(STJ;}tonankai{;/4簸嚣津大学去裔开大学$/{P(TS);PfL);簸零走裂L:P{M);进入安全岛;veL};P《K》;从K走到S;v(M);v《K};v《'IS;;}以上是一般参考粥中给出的解法。后来笔者又在网上找到了安徽理工大学撵作系统

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

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

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