进程调度
进程调度:是指进程调度程序,主要负责决定将哪个进程投入运行,何时运行以及运行多长时间;可以认为是在可运行态进程之间分配有限的处理器时间的内核子系统
调度程序:最大限度利用处理器时间(可理解为最大程度上减少cpu的空闲时间),当cpu数少于待运行进程数时,这时会有一些进程等待,调度程序需要选择一个来执行(基本工作)
一、多任务
多任务操作系统:同时并发地交互执行多个进程的操作系统
多任务系统的分类(所有unix变体包括Linux提供抢占式的多任务模式):
非抢占式多任务:指的是除非进程自己主动停止运行,否则它会一直执行;特殊情况进程主动挂起给其他进程让步
抢占式多任务:由调度程序来决定何时停止进程的运行,一便调度其他进程。(抢占和进程时间片)
- 抢占:指在调度过程中强制的挂起动作
- 进程时间片:分配给每个可运行进程的处理器时间段,有效管理时间片可以避免个别进程独占系统资源(现代操作系统都采用动态时间片计算方式)
- 让步:缺点调度程序无法做统一规定,如果一个绝不让步的悬挂进行会使 系统崩溃
二、策略
策略:指调度程序在何时让什么程序运行,主要需要平衡响应时间短和搞吞吐量
2.1、I/O消耗型和处理器消耗型的进程
进程可划分为:I/O消耗型和处理器消耗型
区别在于:
a