操作系统课程设计课件题目.ppt

操作系统课程设计课件题目.ppt

ID:57016420

大小:69.50 KB

页数:18页

时间:2020-07-26

操作系统课程设计课件题目.ppt_第1页
操作系统课程设计课件题目.ppt_第2页
操作系统课程设计课件题目.ppt_第3页
操作系统课程设计课件题目.ppt_第4页
操作系统课程设计课件题目.ppt_第5页
资源描述:

《操作系统课程设计课件题目.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于软件互斥算法的临界区进程互斥的模拟实现功能要求(1)互斥算法选择界面要求对Dekker、Peterson、Lamport、Eisenburg/Mcguire4个软件解决互斥的算法进行模拟实现。(2)运行结果(界面)根据选择的软件互斥算法,能动态显示2个或多个并发进程对临界区的互斥执行信息,包括处于临界区内的进程和要进入临界区的进程。具体细节实现(1)根据界面选择相应的软件互斥算法,(2)能任意创建2个或多个并发进程实现对临界区的互斥执行;(3)对于每个进入临界区进程的执行,可以用显示信息进行模拟;(4)每个进入临界区的进程在临界区内要滞

2、留一个随机产生的时间段Dekker互斥算法是由荷兰数学家T.Dekker给出的第一个正确实现互斥的软件算法,算法针对两个进程P0和P1定义的两个数据结构:intflag[2];//初值为0intturn;//初值为0或1算法:Dekker互斥算法P0:do{flag[0]=1;whileflag[1]doif(turn=1){flag[0]=0;whileturn==1doskip;flag[0]=1;}Dekker互斥算法临界区turn=1;flag[0]=0;其余代码}while(1)Dekker互斥算法P1:do{flag[1]=1;

3、whileflag[0]doif(turn=0){flag[1]=0;whileturn==0doskip;flag[1]=1;}Dekker互斥算法临界区turn=0;flag[1]=0;其余代码}while(1)Peterson算法思想:算法整队两个进程,应用与Dekke算法相似的两个数据结构intflag[2];//初值为0intturn;//初值为0或1Peterson算法P0:do{flag[0]=1;turn=1;whileflag[1]&&turn==1doskip;临界区flag[0]=0;}while(1);Peterso

4、n算法P1:do{flag[1]=1;turn=0;whileflag[0]&&turn==0doskip;临界区flag[1]=0;}while(1);Lamport面包店算法算法思想:算法的基本思想源于顾客在面包店中购买面包时的排队原理。设置一个发号者,按0,1,2,…,发号。想进入临界区(面包店)的进程先抓号,抓到号之后按由小到大的次序依次进入。Problem:两个进程可能抓到相同的号。Why?为保证抓到不同的号,需要互斥机制。Resolution:若抓到相同的号,按进程编号由小到大依次进入。Definition:(a,b)<(c,d

5、)iff(a

6、ing[i]=0;4.for(j=0;j0)&&7.(number[j],j)<(number[i],i){skip}8.}(1)P0抓到1未赋值(2)P1抓到1进入临界区(3)P2抓到2进入临界区Lamport面包店算法(Cont.)临界区;number[i]=0;}while(1);变量choosing的作用:P0:抓到1;P1:抓到1;正确次序:P0,P1,P2P2:抓到2;可能按P1,P2,P0次序进入!Eisenberg/Mcg

7、uire算法enumflag[n](idle,want_in,in_cs);初值idleintturn;//intherangeof(0,n-1);初始任意0iturnn-1先于i先于iflag[i]=idle:进程Pi不想进入临界区flag[i]=want_in:进程Pi想进入临界区flag[i]=in_cs:进程Pi想进入或已进入临界区Eisenberg/Mcguire算法Pi进入:do{do{flag[i]=want_in;j=turn;While(j!=i)if(flag[j]!=idle){j=turn};else{j=(j+1)

8、%n};flag[i]=in_cs;j=0;While((j

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

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

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