为什么引入进程?

        我们知道,最早出现的OS是单道批处理系统,由于它是顺序执行程序的,即一个一个地按先到先执行的顺序依次执行。因此,CPU的高速性与I/O的低速性之间的矛盾很明显。为了缓解这个矛盾,人们引入了多道批处理系统,该系统让程序并发执行,即在一个程序发起I/O请求时CPU不再选择等待I/O完成,而是转去执行下一个程序。

        然而,由于发起I/O请求的程序而暂停的程序什么时候又重新执行?由此引入分时系统,它首先规定一个用户可接受的等待时间间隔,然后按这段时间内要执行的程序数目N将其划分成N段,其中每段叫做一个时间片。这就使得在一段时间内,每个等待执行的程序都可以得到执行——解决了等待程序的最长等待时间。

        但是,分时系统存在一个问题:

        本来该程序段由于并发性可能执行到第4行直接跳到第6行执行,最后输出结果11,这显然不对。因此要使程序执行结果正确,那么并发执行的最小单元不能是指令。为了解决这个问题,引入了进程——进程是一个具有实现某些功能的程序块,并规定CPU在进程内只能顺序执行,即就是进程是能并发执行的单元。

猜你喜欢

转载自blog.csdn.net/A_Pointer/article/details/79156438