OS的目标是在1保持控制权下2高性能的并发。
因此现在我们有两大问题需要解决:
1. 如何高性能地并发?
2. 如何保持OS对计算机的控制权?
(我们姑且只讨论在单CPU的机器上,运行微内核OS)
这篇博客中,我们先来回答这个问题:我们如何实现最基础的并发?
首先我们来回答一下什么是并发(concurrency)?并发就是在某一段时间内,一些程序交替执行。并发的概念应当与并行(parallel)的概念区分开,并发(concurrency)只需要一些程序在某一段时间内交替运行,而并行(parallel)则必须同时运行。
但如你所知,在冯诺依曼机上,程序不都是顺序执行的么?交替执行是什么鬼?这怎么可以能呢,这不可了能啊!没错,单个程序确实是顺序执行的,但我们也同样需要交替执行多个程序以提高资源利用率。但是仅仅“程序”的概念无法支持交替执行了,所以我们在程序的基础上加了一层抽象,将程序包装为:进程(process)。
得到了进程(process),然后呢?进程里边有个模块叫PCB(Process Control Block),顾名思义,利用这个模块操作系统可以控制进程。
(具体可以看这篇blog : https://blog.csdn.net/Dejan520/article/details/123477779)
综上,我们将程序(program)抽象为进程(process),如此OS就能更方便的控制程序的交替执行,并发的基础就搭好了!
标签:并发,process,程序,基础,交替,执行,OS,如何 From: https://www.cnblogs.com/hk416hasu/p/18139552