进程管理的故事
这次我们来将一个关于进程管理的故事。。。
什么是进程管理
操作系统是替我们管理硬件的软件,所以与其说是进程管理,倒不如说是CPU管理来的贴切。
为什么要对CPU进行管理呢?
1.屏蔽CPU进行编程, 市面上的cpu那么多,我们每次换一块cpu执行就要更改我们的代码,很不方便。
2.对cpu的管理复杂且不安全, 我们希望能直接调用一个接口而不去管其中的细节。
所以,我们需要操作系统提供一个安全且可靠的机制来帮我们执行我们的程序。
一个简单的版本:直接执行
作为一个最简单且直接的思路,我们每次接收到用户的系统调用,我们就让cpu执行该代码,执行的时候不允许其他代码进入,执行完成后将结果返回。
怎么实现?
这个版本有一个前提,那就是我们需要一个唯一的标识来识别我们的程序,这就是进程的由来。
进程是一段代码在一个数据集上的一次执行
这是进程的定义,注意,同一段代码执行两次也算不同的进程。
进程是一个抽象的概念,那么进程在系统中是如何定义的呢?
我们通过进程控制模块(processor control module),又叫PCB模块来实现我们的进程。
在这个版本,我们的PCB
只需要包含进程描述信息就可以了: