调度的基本概念
在操作系统中的调度
,是指操作系统从就序队列中选择一个作业,或者进程进行执行。
举个例子:
比如我们去银行窗口排队,排队的人就相当于就绪列表,窗口就相当于是操作系统,窗口需要服务排队客户。
如果在正常的排队过程当中,如果有一个 VIP 的客户来银行需要办理业务,由于他是 VIP 客户,所以他会被窗口优先进行处理,在操作系统汇总也是同样的道理,有些任务可能比较紧急,或者执行的时间比较短,都有可能被优先执行,这就需要确定某种规则来决定处理这些任务的顺序
。
那我们先来看一下,在什么时候用,会发生调度。
调度的三个层次 - 高级调度
高级调度又称之为作业调度,按一定的原则从外存(硬盘)的作业队列中挑选一个作业调入内存
,并且创建进程。每个作业只调入一次,调出一次,作业调入时会创建 PCB,调出时才撤销 PCB。
调度的三个层次 - 中级调度
中级调度又称之为内存调度,按照某种策略决定将那个处于挂起状态的进程重新调用内存。
当我们操作系统在执行任务当中,由于内存不足时,可将某些进程的数据调出到硬盘当中,等内存空闲了或者进程需要运行时,再重新调入到内存。
暂时调到硬盘等待的进程状态为挂起状态,被挂起的进程 PCB 会被组织成挂起队列
。
调度的三个层次 - 低级调度
低级调度又称之为进程调度,是按照某种策略从就绪队列中选取一个进程,将 CPU 分配给它。 进程调度时操作系统中最基本的一种调度,在一般的操作系统中必须配置进程调度,进程调度的频率很高,一般是几十毫秒一次。