编辑模拟多进程共享临界资源

上传人:pu****.1 文档编号:487286425 上传时间:2023-11-10 格式:DOCX 页数:35 大小:137.98KB
返回 下载 相关 举报
编辑模拟多进程共享临界资源_第1页
第1页 / 共35页
编辑模拟多进程共享临界资源_第2页
第2页 / 共35页
编辑模拟多进程共享临界资源_第3页
第3页 / 共35页
编辑模拟多进程共享临界资源_第4页
第4页 / 共35页
编辑模拟多进程共享临界资源_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《编辑模拟多进程共享临界资源》由会员分享,可在线阅读,更多相关《编辑模拟多进程共享临界资源(35页珍藏版)》请在金锄头文库上搜索。

1、过由H火将课程设计课程设计名称:操作系统原理专业班级:软件1301学生姓名 :理金龙学 号:0126指导教师:刘於勋课程设计时间:2015年7月6-11日软件工程专业课程设计任务书学生姓名理金龙专业班级软件1301学号0126题目编程模拟多进程共享临界资源课题性质其它课题来源自拟课题指导教师刘於勋同组姓名主要内容要求产生3个进程:1、两个进程模拟需要进入临界区的用户进程,当需要进入 临界区时,显示:“进程x请求进入临界区”,同时 向管理进程提出申请;申请返回,表示进入了临界区。在临界区中等待一段随机时间,并显示:“进程 x正 在临界区”;当时间结束,显示:“进程 x退出临 界区”,同时向管理进

2、程提出退出申请;当申请返 回,显示:“进程x已退出临界区。”2、一个进程作为原语的管理进程,接受其他进程的临界区 进入请求:如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;3、对临界区的访问应遵循空闲让进、 忙则等待、有限等待、 让权等待的准则。4、进程间通信可以采用信号、消息传递、管道或网络通信 方式。任务要求理解多进程共享临界资源的原理,并编程实现任满杰等操作系统原理实用教程电子工业出版社2006汤子瀛 计算机操作系统(修订版)西安电子科技大学出 参考文版社2001献 张尧学史美林计算机操作系统教程实验指导清华大学出版社2000罗宇等操作系统课程设计机

3、械工业出版社 2005指导教师签字:审查意见教研室主任签字:2015年7月6 日说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页信息科学与工程学院课程设计成绩评价表课程名称:操作系统原理设计题目:编程模拟多进程共享临界资源专业:软件工程班级:软件1301 姓名:理金龙学号:0126序号评审项目分数满分标准说明1内 容思路清晰,语言表达准确,概念清楚,论点正 确;设计方法科学,分析归纳合理;结论严谨, 设计有应用价值。任务饱满,工作量适中2创 新内容新颖,设计能反映新技术,对前人工作有 改进或突破,或后独特见解3完整性、实用性整体构思后合理,理论依据充分,设计完

4、整, 实用性强4数据准确、可靠数据准确,算法设计合理5规范性设计格式、绘图、实验数据、标准的运用等符合有关标准和规定6纪律性遵守课程设计纪律,听从指导教师安排,设计 过程态度认真7答辩准备充分,思路清晰、论点正确、对设计方案理解深入,问题回答有理有据,简明正确总分综合意见指导教师2015年 7月12日1 需求分析1 、要求产生至少3 个进程:2、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区”,同时向管理进程提出申请; 在临界区中等待一段随机时间,并显示:“进程x正在临界区” ;当 时间结束,显示:“进程x退出临界区” ,同时向管理进程提出退出 申请。3

5、、一个进程作为原语级管理进程,接受其他进程的临界区进入请求: 如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;4、对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。5、进程间通信可以采用信号、消息传递、管道或网络通信方式。2 概要设计其中包含两个重要的数据结构:临界区:IntStruct crformsem;用户进些天如在消息队列中写入自己的进桎信息检出申请进入府星区r*i 号请衿 节中已 篇息信砰忏清和讨e且, $列 程一号片运行一段叶旧申请汜出速界N在尼恩队列中耳人自己的进程信息|发送遢出信运输出用尸进程退出输出日请送出版界区管理进程子

6、函数1 (申请进入临界区)子函数2(申请退出临界区)发送允许退出消息返回*提示信息*在程序运行过程中:输入0继续运行程序输入1暂停运行程序输入2退出程序区 区区 区区区 区区 区区 界 界列界 存界界 界列界 存界 临区区临队临区区内临区临区区临队临区区内临区 入界界入待出界界享出界入界界人待出界界享出界 进临临进等退临临共退临进临临进等退临临共退监 请入人请入请出入入请出请入入请入请出入入清国 申进进申进申退进进申退申进进申进申退进进申退 2221122111122211221111 程程程程程程程程程程程程程程程程程程程程程理 进迸进进进进迸进进进进进进进进进进进迸进迸进进程2:退巴临界区

7、 进程】:进入崎界区 进程力 进入共享内存区 进程力申请退出临界区 进程1;退出临界区 进程人 申请进入临界区 进程2:进入临界区 进程2:进入临界区 进程N:申谙退出临界区 进程2:退出临界区区 区 区区区区 区区 区 界 界 界界存列界 界界 界 临区区临区 临临区内队临区区区临区临区区临区 AI界界制界 人人界享特出界界界|界AI界界出界 进够啮退啮 送迸临其等退端崎曲退G进临施退盾 谓人人谓比 清清入人人谓出入人请出请入入清a 申进迸申退 申申迸进进申退进进申退申进进申退 + - * * ffi .* H * * * s *- X -* * 中* B * *品 IKH . 2 2 2

8、2 2 121121122 2272222 S星星泾生呈屋屋呈屋岸屋1母E星 rr r,J卜 rir Fr fJ卜 匚r -1F .1 rtr rr Err n ;J:Jz s I m j IJ J HJn - J J - - J - lJ3Jn IF4r t - 进送进进进1臼进is迸进进进进进进进讲进进w迸迸出 退 区 区区区区 的 界 界界存界 r 临区区境区雁区内临区 AI界界却界AI界享卸界 3 恰情退临进临共退情* 人人请出谙入入谙出 “ 申进进申退申进进申退 门 * : :;:,: 片 2222 2 11- Itl * 程程程程程科程程程程 r 进迸进进进迨进进迸进1工门工1=g

9、etpid();while(flags=1|flags=0)if(flags=0)intint q=10;=3;=1;printf(进程 1: 申请进入临界区n);msgsnd(msgqid,&msg,sizeof(int),0);kill(ppid,10);while(q0)msgrcv(msgqid,&msg,sizeof(int),3,0);int m=;if(m=1)n);printf(进 程 1: 进 入 共 享 内 存 区ny=addr-num;intdg=rannum();int uh=0;for(uh=0;uhflags;break;elseint bb=rannum()%5;

10、sleep(bb);flags=addr-flags;else struct msgform msg;key_t hh=ftok(,1);int msgqid=msgget(hh,0666|IPC_CREAT);struct ShMe * addr;addr=(struct ShMe*)shmat(shmid,0,0);if(addr=(struct ShMe*)-1)printf(映射内存错误1n);int flags=0;flags=addr-flags;(*addr).p2=getpid();while(flags=1|flags=0)if(flags=0)int q=10;=4;=1;printf(进程 2: 申请进入临界区n);msgsnd(msgqid,&msg,sizeof(int),0);kill(ppid,10);while(q0)msgrcv(msgqid,&msg,sizeof(int),4,0);int m=;if(m=1)printf(进程 2: 进入临界区n);int ny=addr-num;int dg=rannum();int uh=0;for(uh=0;uhflags;break;elseint bb=rannum()%5;sleep(bb);flags=addr-flags;else key_t hh=ft

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号