Chinaunix首页 | 论坛 | 博客
  • 博客访问: 372392
  • 博文数量: 47
  • 博客积分: 967
  • 博客等级: 准尉
  • 技术积分: 1290
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-25 16:14
文章分类

全部博文(47)

文章存档

2019年(1)

2014年(1)

2013年(9)

2012年(36)

分类: LINUX

2012-05-25 17:51:00

进程管理

讲进程之前还是先看看程序的相关概念吧!在未配置的的OS系统中,程序的执行方式是顺序执行,顺序执行里面的需要注意的就是前趋图,用于描述进程之间的相互关系!在多道程序环境下,则允许多个程序并发执行。程序并发执行时破坏了顺序执行时的三个特征顺序性、封闭性、可再现性。成为了间断性、失去封闭性和可现在性。

为使程序能够并发执行,且为了对程序加以描述和控制,我们引入了进程的概念。程序段,相关的数据段和PCB(进程控制块)三部分构成了进程实体。在早期的UNIX版本中,也成三部分为“进程映像”。

进程的实质就是进程实体的一次执行过程。因此,动态性是进程的最基本的特征。动态性好表现在“它由创建而产生,由调度而执行,由撤销而消亡”。可见,进程实体有一定的生命期,而程序则是一组有序指令的集合,并存放于某种介质上,其本身并不具有运动的含义,因而是静态的。进程还有其他的特征并发性、独立性、异步性。

进程的三种基本状态是就绪状态、执行状态、阻塞状态。

创建一个进程一般需要两个步骤,首先,为一个新进程创建PCB,并填写必要的管理信息;其次,把该进程转入就绪状态并插入到就绪队列中。创建进程有两种方式,一是操作系统创建,二是由父进程创建。系统调用fork是创建一个进程的唯一方法。

进程的终止也要通过两个步骤:首先等待操作系统进行善后处理,然后将其PCB清零。并将PCB空间返还系统。

阅读(1735) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~