全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统操作系统 PVPV 小论文小论文 首先我们需要了解什么是 PV P V 原语是在操作系统理论中一 个非常重要的概念 在我们研究进程间的互斥的时候经常会引入这 个概念 将 P V 操作方法与加锁的方法相比较 来解决进程间的互 斥问题 实际上 他的应用范围很广 他不但可以解决进程管理当 中的互斥问题 而且我们还可以利用此方法解决进程同步与进程通 信的问题 1965 年荷兰科学家 E W Dijkstra 提出信号量这一概念 它使用 一个整形变量来累计唤醒次数 供以后使用 对于信号量 他建议 设立了两种操作 down 和 up 在他原来的论文中 他分别使用的是 PV 而不是 down 和 up 在荷兰语中 proberen 是尝试的意思 而 verhogen 的含义是增加或者升高 所谓的 P V 不过是两个操作 如果将信号量看作共享变量 则 pv 操作为其临界区 多个进程不能同时执行 一般用硬件方法保证 一个信号量只能置一次初值 以后只能对之进行 p 操作或 v 操作 其中的 p 操作和 v 操作都是是不可中断的程序段 称为原语 而 P 原语操作的动作是 1 sem 减 1 2 若 sem 减 1 后仍大于或等于零 则进程继续执行 3 若 sem 减 1 后小于零 则该进程被阻塞后进入与该信 号相对应的队列中 然后转进程调度 简单来说就是检查其值是否大于 0 若大于 0 则将其值减 1 并 继续 若该值为 0 则进程将睡眠 而且此时 P 操作并没有结束 检查数值 修改变量值以及可能发生的睡眠操作均作为一个单一的 不可分割的原子操作完成 保证一旦一个信号量操作开始 则在该 操作完成霍阻塞之前 其他进程均不允许访问该信号量 这种原子 性对于解决同步问题和避免竞争竞争天界是绝对必要的 所谓原子 操作 是指一组相关联的操作要么都不间断的执行 要么都不执行 原子操作在计算机科学的其他领域也是非常重要的 V 原语操作的动作是 1 sem 加 1 2 若相加结果大于零 则进程继续执行 3 若相加结果小于或等于零 则从该信号的等待队列中 唤醒一等待进程 然后再返回原进程继续执行或转进程调度 意思就是 V 操作对信号量的值增加 1 遇过一个或者多个进程在 该信号量上睡眠 无法完成一个先前的 P 操作 则由系统选择其中 的一个并允许该进程完成它的 P 操作 于是 对一个有进程在其上 睡眠的信号量执行一次 V 操作之后 该信号量的值依旧是 0 但在 其上睡眠的进程却少了一个 信号量的值增加 1 和唤醒一个进程同 样也是不可分割的 不会有某个进程因为执行 V 而阻塞 P V 原语必须成对使用 不然以 V 原语的 1 2 步骤来说 Sem 会永远大于 0 进程会一直循环成为死循环 Sem 大于 0 的确表示有 临界资源可供使用 而且这个时候没有进程被阻塞在这个资源上 也就是说没有进程因为得不到这类资源而阻塞 所以没有被阻塞的 进程 自然不需要唤醒 当一个进程阻塞了的时候 它已经执行过 了 P 操作 并卡在临界区那个地方 当唤醒它时就立即进入它自己 的临界区 并不需要执行 P 操作了 当执行完了临界区的程序后 就执行 V 操作 下面讨论 PV 操作的实际应用 在解决实际问题时 为了确保信 号量能正确工作 嘴重要的是要曹颙一种不可分割的方式来实现它 通常是酱 PV 作为系统调用实现 而且操作系统只需在以下操作时暂 时屏蔽全部中断 测试信号量 更新信号量以及在需要时使某个进 程睡眠 由于这些动作只需要几条指令 所以屏蔽中断不会带来什 么副作用 PV 原语操作信号量还有一个用途是用于实现同步 信号量 FULL 和 EMPTY 用来保证某种时间的顺序发生或不发生 比如在某些情况 下 它们保证当缓冲区满的时候对象 1 停止运行以及当缓冲区空的 时候对象 2 停止运行 值得一提的是 这种用法与互斥是不同的 同时 我们还可以利用此方法解决进程通信的问题 用 P V 原 语实现进程通信的方法如下 我们以邮箱通信为例说明问题 邮箱通信满足的条件是 发送进程发送消息的时候 邮箱中至少要有一个空格能存放该 消息 接收进程接收消息时 邮箱中至少要有一个消息存在 发送进程和接收进程我们可以进行如下的描述 Deposit m 为发送进程 接收进程是 remove m Fromnum 为发送进 程的私用信号量 信箱空格数 n mesnum 为接收进程的私用信号量 初值为 0 Deposit m Begin local x P fromnum 选择空格 x 将消息 m 放入空格 x 中 置格 x 的标志为满 V mesnum end R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中信息技术河大版七年级全册第2节 键盘及其操作教学设计
- 2025年大学《临床工程技术-医学设备维修实操与质量控制实训》考试备考题库及答案解析
- 2025年大学《临床工程技术-急救设备管理》考试模拟试题及答案解析
- 安全文化建设课件
- 急诊科:过敏性休克急救处理流程指南
- 2025年大学《社会学-社会学原理》考试模拟试题及答案解析
- 糖尿病足预防指导方案
- 人教版(2024)七年级上册(2024)第2课 表现形式教学设计
- 第四章 第四节 世界气候 第2课时 教学设计 -2024-2025学年人教版七年级地理上册
- 2025年大学《医疗保险-医疗保险政策》考试备考题库及答案解析
- 西南交通大学2025年秋季管理岗位与其他专技岗位公开招聘考试参考试题及答案解析
- 2025年陕西省招聘村居后备干部考试应知应会题库及答案
- 公司无人机驾驶员适应性考核试卷及答案
- 市政道路排水系统维护保养技术方案
- 两委换届知识培训材料课件
- 安全生产相关工作主要业绩及研究成果
- 2025广州铁路局集团有限公司招聘笔试考点考试题库和答案
- 机房运维题考试题及答案
- 2026届广东省珠海市文园中学七年级数学第一学期期末经典试题含解析
- 2025年中国拍立得行业市场全景分析及前景机遇研判报告
- 【生物】2025-2026学年人教版八年级生物上册期中考试复习测评试卷
评论
0/150
提交评论