在理解进程这个东西之前,我们要先了解为什么需要进程,进程这个概念是怎么产生的
先来思考一个问题:在只有一个(或者少数数量)处理器的情况下,如果要一台计算机同时执行多个程序我们要怎么才能做到。
首先我们要明白同时执行多个程序即并发程序实质上是宏观上并行,微观上串行,所以要采取分时的策略,也就是给每个程序划分时间片的方式来运行,但是这样可能就会产生冲突。
比如有5个程序对打印机的使用,假定每一个程序都要打印一片不同的文章,但处理机时间的绝对分配下,每一个程序运行一个指令以后将处理机转给下一个程序运行,假定每条指令只打印一个字符,那这样打出来的文章就会乱套。
也就说多个程序在同时运行的时候,会互相干扰,而且多个程序在使用必须要独占的资源时要附加必要的限制条件(比如上面的打印机例子),在这样的情况下,我们必须给程序的运行划分独立的空间,使程序与程序之间在运行时互不干扰。在这里就引入了进程的概念,进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。你也可以这样理解,把每个进程想象成一条条的管道,而程序就在这些管道里面,然后这些管道按照系统的时间分配来运行里面的程序,由于每个管道都是互不干扰的,所以里面的程序也是互不干扰的。只有这样计算机才能同时执行多个程序而不发生冲突。
以上就是我对操作系统进程的了解,大家如果有更好的理解,欢迎留言。
接下来我还会更新操作系统进程管理控制等一系列内容,希望大家多多关注。