- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程同步问题分析生产者和消费者问题
PAGE \* MERGEFORMAT9
操作系统进程同步与互斥问题讨论报告
Operating system process synchronization and mutual exclusion problem discussion report
学 院: 信息科学与工程学院
班 级: 12级信息安全(1)班
姓 名: 颜世宏120104070019
刘文军120104070020
张兆乾120104070023
冯星伟120104070017
郝爱斌120104070013
指导老师: 何 海 涛
教 务 处
2014年10月
讨论课名称:
计算机操作系统中进程同步与互斥问题分析
讨论课目的:
1.熟悉临界资源、信号量及PV操作的定义与物理意义;
2.掌握进程互斥与进程同步的相关知识;
3.掌握用信号量机制解决进程之间的同步与互斥问题;
4.实现生产者-消费者问题,深刻理解进程同步问题。
三、讨论课内容:
1.进程同步的基本概念
在多道程序环境下,系统中可能存在许多的进程,在这些进程之间必定存在一些制约关系,这种制约关系??现为以下两种形式:
①资源共享关系。进程之间不知道其他进程的存在,而这些进程又处在同一个系统中,对系统资源必须共享使用,而有些资源不允许进程同时访问,例如打印机。系统只能保证进程间互斥地使用这种临界资源,称这种资源共享关系叫做互斥;
②相互合作关系。在某些进程间还存在一种相互合作的关系。例如在某个系统中存在两个进程,输入进程A和计算进程B,A负责向B提供数据,当缓冲区空时,B进程因不能获得所需数据而等待。当A把数据送入缓冲区后,并向B发送一个信号将B唤醒,B才能取走数据。同样,当B没有提取数据,也就是说缓冲区满时,进程A也无法向其中投入数据而等待。这就是一种相互合作关系,称之为进程间的同步关系。
2.信号量机制实现进程同步
本文分析的生产者-消费者问题就是一种相互合作问题的代表,对进程同步问题的解决,早在1965年,荷兰科学家Dijkstra就提出信号量机制是一种卓有成效的进程同步工具。
在信号量机制中,信号量仅能通过两个标准的原子操作wait(s)和singnal(s)来访问。这两个操作被称为P,V操作。
在信号量机制中,除了需要一个用于代表资源数目的整型变量value外,还应增加一个进程链表L,用于链接上述的所有等待进程。记录型信号量是由于它采用了记录型的数据结构而得名的。它所包含的上述两个数据项可描述为:
type semaphore=record
value:integer;
L:list of process;
End
相应地,wait(s)和singal(s)操作可描述为:
Procedure wait(s)
var s:semaphore;
Begin
S.value:=S.value-1;
If S.value0 then block(S,L)
End
Procedure signal(s)
var S:semaphore;
BeginS.value:=S.value+1;
If S.value=0 then wakeup(S,L);
End
每次的wait操作,意味着进程请求一个单位的资源,因此描述为S.value:=S.value-1;当S.value0时,表示资源已分配完毕,因而进程调用block原语,进行自我阻塞,放弃处理机,并插入到信号量链表S.L中。S.value的绝对值表示在该信号量链表中已阻塞进程的数目。每次signal操作,表示执行进程释放一个单位资源,故S.value:=S.value+1操作表示资源数目加1。若加1后仍是S.value≤0,则表示在该信号量链表中,仍有等待该资源的进程被阻塞,故还应调用wakeup原语,将S.Ll链表中的第一个等待进程唤醒。
3.利用信号量解决生产者—消费者问题
3.1一个buffer,一个生产者,一个消费者
(1)规则
只有buffer为空才能生产者才能进行put操作,只有buffer有数据消费者才能进行get操作。利用信号量机制实现消费者和生产者的协同工作,其中信号量s1代表的缓冲区这种资源,初值为1,代表有1个buffer。s2代表buffer是否有数据,初值为0,所以也称这种信号量叫做资源信号量。
(2)实现流程
生产者
p(s1)判断buffer是否为空
put放入数据
v(s2)设置buffer有数据的标志,给消费者发一个有数据的信号
消费者
p(s2)判断buffer是否有数据
get取走数据
v(s1)设置buffer为空标志
3.2一个buffer,多个生产者,多个消费者
(1)规则
只有buffer为空才能put;只有buffer中有
您可能关注的文档
- 输油泵机组操作理论中级.doc
- 输油管道设计规范.docx
- 输油工高级工理论简答题新2.doc
- 输电线路论文超高压输电线路光纤分相电流差动保护的研究.doc
- 输送带的PLC控制系统设计与调试.doc
- 辛亥革命时期蕈太炎对王船山的评述.doc
- 输电线路接地施工方案.doc
- 辛巴蓝F3GA修饰的啤酒废酵母菌亲和吸附溶菌酶.doc
- 输煤设备改造电气交底.doc
- 辛国华小论文改.doc
- 北京市八一学校2023-2024学年高一上学期10月月考数学 Word版含解析.docx
- 浙江省金华市义乌中学2024-2025学年高三上学期9月月考地理Word版无答案.docx
- 浙江省嘉兴市2023-2024学年高一上学期1月期末化学 Word版无答案.docx
- 浙江省湖州中学2023—2024学年高二年级下学期第二次阶段性测试语文 Word版无答案.docx
- 浙江省嘉兴市高级中学2022—2023学年高二下学期第二次教学调研语文Word版无答案.docx
- 浙江省杭州市闻涛中学2023-2024学年初升高暑假英语学情调研测Word版无答案.docx
- 浙江省名校协作体2024—2025学年高二上学期开学考试语文Word版无答案.docx
- 北京市育才学校2023-2024学年高一上学期10月月考物理 Word版含解析.docx
- 浙江省七彩阳光新高考研究联盟2023-2024学年高三下学期返校考化学Word版无答案.docx
- 北京市第一○一中学2024届高三10月月考历史 Word版无答案.docx
最近下载
- 《新疆工程勘察设计计费导则(2022版)》.docx VIP
- 小学道德与法治_团团圆圆过中秋教学设计学情分析教材分析课后反思.doc
- 大概念单元教学视野下的实践探索:辽宋夏金元——从“小中国”到“大中国”的演变之课时2+制度创新——因俗而治与统治效力的磨合说课高中历史统编版(2019)必修中外历史纲要上册.pptx VIP
- 邮政储蓄银行城市零售信贷示范行建设活动实施总结.doc VIP
- 宪法卫士2024第九届学宪法讲宪法活动高一学习练习答案 .pdf
- 厂房机电安装工程施工组织设计方案.doc
- 5.智能钻完井技术研究进展与前景展望v2.pptx
- 2024年三年级劳动与技术全册教案.doc
- 小学科学新教科版一年级上册全册教案2(2024秋).doc
- 最优化方法教案课程.doc
文档评论(0)