进程管理笔记一、进程的概念及其产生的背景
引言:计算机的根本特征是其本身为人造学科。进程从根本上说,是操作系统对CPU进行的抽象和装扮。关于进程的系列笔记,会由进程产生背景讲起,本篇是我们故事的起源。
一、进程产生的背景
1.1、单道处理系统—效率低下
在单道处理系统下,CPU和I/O设备的运行是串行的,即在程序进行输入输出时,CPU只能等待。CPU只能不断询问I/O操作是否完成,因而不能执行别的程序。由于I/O设备的运行速度相对于CPU来说实在太慢,这种让高速设备等待低速设备的状况效率较低。
1.2、改进策略—多道编程
人们想,能否将CPU运行和I/O设备的运行重叠起来而改善整个系统的效率呢?基于此想法,人们想起将多个程序同时加载到计算机里面,并发执行。这些同时存在于计算机内存中的程序就称为进程。进程让每个用户感觉到自己独占CPU,因此进程就是为了在CPU上实现多道编程而出现的概念,如下图1所示。
1.3、多道编程的好处
1)、提高CPU利用率
人们发明进程是为了支持多道编程,进行多道编程的目的则是提高计算机CPU的效率,或者说系统的吞吐量。
实例分析:假定一个进程有20%的时间使用CPU进行计算,另外80%的时间来进行I/O,如果使用单道编程,CPU的利用率为20%,但如果是同时运行两个这样的进程,则CPU的利用率将提高至36%(CPU仅在两个进程同时进行I/O时才处于闲置状态,因此利用率为1 - 0.8 * 0.8 = 0.36%)。
随着进程数量的增加,CPU的利用率会逐步提升,但提升的幅度则逐步降低,直到某个临界点时为止,这个临界点为多道编程的极限。之后CPU利用率的提升空间就很小了,进行进程切换带来的开销则变得非常明显。