- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统的原理与应用》第2章 进程管理2
操作系统原理Principles of Operating System 主讲:孔宪君 2.4 进程的同步机构2.4.1 进程与资源 ⒈资源的概念 资源是计算机系统的基本结构元素。 资源可以分为软件资源和硬件资源,程序和数据属于软件资源;CPU、内存、外设则属于硬件资源。 在操作系统中一般把资源分为临界资源和共享资源, 所谓的临界资源是指在一段时间内仅允许一个进程使用资源。如打印机、输入机、磁带机、信号量和指针等,临界资源可以互斥共享; 所谓的共享资源是指允许多个进程同时访问的资源。如处理机、内存和硬盘等。 ⒉进程制约关系 ①间接相互制约。这种制约主要源于资源共享,这是不相关的进程,由于共享同一资源而引起的,即共享某类资源的进程之间由操作系统协调与控制使用该资源的次序而产生相互制约。这种制约是进程—资源—进程之间存在的约束,故称为间接制约。例如,有两个进程A和B,如果在进程A提出打印请求时,系统已将打印机分配给进程B,此时进程A阻塞。当进程B将打印机释放,进程A被唤醒,获得打印机,由阻塞状态转为就绪状态。 ②直接相互制约。这是相关进程之间为完成同一任务,进程某些操作之间在次序上存在制约关系。如果协作进程的某个操作没有完成,那么进程就会在工作到某些点上等待这个动作的完成,之后才能继续执行下去。我们称这些并发执行的进程间存在着制约关系。这种制约是进程—进程之间因共同目的而存在的直接约束,故称为直接制约。例如,输入进程A通过单缓冲向计算进程B提供数据。当缓冲区空时,计算进程B因不能获得所需数据而阻塞,当进程A把数据送入缓冲时,便唤醒进程B;反之,当缓冲区满时,进程A因不能再向缓冲中投放数据而阻塞,当进程B将缓冲内数据取走时,便唤醒进程A。 ⒊进程与资源的关系 从这样一个简单系统的管理中我们得出一个结论:操作系统的任务是控制与管理进程和资源,必须提供一些机制来协调进程与进程之间、进程与资源之间的复杂关系。 4.临界区设计原则 我们对每个进程访问临界资源的那段程序从概念上分离出来,称之为临界区。 临界区设计原则如下: ①进入区(entry section)。申请临界资源,为了进入临界区使用临界资源,在进入区要检查可否进入临界区,如果可以进入临界区,通常设置相应的“正在访问临界区”标志,以阻止其他进程同时进入临界区。 ②访问区(critical section)。进程中访问临界资源的一段代码。 ③退出区(exit section)。将“正在访问临界区”的标志清除,释放临界资源。 2.4.2 进程同步机构⒈进程同步与互斥的概念 在系统中有一些需要相互合作、协同工作的进程,这些进程的某些操作存在某种次序上的制约关系,这种制约关系称为进程的同步。 多个相关进程在访问临界资源在操作时间上相互排斥。这种相互排斥关系叫做进程的互斥。 各个进程互斥使用临界资源,互斥的实质是互斥共享临界资源,也可以认为互斥是同步的一种特殊形式。 ⒉同步机构应遵循的准则 ⑴空闲让进。当无进程处于临界区时,允许一个申请进入临界区的进程进入临界区。 ⑵忙则等待。当一个进程进入临界区时,其他申请进入临界区的进程必须等待。 ⑶有限等待。进程在临界区内仅停留有限的时间,对要求进入临界区的进程,应能在有限的时间内进入临界区。 ⑷让权等待。处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权。 ⒊上锁原语与开锁原语 实现的方法:设置锁变量w,w=1表示上锁,w=0表示开锁。 上锁原语 void lock(w){ while(w==1); w=1; } 开锁原语 void unlock(w){ w=0; } 请读者思考上锁原语与开锁原语是否符合同步机构应遵循的准则? ⒋信号量与P、V操作 信号量的值仅能由P操作、V操作改变的结构体变量。信号量的值大于等于零时代表一类可用资源个数,其值小于零时其绝对值代表被阻塞进程的个数。 信号量的描述如下: struct semaphore{ int value; queue *WQ[r]; }; wait操作描述和定义如下: semaphore s void wait(s){ --s.value; if (s.value0) block(s. WQ[r]);/*阻塞该进程*/ } V操作描述和定义如下: semaphore s void signal(s){ s.value++; if (s.value=0) wakeup(s. WQ[r]);/*唤醒阻塞队列的对首进程*/ } 2.5 经典进程同步问题2.5.1进程互斥
您可能关注的文档
- 《传热学cai》1.4 能量守恒原理.ppt
- 《传热学cai》1.3 传热方式与热流速率方程.ppt
- 环境微生物学8生态.ppt
- 环境微生物学10污染.ppt
- 《传热学cai》1.5 传热问题的研究方法.ppt
- 《tms320c55xdsp原理及其应用(第二版)》第四章程序流程控制_13926536699695.ppt
- 《传热学cai》10.3 换热器的平均传热温差.ppt
- 《传热学cai》10.4 换热器的热计算:平均温差法.ppt
- 《传热学cai》10.5 换热器的热计算:效能-传热单元数方法.ppt
- 《传热学cai》10.7 换热器的污垢热阻.ppt
- 8 黄山奇石(第二课时)课件(共22张PPT).pptx
- 22《纸船和风筝》教学课件(共31张PPT).pptx
- 17 松鼠 课件(共23张PPT).pptx
- 23《海底世界》课件(共28张PPT).pptx
- 21《大自然的声音》课件(共18张PPT).pptx
- 第12课《词四首——江城子 密州出猎》课件 2025—2026学年统编版语文九年级下册.pptx
- 第2课《济南的冬天》课件(共42张PPT) 2024—2025学年统编版语文七年级上册.pptx
- 17 跳水 第二课时 课件(共18张PPT).pptx
- 第六单元课外古诗词诵读《过松源晨炊漆公、约客》课件 统编版语文七年级下册.pptx
- 统编版六年级语文上册 22《文言文二则》课件(共27张PPT).pptx
最近下载
- QlikView专业版培训教程精品.pdf VIP
- 部编版2025秋六年级上册语文1.27《我的伯父鲁迅先生》 课件.pptx VIP
- 生物专业英语第三版蒋悟生编__课文翻译试卷.doc VIP
- NB∕T 20485-2018RK 核电厂应急柴油发电机组设计和试验要求.pdf
- 读《地球的红飘带》有感.pptx VIP
- 建筑与市政地基基础通用规范试卷含答案.docx
- 班级管理(第3版)张作岭课后习题答案.docx VIP
- 2026年中国互联网体育服务市场深度评估与发展机遇预测报告.docx
- 党课讲稿、深刻把握“信念是本,作风是形”的时代内涵与实践要求.docx VIP
- 学堂在线 日语与日本文化 期末考试答案.docx VIP
原创力文档


文档评论(0)