UNIX进程管理
8.1 进程的基本概念
8.1.1进程
进程是正在执行的一个程序的实例,通常是由程序,数据集合和进程控制块(Process Control Block 简称PCB)三个部分组成。
程序部分 描述了进程所要完成的功能。
数据集合 包括两个方面的内容,即程序运行时所需要的数据部分和工作区。
进程控制块 含有进程的描述信息和控制信息,是进程动态特性的集中反映,它是系统对进程施行识别和控制的依据。
8.1.2 进程和程序的区别
1、 程序是静态概念,本身可以作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态地产生和消亡的。
2、 进程是一个能独立运行的单位,能与其他进程并发执行,进程是作为资源申请调度单位存在的,而通常的程序段是不能作为一个独立运行的单位的。
3、 程序和进程无一一对应关系。一个程序可以由多个进程共用;另一方面,一个进程在活动中有可顺序地执行若干个程序。进程不能脱离具体程序而虚设,程序规定了相应进程所要完成的动作。
8.1.3 父进程与子进程
1、 子进程是由另外一个进程所产生的进程,产生这个子进程的进程称为父进程。
2、 子进程继承某些父进程的环境,但子进程作为几个独立的进程也有它自己的环境。
3、 在UNIX系统中,使用系统调用fork创建进程。fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境。
4、 子进程共享父进程的文本段即代码段。父进程和子进程以并行的方式执行同一程序的不同分支。
8.1.4 进程的状态
S 进程由于等待某个事件而被封锁,又叫作“等待”。
R 这种状态的进程当前还没有运行,但只要核心调度到它,马上就可以投入运行,
又叫作“就绪”。
Z 僵尸状态。这样的进程已经完成了它的使命,不再存在,它给它的父进程留下一
个记录,包括了一个退出码和一些时间统计信息。
T 由于父进程的跟踪,通过信号停止的进程。
I 这样的进程虽然存在,但它既没有被封锁,也不可运行,这种状态是除进程0以外
所有进程的起始状态。
X 进程由于等待内存资源而被封锁。
O 进程正在运行,它或者在核心模式中运行,或者在用户模式中运行。
进程的三种基本状态
运行态 是指当前进程已分配到CPU,它的程序正在处理机上执行时的状态。处于这
种状态的进程个数不能大于CPU的数目。
就绪态 是指进程已具备运行条件,但因为其他进程正在占用CPU,所以暂时不能运行
而等待分配CPU的状态。一旦把CPU分配给它,它立即就可运行。
封锁态 是指进程因为等待某种事件的发生而暂时不能运行的状态。即处于封锁态的
进程尚不具备运行条件,即使CPU空闲,它也无法使用。这种状态有时也称
为不可运行状态或挂起状态。
8.1.5 进程调度
在unix系统中,由进程调度程序对进程运行进行合理安排,有分时和实时两种调度策略。
1、进程调度程序完成挑选进程,分配CPU的工作。
2、缺省情况下,UNIX操作系统使用分时调度策略,在运行中动态地调整进程的优先级,
以提供最佳响应时间。
3、UNIX系统同时提供一种实时调度策略,允许用户为每个进程指定一个固定的优先级,优
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 管理 进程 命令 系统 运行 文件 使用 一个 用户 CPU 可以 |
注册
个人空间
