LearnOperatingSystem

2.1 动为进程,静为程序 -进程概论

作者:zobol

问1:发明进程的原因?

早在20世纪60年代,进程的思想就已经被IBM的工程师们构想出来,并且一直延续到今天。当时的计算机面临着,一段时间内要轮转并发执行多个任务的要求,这要求各个程序之间占据的内存空间互不干扰,程序通过统一的程序编号进行访问控制。

但是在编写操作系统的时候,我们不可能预料到未来会有什么样程序运行在它之上(什么样都有可能)。所以我们必须给所有运行在操作系统上的程序,再封装一次,让它们拥有一些共性,这样才能借此进行各种后续调度机制的设计。

进程是为了解决程序并发性和资源共享性而发明的。


问2:现在计算机中的进程的定义是什么?

进程Process,就是程序执行的过程。

对于进程的定义的含义,我们可以从多个角度进行理解:

可见进程强调的是执行的过程,如果把程序看作是一道数学题,进程表示的就是做题的过程(开始、暂停、做完、放弃)。进程跟处理器CPU的联系远大于跟程序的联系。


问3:为什么进程跟处理器的联系更密切?

虽然进程是由程序创造出来的,但是在程序创造完进程后,进程跟程序就没有关系了。

 操作系统更关心的是进程跟处理器的关系。

因为进程就相当于做事情,管理者更关心的肯定是做事的人和事情的关系。

从另外一个角度来看,程序在操作系统眼里,本质就是存储在硬盘上的一个二进制数组,根本不需要投入精力去管理。

但是进程却是实时运行在内存中的过程,时刻渴求着CPU给予足够的计算力,操作系统必须掌控住它的状态,因为CPU的算力同一时刻只能给一个进程。


问4:进程的主要特性有哪些?


问5:进程的主要状态:

注意:确定进程的状态,是考试和学习的重点

进程是操作系统学习的核心,是后续一切学习的基础,一定要多思考。
关键要理解两点 拥有独立的内存空间、跟CPU的五种状态