操作系统学习笔记——进程互斥与同步
2012-04-29 15:12
239 查看
1. 并发控制
l 当并发进程使用同一资源时,他们会发生冲突。
l 如果操作系统将资源分配给其中的某一个使用,另一个进程必须等待,直到申请的资源可用时,由操作系统分配给它。
l 如果竞争资源的进程太多,这些进程必须等待在一个队列里,如就绪队列,阻塞队列。
l 死锁的话,阻塞进程永远得不到申请的资源。
2. 竞争资源
l 竞争资源受限必须解决“互斥”问题。某些资源必须互斥使用,如打印机。
l 这类资源又称临界资源,访问临界资源的那段代码称为临界区。
l 任何时刻只允许一个进程进入临界区,以此实现进程对临界资源的互斥访问。
当A,B进程进入进入区,在进入区进行判断能否使用临界资源,如果A可以进入临界区,B不可以进入,则A进入临界区,B进入阻塞队列,当A进入临界区执行代码退出后临界区,A进程唤醒阻塞队列里的进程B或者其他进程。
2. 互斥使用临界资源
l 当进程需要使用临界资源时,通过获得临界区的使用权实现。
l 首先,在“进入区”判断是否可以进入临界区,如果可以进入,则必须设置临界区使用标志,阻止其他后来的进程进入临界区(比如插个旗子),后来的进程通过查看临界区使用标志,知道自己不能进入临界区,就进入阻塞队列,将自己阻塞。
l 当临界区内的进程使用完毕,退出临界区时,即在“退出区”修改临界区使用标志,并负责唤醒阻塞队列中的一个进程,让其进入临界区。
3. 临界区使用原则(互斥条件)
l 忙则等待:每次只允许一个进程处于临界区,如果临界区是占用的,其他进程必须等待;
l 有限等待:进程只能在临界区内逗留有限时间,不得使其他进程在临界外无限期等待;
l 空闲让进:如果临界区空闲,则只要有进程申请就立即让其进入;
l 让权等待:进入临界区的进程,不能在临界区内长时间阻塞等待某事件,必须在一定期限内退出临界区。(在临界区内要申请资源,必须退出)。
l 不能限制进程的执行速度及处理机的数量。
4. 进程中资源争用
死锁和饥饿
5. 进程间共同协作
l 当并发进程使用同一资源时,他们会发生冲突。
l 如果操作系统将资源分配给其中的某一个使用,另一个进程必须等待,直到申请的资源可用时,由操作系统分配给它。
l 如果竞争资源的进程太多,这些进程必须等待在一个队列里,如就绪队列,阻塞队列。
l 死锁的话,阻塞进程永远得不到申请的资源。
2. 竞争资源
l 竞争资源受限必须解决“互斥”问题。某些资源必须互斥使用,如打印机。
l 这类资源又称临界资源,访问临界资源的那段代码称为临界区。
l 任何时刻只允许一个进程进入临界区,以此实现进程对临界资源的互斥访问。
当A,B进程进入进入区,在进入区进行判断能否使用临界资源,如果A可以进入临界区,B不可以进入,则A进入临界区,B进入阻塞队列,当A进入临界区执行代码退出后临界区,A进程唤醒阻塞队列里的进程B或者其他进程。
2. 互斥使用临界资源
l 当进程需要使用临界资源时,通过获得临界区的使用权实现。
l 首先,在“进入区”判断是否可以进入临界区,如果可以进入,则必须设置临界区使用标志,阻止其他后来的进程进入临界区(比如插个旗子),后来的进程通过查看临界区使用标志,知道自己不能进入临界区,就进入阻塞队列,将自己阻塞。
l 当临界区内的进程使用完毕,退出临界区时,即在“退出区”修改临界区使用标志,并负责唤醒阻塞队列中的一个进程,让其进入临界区。
3. 临界区使用原则(互斥条件)
l 忙则等待:每次只允许一个进程处于临界区,如果临界区是占用的,其他进程必须等待;
l 有限等待:进程只能在临界区内逗留有限时间,不得使其他进程在临界外无限期等待;
l 空闲让进:如果临界区空闲,则只要有进程申请就立即让其进入;
l 让权等待:进入临界区的进程,不能在临界区内长时间阻塞等待某事件,必须在一定期限内退出临界区。(在临界区内要申请资源,必须退出)。
l 不能限制进程的执行速度及处理机的数量。
4. 进程中资源争用
死锁和饥饿
5. 进程间共同协作
相关文章推荐
- [操作系统学习笔记(4)] 进程同步,信号量
- 操作系统概念学习笔记 12 进程同步(二)管程
- 操作系统学习笔记六:进程同步
- 操作系统学习笔记:PV同步原语
- 操作系统学习笔记(10) 互斥和同步的经典问题
- 操作系统学习笔记(8) 互斥和同步的实现算法
- 操作系统学习笔记:进程同步
- 操作系统学习笔记:进程同步
- 2011/5/28操作系统学习笔记之经典同步问题 【转】
- 操作系统学习笔记(9) 互斥和同步的信号量算法
- 操作系统学习笔记(13) 互斥与同步的经典问题 -哲学家进餐问题
- 2011/5/28操作系统学习笔记之经典同步问题
- 孙鑫VC学习笔记:第十六讲 (一) 利用事件对象实现线程间的同步
- Thinking in Java学习笔记 synchronized同步方法和synchronized同步块
- 操作系统学习笔记--进程的三种基本状态
- 现代操作系统学习笔记——操作系统中的一些基本概念
- 操作系统学习笔记五CPU 调度
- 2011寒假-操作系统学习笔记
- 用S60操作系统SDK开发NOKIA手机应用程序-学习笔记(1)
- OpenCV学习笔记(6)基于 VC+OpenCV+DirectShow 的多个摄像头同步工作