调度的概念
调度是:某种决定任务处理顺序的规则
处理机调度是按照一定算法选择一个进程把处理机分配给它。
高级调度(作业调度):按照一定原则从外存或后被队列的作业中挑选一个或多个作业,给他们分配内存等必要资源,并建立相应进程(建立PCB),以使它们获得竞争处理机的权力。高级调度是内存与外存之间的调度,每个作业只调入一次。只要运行结束就会调出,因此高级调度解决的是调入的问题(从无到创建态到就绪态)
中级调度(内存调度):将暂时不用的进程调至外存等待(此时PCB仍在外存中负责保存并监控进程信息,会常驻内存),等他具备运行条件且内存又有空闲时再重新调入内存,可以提高内存的利用率和系统吞吐量,暂时调入外存的进程状态为挂起状态,被挂起的进程的PCB会放到挂起队列,中级调度发生的频率比高级调度高(挂起态到就绪态或阻塞挂起到阻塞态)
挂起与阻塞的区别:两种状态都不能获取CPU的服务,但挂起态是将进程映射到外存中去,但阻塞状态先进程映射还在内存中。
低级调度(进程调度):按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给他,是操作系统中最基本的调度(就绪态到运行态)
进程调度的时机与调度方式
需要进行进程切换与调度的情况:
主动放弃:正常终止,发生异常而终止