分类: LINUX
2012-05-25 17:51:00
进程管理
讲进程之前还是先看看程序的相关概念吧!在未配置的的OS系统中,程序的执行方式是顺序执行,顺序执行里面的需要注意的就是前趋图,用于描述进程之间的相互关系!在多道程序环境下,则允许多个程序并发执行。程序并发执行时破坏了顺序执行时的三个特征顺序性、封闭性、可再现性。成为了间断性、失去封闭性和可现在性。
为使程序能够并发执行,且为了对程序加以描述和控制,我们引入了进程的概念。程序段,相关的数据段和PCB(进程控制块)三部分构成了进程实体。在早期的UNIX版本中,也成三部分为“进程映像”。
进程的实质就是进程实体的一次执行过程。因此,动态性是进程的最基本的特征。动态性好表现在“它由创建而产生,由调度而执行,由撤销而消亡”。可见,进程实体有一定的生命期,而程序则是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。进程还有其他的特征并发性、独立性、异步性。
进程的三种基本状态是就绪状态、执行状态、阻塞状态。
创建一个进程一般需要两个步骤,首先,为一个新进程创建PCB,并填写必要的管理信息;其次,把该进程转入就绪状态并插入到就绪队列中。创建进程有两种方式,一是操作系统创建,二是由父进程创建。系统调用fork是创建一个进程的唯一方法。
进程的终止也要通过两个步骤:首先等待操作系统进行善后处理,然后将其PCB清零。并将PCB空间返还系统。