- 1
- 0
- 约1.03万字
- 约 39页
- 2017-06-25 发布于北京
- 举报
第二章 进 程 管 理(2) 张 琦 内容 本章节要讨论的问题 如何控制和协调并发进程异步执行的时 序? 进程同步的主要任务是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作。 2.3 进 程 同 步 2.3.1 进程同步的基本概念 1. 两种形式的制约关系 当程序并发执行时,由于资源共享和进程合作,使同处于一个系统中的诸进程之间可能存在着以下两种制约关系。 2.3 进 程 同 步 2. 临界资源 (Critical Resource) 凡是以互斥方式使用的共享资源都称为临界资源。 临界资源具有一次只允许一个进程使用的属性。 3. 临界区 (Critical Section) 把每个进程中访问临界资源的那段代码称为临界区。 repeat entry section critical section; exit section remainder section; until false; 2.3 进 程 同 步 4. 同步机制应遵循的规则 2.3 进 程 同 步 2.3.2 信号量机制 1. 什么是信号量(semaphore) 并发进程间的相互制约关系从本质上说是由于争夺和共享资源而产生的。将资源抽象为信号量, 在信号量基础上引入同步操作原语: P操作、V操作。 2. 整形信号量 整形信号量用于表示资源数目,用S表示。除初始化外,仅能通过两个标准的原子操作wait(S)和signal(S)来访问。这两个操作一直被分别称为P、V操作。 wait和signal操作可描述为: wait(S): while S≤0 do no-op S∶=S-1; signal(S): S∶=S+1; 2.3 进 程 同 步 3. 记录型信号量 在信号量机制中,除了需要一个用于代表资源数目的整型变量value外,还应增加一个进程链表L,用于链接上述的所有等待进程。 2.3 进 程 同 步 type semaphore=record value: integer; L: list of process; end P操作(wait原语) 每执行一次P操作,即申请分配一个单位的资源。 P(S)—表示对信号量S 进行P操作。 2.3 进 程 同 步 V操作(signal原语) V(S)— 表示对信号量S 进行V操作,即释放一个单 位的资源。 2.3 进 程 同 步 2.3 进 程 同 步 Var s:semaphore:=3; Printer: repeat wait(s); print the document on the paper; signal(s); until false 2.3 进 程 同 步 AND型信号量 假定有两个进程A和B,他们都要访问共享数据D和E。分别设置用于互斥的信号量Dmutex和Emutex,并令它们的初值都是1。 process A: process B: wait(Dmutex); wait(Emutex); wait(Emutex); wait(Dmutex); 若进程A和B按下述次序交替执行wait操作: process A: wait(Dmutex); 于是Dmutex=0 process B: wait(Emutex); 于是Emutex=0 process A: wait(Emutex); 于是Emutex=-1 A阻塞 process B: wait(Dmutex); 于是Dmutex=-1 B阻塞 2.3 进 程 同 步 AND同步机制的基本思想 将进程在整个运行过程中需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。即: 对若干个临界资源的分配,采取原子操作方式:要么全部分配到进程,要么一个也不分配。 由死锁理论可知,这样就可避免上述死锁情况的发生。
您可能关注的文档
最近下载
- 2025年山东医学高等专科学校单招(数学)历年真题考点含答案解析.docx
- 《QSH0038-2007-钻井液用羧甲基纤维素钠盐技术要求》.pdf VIP
- 《桂海虞衡志》中少数民族风俗研究.doc VIP
- QSH 0048-2007 钻井液用聚丙烯酰胺钾盐技术要求.pdf VIP
- 医疗护理员培训大纲(试行).docx VIP
- 一汽大众ERP-SAP_原创文档.pdf VIP
- Haier海尔洗衣机10公斤超薄嵌入洗烘一体机 EG100HPRO51说明书用户手册.pdf
- 一汽大众ERP-SAP一汽大众ERP-SAP.docx VIP
- 新中国60年统计汇编.pdf VIP
- 自贸区对地区经济的影响研究以我国中西部自贸区为例.docx VIP
原创力文档

文档评论(0)