快速业务通道

进程控制块(一)

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-09
今天学习了关于进程控制块的部分知识,只是觉得比较抽象,便在网上收集了一些信息和实例,以加深理解. 一、定义 进程控制块(PCB):系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进程的运动变化过程.系统利用PCB来控制和管理进程,PCB是系统感知进程存在的唯一标志.进程与PCB是一一对应的. 二、PCB存放的信息 在不同的操作系统中对进程的控制和管理机制不同,PCB中的信息多少也不一样,通常PCB应包含如下一些信息.   1、进程标识符 name每个进程都有一个唯一的标识符,可以是字符串,也可以是一个数字.   2、进程当前状态 status说明进程当前所处的状态.为了管理的方便,系统设计时会将相同的状态的进程组成一个队列,如就绪进程队列,等待进程则要根据等待的事件组成多个等待队列,如等待打印机队列、等待磁盘I/O完成队列等等.   3、进程相应的程序和数据地址,以便把PCB与其程序和数据联系起来.   4、进程资源清单.列出所拥有的除CPU外的资源记录,如拥有的I/O设备,打开的文件列表等.
Empire CMS,phome.net
  5、进程优先级 priority:进程的优先级反映进程的紧迫程度,通常由用户指定和系统设置.   6、CPU现场保护区 cpustatus:当进程因某种原因不能继续占用CPU时(如等待打印机),释放CPU ,这时就要将CPU的各种状态信息保护起来,为将来再次得到处理机恢复CPU的各种状态,继续运行.   7、进程同步与通信机制 用于实现进程间互斥、同步和通信所需的信号   量等.   8、进程所在队列PCB的链接字 根据进程所处的现行状态,进程相应的PCB参加到不同队列中.PCB链接字指出该进程所在队列中下一个进程PCB的首地址.   9、与进程有关的其他信息. 如进程记账信息,进程占用CPU的时间等. 三、linux下的task_struc进程控制块t数据结构 在linux中具体实现是 task_struct数据结构,它记录了一下几个类型的信息: 1.状态信息,例如这个进程处于可执行状态,休眠,挂起等. 2.性质,unix有很多变种,进程有自己独特的性质. 3.资源,资源的链接比如内存,还有资源的限制和权限等. 4.组织,例如按照家族关系建立起来的树(父进程,子进程等).
Empire CMS,phome.net
下面是这一个数据结构 struct task_struct {
/*
* offsets of these are hardcoded elsewhere - touch with care
*/
volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ //进程当前的状态
unsigned long flags; /* per process flags, defined below */ //反应进程状态的信息,但不是运行状态,定义见下
int sigpending; //进程收到了信号,但尚未处理
mm_segment_t addr_limit;
/* thread address space: //虚存地址上限
0-0xBFFFFFFF for user-thead
0-0xFFFFFFFF for kernel-thread
*/
struct exec_domain *exec_domain;
volatile long need_resched;
//与进程调度有关表示用户从系统空间按返回用户空间要执行的一次调度
unsigned long ptrace;

int lock_depth;
/* Lock depth */

/*
* offset 32 begins here on 32-bit platforms. We keep
* all fields in a single cacheline that are needed for
* the goodness() loop in schedule().
*/
long counter;
//与进程调度相关
long nice;
unsigned long policy; //实用于本进程的调度政策
struct mm_struct *mm;
int processor;
Empire CMS,phome.net
/*
* cpus_runnable is ~0 if the process is not running on any
* CPU. It''s (1 << cpu) if it''s running on a CPU. This mask

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号