- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
v1.0可编辑可修改
v1.0可编辑可修改
PAGE
PAGE8
v1.0可编辑可修改
PAGE
山东大学软件学院操作系统实验报告
实验题目:进程互斥实验
实验目的:
进一步研究和实践操作系统中关于并发进程同步与互斥操作的一些经典问题的解法,加深对于非对称性互斥问题有关概念的理解。观察和体验非对称性互斥问题的并发控制方法。进一步了解Linux系统中IPC进程同步工具的用法,训练解决对该类问题的实际编程、调试和分析问题的能力。
实验要求:
理发店问题:假设理发店的理发室中有3个理发椅子和3个理发师,有一个可容纳4个顾客坐等理发的沙发。此外还有一间等候室,可容纳13位顾客等候进入理发室。顾客如果发现理发店中顾客已满(超过20人),就不进入理发店。
在理发店内,理发师一旦有空就为坐在沙发上等待时间最长的顾客理发,同时空出的沙发让在等候室中等待时间最长的的顾客就坐。顾客理完发后,可向任何一位理发师付款。但理发店只有一本现金登记册,在任一时刻只能记录一个顾客的付款。理发师在没有顾客的时候就坐在理发椅子上睡眠。理发师的时间就用在理发、收款、睡眠上。
请利用linux系统提供的IPC进程通信机制实验并实现理发店问题的一个解法。
总结和分析示例实验和独立实验中观察到的调试和运行信息,说明您对与解决非对称性互斥操作的算法有哪些新的理解和认识为什么会出现进程饥饿现象本实验的饥饿现象是怎样表现的怎样解决并发进程间发生的饥饿现象您对于并发进程间使用消息传递解决进程通信问题有哪些新的理解和认识根据实验程序、调试过程和结果分析写出实验报告。
硬件环境:
CPU:P4/内存:256MB硬盘:10GB
软件环境:
-Linux操作系统
Gnome桌面
gccversion
vi
gedit
OpenOffice
实验步骤:
问题分析
假设理发店的理发室中有3个理发椅子和3个理发师,有一个可容纳4个顾客坐等理发的沙发。此外还有一间等候室,可容纳13位顾客等候进入理发室。顾客如果发现理发店中顾客已满(超过20人),就不进入理发店。
在理发店内,理发师一旦有空就为坐在沙发上等待时间最长的顾客理发,同时空出的沙发让在等候室中等待时间最长的的顾客就坐。顾客理完发后,可向任何一位理发师付款。但理发店只有一本现金登记册,在任一时刻只能记录一个顾客的付款。理发师在没有顾客的时候就坐在理发椅子上睡眠。理发师的时间就用在理发、收款、睡眠上。
算法设计说明
该解法利用消息队列的每条消息代表每个顾客,将进入等候室的顾客组织到一个队列,将坐入沙发的顾客组织到另一个队列。理发师从沙发队列请出顾客,空出的沙发位置再从等候室请入顾客进入沙发队列。三个理发师进程使用相同的程序段上下文,所有顾客使用同一个程序段上下文。这样可避免产生太多进程,以便节省系统资源。
intsem_p(intsemid,intindex,intipc_nowait){程间的互斥2.理发师类似读者进程,顾客类似写者进程。最后,通过不断的调试,使我熟练了在Linux环境下编程的技巧,对进程的创建与控制更加熟悉。
附录A:本实验全部程序源代码及注释
#ifndefCZW_IPC_H_INCLUDED
#defineCZW_IPC_H_INCLUDED
#include
#includesys/
#includesys/
intsem_create(constchar*pathname,intproj_id,intnsems,intinit_value){
key_tkeyid;
intsemid,i;
if((keyid=ftok(pathname,proj_id))==-1){
perror(ftokerror!);
return-1;
}
if((semid=semget(keyid,nsems,IPC_CREAT|0666))0){
perror(semgeterror!);
return-1;
}
for(i=0;insems;i++){
semctl(semid,i,SETVAL,init_value);
}
returnsemid;
}
intsem_delete(constchar*pathname,intproj_id){
key_tkeyid;
intsemid,i;
if((keyid=ftok(pathname,proj_id))==-
您可能关注的文档
- 逻辑3.运用辩证思维方法答案公开课教案教学设计课件资料.docx
- 高中化学奥赛辅导有机化学(第一部分之一)公开课教案教学设计课件资料.ppt
- 高一电子电工第一学期期末考试试卷公开课教案教学设计课件资料.docx
- 2021年高二下期末模拟考试答案公开课教案教学设计课件资料.docx
- 高一化学期中复习卷3公开课教案教学设计课件资料.docx
- 2.7++++元素符号表示的量—2020-2021学年浙教版八年级科学下册课件+公开课教案教学设计课.ppt
- 第3讲:化学反应原理之计算公开课教案教学设计课件资料.pptx
- 最值函数与绝对值函数——max、min、多元最值公开课教案教学设计课件资料.pptx
- 0302-工作过程公开课教案教学设计课件资料.pptx
- 谓语、非谓语公开课教案教学设计课件资料.docx
- 2023学年诸暨中学高三年级第二学期3月第二次模拟考试(政治)公开课教案教学设计课件资料.docx
- 运动的合成与分解(二)公开课教案教学设计课件资料.pptx
- 近五年浙江省各地图形的翻折(轴对称)原题公开课教案教学设计课件资料.doc
- 如何做教师-2019-11-13-中关村一小相关公开课教案教学设计课件资料.pptx
- 生活中的圆周运动 (水平面)正式版公开课教案教学设计课件资料.pptx
- 专题10 条件概率与全概率公式公开课教案教学设计课件资料.docx
- 金华市东阳市2019学年第二学期期末测试卷公开课教案教学设计课件资料.doc
- 5 琥珀(第二课时)【慕课堂版】公开课教案教学设计课件资料.pptx
- 项目五 打印米老鼠模型公开课教案教学设计课件资料.ppt
- (打印版)9月25日地理周练公开课教案教学设计课件资料.docx
最近下载
- 校级家委会会议方案、流程和发言稿7篇汇编.doc
- 《工程材料及成形工艺基础》习题集与答案(材料部分).doc
- 婚前孕前保健服务技能考核试题及答案.docx VIP
- 《多彩的黄土高原(论文)3500字》.docx
- 家乡特产 (教学设计)-2023-2024学年五年级上册综合实践活动粤教版.docx
- 驾驶员安全礼仪培训.pptx
- 高素质农民人才培养方案+—+会计专业(农村会计方向)(高职).docx VIP
- 儿童精神药物应用(共40张PPT)【40页】.pptx
- TCAME 59-2023 医院消毒供应中心建设与运行管理标准.pdf
- SZSD03 0005—2024住房公积金基础数据安全分类分级指南.pdf
文档评论(0)