作业调度
作业调度(高级调度)的作用和流程
作业调度,又称高级调度,负责从外存到内存的作业调度,主要解决系统内存有限的问题。其主要任务是决定哪些作业在特定时机可以进入内存,从而转变为进程,获得竞争CPU的机会。具体作用和流程如下:
-
解决内存资源的限制:由于计算机的内存空间有限,操作系统无法一次性将所有用户提交的作业全部加载到内存中。因此,高级调度通过某种算法选择哪些作业可以进入内存,以提高内存利用率并合理分配资源。
-
从外存到内存的作业选择:作业调度在外存的后备队列中,根据某种优先级或算法挑选一个或多个作业,分配内存和其他必要资源,并建立相应的进程控制块(PCB),从而为这些作业创建进程,让它们有资格参与CPU调度。
-
建立和撤销PCB:
- 作业调入:当作业被选定进入内存时,操作系统为其分配资源并建立PCB。
- 作业调出:作业在完成执行或结束时会从内存中移除,PCB也随之撤销。
-
单次调入与调出:在高级调度过程中,每个作业在生命周期内只进行一次调入(从外存到内存)和一次调出(作业完成后从内存移除),因此调度的重点在于调入的时机。
-
便于资源竞争:通过调度确定作业进入内存的顺序,让作业转变为进程,使其能够在系统资源有限的情况下参与资源竞争,保证系统的高效和公平运行。
类比说明
高级调度就像管理公共资源的分配,例如“厕所”比喻。外面的排队者(外存中的作业)在等待进入,系统根据一定的规则(高级调度算法)将排队者引入“厕所”(内存),以便他们可以“使用”资源(CPU)。