正在加载图片...
同步实现初探(三) 进程间的同步关系 计算进程 打印进程 m进程同步时面临的两种主要关系 完成数据计寞 互斥 十算结果送到 Buffer 相互合作 司机与售纂员 向打印进发情号杀 算者与打印者 fer] 竞争资源 通知其丛 Buffer里取数 多个打印者 互斥 从Bue中取数」 <Bufe空?>合作 打印 事件、设备等抽象为资源 向计算进程发信号: 对进程间关系的处理变为对资源的访问方式 L通知其向Butr送数 312临界资源与临界区 (1)临界资源 次只允许一个进程访问的资源 资源状态为临界:0或1 (2)临界区 每个进程用于访问临界资源的那段程序 临界区 改变资源 阻塞等待 临昇区 状态 临界区 资源释放 出E 唤醒等待 进程1 进程2 313同步机制应遵循的原则 (1)空闲让进:当资源空闲时,应当允许访问资源的进程进入临界区 (2)忙则等待:当资源被占用时,应使申请访问该资源的进程等待,等待使用者归还资源 (3)让权等待:在进程等待资源时,从执行态转为阻塞态,应当让出CPU的使用权。系统将把CPU分 配给其它进程使用,以提高系统效率 (4)有限等待:系统应保证等待的进程能在有限的时间内获得资源,继续执行,以防止无限等待浪费该 进程已占用的资源 314临界资源锁机制(靠锁实现资源的共享管理) 例:商场的试衣间(是互斥资源,是临界资源,是共享资源) 每个顾客必须遵循以下过程使用试衣间 观察锁状态→关锁→使用试衣间→开锁同步实现初探(三) 计算进程 打印进程 计算结果送到Buffer 从Buffer中取数 Buffer 互斥 互斥 向打印进程发信号 通知其从Buffer里取数 Buffer空? 否 是 完成数据计算 打印 向计算进程发信号 通知其向Buffer送数 Buffer空? 否 是 合作 进程间的同步关系 ◼ 进程同步时面临的两种主要关系 司机与售票员 多个打印者 计算者与打印者 事件、设备等抽象为资源 对进程间关系的处理变为对资源的访问方式 3.1.2 临界资源与临界区 (1)临界资源 一次只允许一个进程访问的资源 资源状态为临界:0 或 1 (2)临界区 每个进程用于访问临界资源的那段程序 临界区 进入区 临界区 退出区 进入区 临界区 退出区 ... ... ... ... ... ... ... ... 阻塞等待 资源释放 改变资源 状态 释放资源 唤醒等待 进程 进程 1 进程 2 3.1.3 同步机制应遵循的原则 (1) 空闲让进:当资源空闲时,应当允许访问资源的进程进入临界区 (2) 忙则等待:当资源被占用时,应使申请访问该资源的进程等待,等待使用者归还资源 (3) 让权等待:在进程等待资源时,从执行态转为阻塞态,应当让出 CPU 的使用权。系统将把 CPU 分 配给其它进程使用,以提高系统效率. (4) 有限等待:系统应保证等待的进程能在有限的时间内获得资源,继续执行,以防止无限等待浪费该 进程已占用的资源. 3.1.4 临界资源锁机制 (靠锁实现资源的共享管理) 例:商场的试衣间( 是互斥资源, 是临界资源, 是共享资源)  每个顾客必须遵循以下过程使用试衣间: 观察锁状态→关锁→使用试衣间→开锁
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有