1.调度的基本概念:
当有一堆任务要处理,但由于资源有限,这些事情没法同时处理。这就需要确定某种规则来决定这些任务的顺序。
处理机调度:从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程的并发执行。
2.调度的三个层次:
(1)高级调度/作业调度:按一定的原则从外存上处于后备队列的作业中挑选一个或多个作业,给他们分配内存等必要资源,并建立相应的进程(建立PCB),以使它们获得竞争处理机的权利。
高级调度是辅存(外存)与内存之间的调度。每个作业只调入一次,调出一次。调入时建立PCB,调出时撤销PCB。高级调度主要是指调入的问题,因为调入时机是由操作系统来确定,但调出的时机必须是作业运行结束才调出。
(2)中级调度/内存调度:引入了虚拟存储技术之后,可将暂时不能运行的进程调至外存等待。等它重新具备了运行条件且内存又稍有空闲时,再重新调入内存。
这么做的目的是为了提高内存利用率和系统吞吐量。
暂时调到外存等待的进程状态为挂起状态。这时的PCB并不会调到外存,而是会常驻内存。PCB中会记录进程数据在外存中的存放位置,进程状态等信息,操作系统通过内存中的PCB来保持对各个进程的监控、管理。被挂起的进程PCB会被放到挂起队列中。
中级调度,决定将那个处于挂起状态的进程重新调入内存。一个进程可能会被多次调出、调入内存,它的发生频率要比高级调度高。
(3)低级调度/进程调度:其主要任务是按照某种方法和策略从就绪队列中选取一个进程,将处理机分配给它。
进程调度是操作系统中最基本的一种调度,在一般的操作系统中都必须配置进程调度。
发生频率最高。