ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 操作系统 >> Linuxjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播 >> 第二块和第三块 进程控制块的task_struct结构

第二块和第三块 进程控制块的task_struct结构(1/4)

来源:网络整理     时间:2016-08-28     关键词:第二块和第三块

本篇文章主要介绍了"第二块和第三块 进程控制块的task_struct结构",主要涉及到第二块和第三块方面的内容,对于Linuxjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 》进程控制块 在linux中进程信息存放在叫做进程控制块的数据结构中,每个进程在内核中都有?个进程控制块(PCB)来维护进程相关的信息,Linux内核...

》进程控制块

      在linux中进程信息存放在叫做进程控制块的数据结构中,每个进程在内核中都有?个进程控制块(PCB)来维护进程相关的信息,Linux内核的 进程控制块是task_struct结构体。在Linux中,这个结构叫做task_struct。
      task_struct是Linux内核的一种数据结构,它会被装载到RAM?并且包含着进程的信息。
每个进程都把它的信息放在 task_struct 这个数据结构?, task_struct 包含了这些内容:

》》》》》》
标?符 : 描述本进程的唯?标?符,?来区别其他进程。
状态 : 任务状态,退出代码,退出信号等。
优先级 : 相对于其他进程的优先级。
程序计数器: 程序中即将被执?的下?条指令的地址。
内存指针: 包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针
上下?数据: 进程执?时处理器的寄存器中的数据。
I/O状态信息:包括显?的I/O请求,分配给进程的I/O设备和被进程使?的?件列表。
记账信息: 可能包括处理器时间总和,使?的时钟数总和,时间限制,记账号等。

》》》》》》》
保存进程信息的数据结构叫做 task_struct,并且可以在 include/linux/sched.h ?找到它。
所有运?在系统?的

     在task_struct中存放的信息是非常多的,下面是整个结构体的内容,可以进行了解了解:

Linux中task_struct结构如下:

struct task_struct 
{
 volatile long state;     //说明了该进程是否可以执行,还是可中断等信息
 unsigned long flags;    //Flage 是进程号,在调用fork()时给出
 int sigpending;         //进程上是否有待处理的信号

 mm_segment_t addr_limit;  //进程地址空间,区分内核进程与普通进程在内存存放的位置不同   //0-0xBFFFFFFF for user-thead     //0-0xFFFFFFFF for kernel-thread
                  
 //调度标志,表示该进程是否需要重新调度,若非0,则当从内核态返回到用户态,会发生调度
 volatile long need_resched;
 int lock_depth;    //锁深度
 long nice;       //进程的基本时间片

第二块和第三块相关图片

第二块和第三块相关文章