一个线程/进程要经历5个状态,创建,就绪,运行,阻塞,终止。如下图是操作系统的线程/进程的状态模型:
今天我们重点研究一下进程由就绪到运行这一过程中的系统调度,在介绍调度算法之前先注明两点:
1.并发与并行的区别,并发指的是在一个时间段内,有几个进程都在同一个CPU上运行,但任意一个时刻点上只有一个在处理机上运行(这就要求多个进程之间来回切换);并行是指一个时间段内,多个进程在多个CPU上同时运行,并且多道进程之间互不干扰。
2.进程调度具有四条基本属性和三个基本状态:
基本属性:
1、多态性, 从诞生、运行,直至消灭;
2、多个不同的进程可以包括相同的程序;
3、三种基本状态 它们之间可进行转换;
4、并发性,并发执行的进程轮流占用处理器。
基本状态:
1、等待态:等待某个事件的完成;
2、就绪态:等待系统分配处理器以便运行;
3、运行态:占有处理器正在运行。
通常在并发运行中,CPU需要在多个进程之间来回切换,那么切换就有一些策略,这就是我们今天的主题---进程的调度算法:
一、先来先服务和短作业(进程)优先调度