版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第八讲 同步与互斥实现方法,目的与要求:理解互斥问题的硬件实现方法;掌握信号量机制及使用它解决进程同步互斥问题的方法。 重点与难点:信号量实现及使用。 作业:4,6, 11,4.2.2实现临界段的硬件方法,利用处理机提供的特殊指令实现临界区加锁 常见硬件指令有: 1.屏蔽中断 Parbegin A(amount) disableInterrupt(); R1=balance; R2=amount; R1=R1+R2; balance=R1; enableInterrupt(); ;,B(amount) disableInterrupt(); R1=balance; R2=amount; R1=
2、R1-R2; balance=R1; enableInterrupt(); ; Parend;,2、“Test_and_Set”指令。 该指令功能描述为: boolean Test_and_Set(boolean ,3、“Swap”指令。 该指令功能描述为: void Swap(boolean while(key=ture) Swap (lock, key); critical section; lock = false; non-critical section while(1);,4.2.3 信号量,信号量机构:“信号量”、“P、V操作”。 信号量S为一整型变量: P(S): While
3、S0 ;空操作 S = S-1 ; V(S):S = S1; P、V操作是两条原语,即保证P、V操作对变量S的访问是互斥操作。,一. 原语概念与实现 原语:指完成某种功能且不被分割或不被中断执行的操作序列。 原语可通过硬件实现不可中断性;或通过实现临界段的元方法达到不被中断。 实现临界段的元方法: 屏蔽中断(只用于单机) 加硬锁。,下面我们用屏蔽中断方法实现P(s)和V(s)的原子性。 P(s) disableInterrupt(); while (s0) enableInterrupt(); disableInterrupt(); ; s = s - 1; enableInterrupt()
4、; V(s) disableInterrupt(); s = s +1; enableInterrupt(); ,二、信号量的使用(互斥与同步) 互斥:用于n个进程的临界段互斥,n进程共享一个信号量mutex,初值为1,任一进程Pi的结构为:,P(mutex),V(mutex),临界段,非临界段,do,while(1),同步:有P1、P2 两进程,必须在P1执行完S1语句后,P2才能执行S2。需同步的两进程共享信号量synch,初值为0。,Parbegin,P2(): ,P1(): ,S1;,V(synch);,;,P(synch);,S2;,;,Parend;,请同学们用并行语句和PV操作描述,操作系统实现信号量时与进程调度相结合,消除忙等待现象。 原则是:在P操作循环等待的地方加入放弃处理机/挂入等待队列动作,在V操作时,从等待队列中摘取进程变为就绪态。 (P、V原语本身的互斥操作通过屏敝中断或为信号量加硬锁实现),三.信号量的具体实现,1、信号量定义 typedef struct int value; struct process *L; semaphore; 2、P操作 P(S):S.Value=S.value 1; If S.value0 then 保存现场, 将本进程挂入S.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国RFID腕带行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国PGA树脂行业盈利动态与应用趋势预测报告
- 2024-2030年中国HSS(高速钢)铣刀行业市场发展趋势与前景展望战略研究报告
- 2024-2030年中国DPE和LLDPE密封胶网膜行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国CNG缠绕瓶市场深度调查及未来前景预测报告
- 2024-2030年中国BOPP烟丝行业市场发展趋势与前景展望战略分析报告
- 2024-2030年中国5G专网建设及应用行业投资潜力评析与竞争格局发展趋势报告
- 2024-2030年中国-版异黄樟素行业深度评估与前景竞争优势分析研究报告
- 2023年智能检测分选装备项目评估分析报告
- 2024年腹泻治疗药项目评价分析报告
- 中小学、幼儿园结核病防控知识培训
- 基于人工智能的建筑施工流程优化研究
- 保密工作自查自评打分表
- 高中数学知识点全总结(电子版)
- 中元节-英语课课件
- 2023年安徽民航机场集团有限公司人员招聘笔试题库含答案解析
- 物业管理竞聘演讲稿汇编7篇
- 中国税制第4版课后部分参考答案刘颖
- 食品有限公司有限空间作业安全风险分级管控清单
- 法律职业资格之法律职业主观题真题练习模拟题附答案
- 临床检验与病例分析
评论
0/150
提交评论