2013-2014A_20131018_第三章 处理机调度与死锁
- 格式:ppt
- 大小:422.50 KB
- 文档页数:19
河南大学操作系统计算机学院第3章处理机调度与死锁|大纲1 3.5死锁概述2 3.6预防死锁3 3.7避免死锁4 3.8死锁的检测和解除5哲学家进餐问题的改进解法6本章作业第3章处理机调度与死锁|3.5死锁概述1 3.5死锁概述2 3.6预防死锁3 3.7避免死锁4 3.8死锁的检测和解除5哲学家进餐问题的改进解法6本章作业死锁概述死锁:Deadlock各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。
从而造成大家都想得到资源而又都得不到资源,各并发进程不能继续向前推进的状态。
死锁与饥饿饥饿(Starvation)指一个进程一直得不到资源。
死锁和饥饿都是由于进程竞争资源而引起的。
饥饿一般不占有资源,死锁进程一定占有资源。
1可重用资源和消耗性资源可重用资源(永久性资源)可被多个进程多次使用,如所有硬件。
只能分配给一个进程使用,不允许多个进程共享。
进程在对可重用资源的使用时,须按照请求资源、使用资源、释放资源这样的顺序。
系统中每一类可重用资源中的单元数目是相对固定的,进程在运行期间,既不能创建,也不能删除。
消耗性资源(临时性资源)是在进程运行期间,由进程动态的创建和消耗的。
消耗性资源在进程运行期间是可以不断变化的,有时可能为0;进程在运行过程中,可以不断地创造可消耗性资源的单元,将它们放入该资源类的缓冲区中,以增加该资源类的单元数目。
进程在运行过程中,可以请求若干个可消耗性资源单元,用于进程自己消耗,不再将它们返回给该资源类中。
可消耗资源通常是由生产者进程创建,由消费者进程消耗。
最典型的可消耗资源是用于进程间通信的消息。
2可抢占资源和不可抢占资源可抢占资源可抢占资源指某进程在获得这类资源后,该资源可以再被其他进程或系统抢占。
对于这类资源是不会引起死锁的。
CPU和内存均属于可抢占性资源。
不可抢占资源一旦系统把某资源分配给该进程后,就不能将它强行收回,只能在进程用完后自行释放。
第三章处理机调度与死锁3.1 处理机调度的层次和调度算法的目标3.2 作业与作业调度3.3 进程调度3.4 实时调度3.5 死锁概述3.6 预防死锁3.7 避免死锁3.8 死锁的检测与解除习题1 3.1 处理机调度的层次和调度算法的目标在多道程序系统中,调度的实质是一种资源分配,处理机调度是对处理机资源进行分配。
处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。
在多道批处理系统中,一个作业从提交到获得处理机执行,直至作业运行完毕,可能需要经历多级处理机调度,下面先来了解处理机调度的层次。
23.1.1 处理机调度的层次1. 高级调度(High Level Scheduling)2. 低级调度(Low Level Scheduling)3. 中级调度(Intermediate Scheduling)343.1.2 处理机调度算法的目标1. 处理机调度算法的共同目标(1) 资源利用率。
为提高系统的资源利用率,应使系统中的处理机和其它所有资源都尽可能地保持忙碌状态,其中最重要的处理机利用率可用以下方法计算:CPU 的利用率 = 空闲等待时间有效工作时间有效工作时间CPU CPU CPU(2) 公平性。
公平性是指应使诸进程都获得合理的CPU 时间,不会发生进程饥饿现象。
公平性是相对的,对相同类型的进程应获得相同的服务;但对于不同类型的进程,由于其紧急程度或重要性的不同,则应提供不同的服务。
(3) 平衡性。
由于在系统中可能具有多种类型的进程,有的属于计算型作业,有的属于I/O型。
为使系统中的CPU和各种外部设备都能经常处于忙碌状态,调度算法应尽可能保持系统资源使用的平衡性。
(4) 策略强制执行。
对所制订的策略其中包括安全策略,只要需要,就必须予以准确地执行,即使会造成某些工作的延迟也要执行。
562. 批处理系统的目标(1) 平均周转时间短。
对每个用户而言,都希望自己作业的周转时间最短。
但作为计算机系统的管理者,则总是希望能使平均周转时间最短,这不仅会有效地提高系统资源的利用率,而且还可使大多数用户都感到满意。