操作系统为什么需要进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

那么,有没有一刻让你有这么一个疑问,为什么操作系统需要进程?

我们平时在计算机/手机上面上网,打游戏,听歌,购物,实际上都是运行着一个又一个程序,程序,实际上是存储在硬盘里面的一些系统指令的组合,操作系统让这些指令运行起来,让你可以在电脑上做各种各样的事情。

执行这些指令一个核心部件是CPU,一个电脑/手机的CPU核心数量是有限的,那么,怎么让有限的CPU同时执行各种各样的程序呢?

操作系统通过时分共享来实现,时分共享是操作系统共享系统资源最基本的技术之一。假如操作系统上运行着5个程序,那么CPU每次运行一个程序,然后在下一个时间点,运行第二个程序,然后很快切到第三个程序。由于CPU切换得非常快,对于用户来说,就像5个程序同时运行起来一样。

但是,程序切换着运行说起来简单,时间上实现起来,却有一些问题需要解决。

运行时的上下文怎么保存,上一个程序运行到某个指令,下一次再运行这个程序的时候,要从上一次中断处重新运行,我们对此称之为机制。

同时,不同程序需要系统资源是不一样的,操作系统如何合理地进行调度,从而让系统达到更高的性能。

此外,每个程序都会占用一定的系统资源,例如内存。怎么保证每个进程的资源安全与独立。

所以,操作系统迫切需要需要一个抽象,这个抽象可以让操作系统轻松地明白,这个程序是否正在运行、上一次CPU运行到哪一个指令、程序的资源状态。而这个抽象,我们就把它称之为进程。

下一篇
« Prev Post
上一篇
Next Post »