- 为什么需要进行处理机调度?
在多道程序环境下,内存中存在的进程数目往往多余处理机的数目,因此,需要通过处理机调度,动态地将CPU按照某种算法分配给就绪状态的一个进程。 - 处理机调度的层次:
高级调度、低级调度、中级调度 - 进程调度的主要任务有保存当前进程的处理机现场,按照某种调度算法选取投入执行的新进程,以及把处理机分配给新进程三方面。
进程调度可采取两种方式:抢占式调度和非抢占式调度。
中级调度的目的是解决内存紧张的问题。 - 处理机调度算法的共同目标:
系统吞吐量大、处理机利用率高、各类资源能平衡利用、对不同类型的作业具有公平性。 - PCB、TCB、JCB
- 作业调度算法:FCFS、SJF、PSA、HRRA,RR,多级队列调度算法、多级反馈队列调度算法。
- 死锁的定义:一个进程集合中的每一个进程都在等待只能由该集合中的其他进程才能引发的事件,那么该组进程进入死锁状态。
- **产生死锁的原因:**竞争资源、进程推进顺序非法。
- **产生死锁的必要条件:**互斥条件;请求与保持条件、不剥夺条件、环路等待条件。
- 预防死锁:预防死锁是通过破坏死锁产生的某个必要条件来预防死锁的发生,四个必要条件后三个都可被破坏。
- 避免死锁:安全与不安全状态
利用银行家算法避免死锁:可用资源向量、最大需求矩阵、分配矩阵、需求矩阵。
利用安全性算法避免死锁;
这两种算法都是用于安全性检查的算法。 - 死锁的检测与解除
死锁检测算法、死锁解除算法。
死锁定理:S状态为死锁状态的充分条件是:当且仅当系统状态S的资源分配图是不可完全简化的。