进程是操作系统资源分配和调度的基本单位,也是操作系统的基础结构。如果说程序是指令、数据及其组织形式的描述,那么进程是程序的实体。
本文简单介绍了进程调度的意义,以及几种常见的进程调度算法的简单原理及优缺点。
进程调度的任务
- 保存处理机的现场信息:在调度其他进程之前先要保存当前进程的现场信息,比如寄存器中的内容等
- 按照算法选取进程:按照某种算法选择就绪队列中的一个进程,将其状态改为运行状态然后为其分配处理机资源
- 分配处理机资源给进程:分配处理器给进程,比如将进程的控制块中有关信息写入处理器相应的寄存器,让进程从上一次断点开始运行
调度方式
- 非抢占式:该方式一旦处理器被分配给一个进程就无法被其他进程剥夺。只有当前进程结束后释放资源或者当前进程阻塞其他进程才能使用处理器资源。
- 抢占式:这种方式下系统会根据某种原则暂停当前进程,从而把处理器资源让给其他进程。这样可以防止一个进程长时间占用系统资源。资源抢占的原则有:优先权原则、短进程优先原则、时间片原则几种。
短进程优先和先来先服务(FCFS)
进程的短进程优先和FCFS与作业调度相似,在此不做介绍。
参考:作业与作业调度
时间片轮转调度算法
时间片轮转算法是分时系统