我们为什么需要进程?

  我们为什么需要进程(Process)?

  1. 首先,什么是进程?

    进程,在非正式定义上是指运行中的程序 或 进行中的程序,是操作系统对程序的抽象。进程不只是程序,它是外存程序在内存的副本,一个程序可以有多个进程。

  2. 好,所以我们为什么需要进程(Process)来作为程序的抽象?

         因为在实际使用中,人们普遍希望在有限的计算资源上运行多个程序,即并发执行。故而现代操作系统普遍采用time-sharing的方式来cpu在时间尺度上分割为多个片段,每个程序运行一段时间,然后切换到下一个程序,这样多个程序就能共享CPU资源了。

         然而上述过程有个小缺点,程序本身不支持交替执行啊!冯诺依曼机器规定了程序是顺序执行的,最多跳转到其他指令,很难切换到其他程序啊。OS为了对多个“运行中的程序”进行管理与调度,因此引入了进程(Process)。进程中不仅包含程序的代码与数据, 还具有一个重要的数据结构 —— PCB(Process Control Block),使得OS能够便捷地控制“程序”的运行。

    具体可以看这篇blog : https://blog.csdn.net/Dejan520/article/details/123477779

 

  综上,我们现在可以回答“我们为什么需要进程”了 : 因为进程是并发的基础。通过进程自由地控制程序执行,OS终于可以开始实现并发了(激动)!

posted @ 2024-04-16 23:44  hk416hasu  阅读(58)  评论(0编辑  收藏  举报