cpu管理为操作系统的核心功能,为了提高cpu的利用率,使计算机的资源得到充分利用,操作系统引入了多道程序设计概念。多道程序设计是指同时把多个程序放入计算机中的内存,并允许它们交替执行,从而共享计算机系统的软硬件资源。当正在运行的程序因某种原因如输入输出请求而暂停执行时,cpu就立刻转去执行另一道程序,这样不仅cpu得到充分利用,而且还提高了输入输出设备,I/O设备和内存的利用率。
以进程为基本单位来实现cpu的分配与执行。
程序的顺序执行有以下三个特点,顺序性,封闭性,可再现性。
程序的并发执行,多道程序环境下,程序并发执行了与单道程序环境下程序顺序执行不同的特性。间断性,失去了封闭性,不可再现性。
程序是完成某一特定功能的指令续集是一个静态概念。而cpu的执行活动则是程序的执行过程,是一个动态的概念。
进程的特征:动态性,并发性,独立性,异步性,结构性(每个进程都是由程序段,数据段以及pcb这三部分组成。Pcb是Process control block进程控制块)
进程与程序之间无一一对应关系,既然进程是程序的一次执行,那么一个程序的多次执行可以产生多个进程,而不同的进程也可以包含同一个程序。
具有挂起状态进程的状态转换。
活动阻塞态挂起,变成了静止阻塞态。
进程由内存换出至外存状态变化。如果当前不存在活动就绪进程,则至少有一个活动阻塞进程由内存对换之外存成为静止阻塞进程,腾出内存空间,从外存调入一个静止就绪进程使其变为活动就绪进程。保证内存中至少有一个活动就绪进程可供进程调度程序调度运行,以免cpu空闲。
静止阻塞态激活变为活动阻塞态。
操作系统已经得知,导致该进程阻塞的事件即将结束。内存中已经有了一大块空闲的时间。
静止阻塞态变为静止就绪态。
外存上的静止阻塞进程所需资源得到满足或者等待的事件已经完成时。此时依然存在于外存。
静止就绪态激活变为活动就绪态。
外存上的静止就绪进程具有比内存中活动就绪进程更高的优先级,内存中已经有了一大块空闲的时间,当前内存中没有活动就绪进程。
活动就绪态挂起变为静止就绪态。
这种状态变化主要是由系统调节负荷。主要是由于内存紧张。或者是系统性能优化的需求,而将目前暂不需要运行的活动就绪进程由内存转换出至外存。
运行态挂起变为静止就绪态。
这种状态变化主要是运行程序出现了错误或异常,或者对运行进程进行分析的需要。可见只有处于活动就绪态的进程,才能参与进程得到cpu。并在获取cpu后立刻投入运行。而处于静止就绪态的进程,只有先成为活动就绪态(从外存调入到内存)后才可能被进程调度程序选中,获得cpu运行。