操作系统4——处理机调度与死锁
——2018.12.11
文章目录
零、目标
- 处理机调度的层次和调度算法的目标
- 作业调度的三种算法:先来先服务、短作业优先和高优先权优先
- 进程调度
- 死锁的定义、产生死锁的必要条件、死锁的原因
- 预防死锁
- 避免死锁:安全状态,银行家算法
一、处理机调度的层次
1. 高级调度
- 作业调度或长程调度
- 主要任务是按一定的原则对外存上处于后备状态的作业进行选择,给选中的作业分配内存、输入/输入设备等必要的资源,并建立相应的进程,放入就绪队列,以使该作业的进程获得竞争处理机的权利
- 也称为接纳调度
- 高级调度的时间尺度通常是分钟、小时或天
2. 中级调度
- 引入目的是为了提高内存利用率和系统吞吐量,使那些暂时不能运行的程序不再占用宝贵的内存资源,而将他们调至外存上去等待。
- 主要任务是按照给定的原则和策略,将处于外存对换区中已经具备运行条件的就绪程序调入内存,或将处于内存就绪状态和内存阻塞状态的进程交换到外存对换区。
3. 低级调度:
- 进程调度或短程调度
- 主要任务是按照某种策略和方法选取一个处于就绪状态的进程,将处理机分配给它
- 常见的低级调度有抢占式和非抢占式两种
- 低级调度的时间尺度通常是毫秒级的,由于低级调度算法的频繁使用,要求实现时做到高效
二、调度算法
1.先来先服务调度算法
- 算法简单,易于实现
- 有利于长作业,不利于短作业
- 有利于CPU繁忙型作业,不利于I/O繁忙型作业,可能导致I/O设备和CPU利用率低
- 未考虑作业的紧迫程度
例:设有4道作业,它们的提交时间及执行时间如下表,若按先来先服务调度算法进行调度,试计算4个作业的平均周转时间和平均带权周转时间。
作业 到达时间 服务时间 A 0 1 B 1 100 C 2 1 D 3