作者:望天打股 | 来源:互联网 | 2023-09-13 12:58
进程调度分为3个层次,高级调度(作业调度)、中级调度(内存调度)、低级调度(进程调度)。为什么会有调度问题,当资源有限,但是又有很多任务要处理,所以就有了按某种规则区调度的问题。
进程调度分为3个层次,高级调度(作业调度)、中级调度(内存调度)、低级调度(进程调度)。
为什么会有调度问题,当资源有限,但是又有很多任务要处理,所以就有了按某种规则区调度的问题。
1.高级调度
因为内存空间有限,不能把用户提交的任务全部放进内存,因此就要按某种规则来决定作业调入内存的顺序。
高级调度(作业调度),就是操作系统按一定的规则将后备队列的一个或多个任务调入内存中,并为该任务分配内存等必要的资源并且建立相应的进程快(建立PCB),以使得他获得竞争处理器的权利。
高级调度是内存和外存的调度。每个作业只会调入一次,调出一次。只有作业调入时才会建立PCB,在任务调出时才撤销PCB。高级调度主要是调入的问题。调入的时机由操作系统决定,但是调出的时机一定是任务结束的时候。
2.中级调度
在有了虚拟内存技术之后,可以把暂时不可运行的进程调入外存等待,直到内存有足够的空间再把挂起的进程重新调入内存。
这么做的目的是为了提高内存利用率和系统吞吐量。
暂时调度到外存的状态叫做挂起态。但是要注意的是,PCB(进程控制块)并不会被调入外存,而是会常驻内存,PCB会记录程序数据在外存存放的位置,进程状态等。操作系统会根据PCB来保持对进程的监控、管理。被挂起的进程PCB进程会在挂起队列中。
中级调度就是决定要将那个挂起的进程重新调入内存中。一个进程会被多次调入调出,因此中级调度发生的频率比高级调度高。
3.低级调度
低级调度(进程调度),就是按照某种方法和策略从就绪队列中选取一个进程,将处理器分配给他。
进程调度是系统中频率最高的一种,也是最基本的一种,每种操作系统都要配置低级调度,平均几十毫秒一次。
最后补充一下进程的七种状态: