struct i387_struct
{
long cwd;            // 控制字(Control word)。
long swd;            // 状态字(Status word)。
long twd;            // 标记字(Tag word)。
long fip;            // 协处理器代码指针。
long fcs;            // 协处理器代码段寄存器。
long foo;
long fos;
long st_space[20];        /* 8*10 bytes for each FP-reg = 80 bytes */
};
// 任务状态段数据结构(参见列表后的信息)。
struct tss_struct
{
long back_link;        /* 16 high bits zero */
long esp0;
long ss0;            /* 16 high bits zero */
long esp1;
long ss1;            /* 16 high bits zero */
long esp2;
long ss2;            /* 16 high bits zero */
long cr3;
long eip;
long eflags;
long eax, ecx, edx, ebx;
long esp;
long ebp;
long esi;
long edi;
long es;            /* 16 high bits zero */
long cs;            /* 16 high bits zero */
long ss;            /* 16 high bits zero */
long ds;            /* 16 high bits zero */
long fs;            /* 16 high bits zero */
long gs;            /* 16 high bits zero */
long ldt;            /* 16 high bits zero */
long trace_bitmap;        /* bits: trace 0, bitmap 16-31 */
struct i387_struct i387;
};struct task_struct{long state;          //任务的运行状态(-1 不可运行,0 可运行(就绪),>0 已停止)。
long counter;     //任务运行时间计数(递减)(滴答数),运行时间片。
long priority;      //运行优先数。任务开始运行时counter = priority,越大运行越长。
long signal;       //信号。是位图,每个比特位代表一种信号,信号值=位偏移值+1。
struct sigaction sigaction[32]; //信号执行属性结构,对应信号将要执行的操作和标志信息。
long blocked;    //进程信号屏蔽码(对应信号位图)。
int exit_code;    //任务执行停止的退出码,其父进程会取。unsigned long start_code  // 代码段地址。unsigned long end_code   //代码长度(字节数)。unsigned long end_data    //代码长度 + 数据长度(字节数)。unsigned long brk              //总长度(字节数)。unsigned long start_stack  //堆栈段地址。long pid      //进程标识号(进程号)。long father //父进程号。long pgrp   //父进程组号。long session  //会话号。long leader    //会话首领unsigned short uid    //用户标识号(用户id)。unsigned short euid  // 有效用户id。unsigned short suid   //保存的用户id。unsigned short gid    //组标识号(组id)。unsigned short egid  //有效组id。unsigned short sgid  //保存的组id。
long alarm;         //报警定时值(滴答数)。
long utime          //用户态运行时间(滴答数)。long stime          //系统态运行时间(滴答数)。long cutime        //子进程用户态运行时间。long cstime        //子进程系统态运行时间。long start_time   //进程开始运行时刻。
unsigned short used_math;  //标志:是否使用了协处理器。
int tty;             //进程使用tty 的子设备号。-1 表示没有使用。
unsigned short umask;   //文件创建属性屏蔽位。
struct m_inode *pwd;     //当前工作目录i 节点结构。
struct m_inode *root;     //根目录i 节点结构。
struct m_inode *executable;       //执行文件i 节点结构
unsigned long close_on_exec;   //执行时关闭文件句柄位图标志
struct file *filp[NR_OPEN];         //进程使用的文件表结构
struct desc_struct ldt[3];             //本任务的局部表描述符。0-空,1-代码段cs,2-数据和堆栈段ds&ss
struct tss_struct tss;                   //本进程的任务状态段信息结构。
};

task_struct源码相关推荐

  1. Linux的内核设计与实现之进程管理(含源码)

    Linux内核设计与实现--进程篇之进程管理 目录 概述 进程与线程 进程管理 进程描述符及任务结构 进程状态 进程上下文 线程创建 写时拷贝 fork() vfork() 创建线程 内核线程 进程终 ...

  2. linux内核 semaphore,2.4内核里semaphore源码的一个疑问

    博主你好, 请教一个问题. __down()里面有一段代码,  我觉得不那么保险.我先把__down的源码贴出来: ========================================== ...

  3. android 修改编译内核源码 对抗反调试

    0×00  写在前面 攻防对立.程序调试与反调试之间的对抗是一个永恒的主题.在安卓逆向工程实践中,通过修改和编译安卓内核源码来对抗反调试是一种常见的方法.但网上关于此类的资料比较少,且都是基于AOSP ...

  4. LDD3源码分析之字符设备驱动程序

    http://blog.csdn.net/liuhaoyutz/article/details/7383313 作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 编译 ...

  5. 深入分析Linux内核源码oss.org.cn/kernel-book/

    本html页面地址:http://oss.org.cn/kernel-book/ 深入分析Linux内核源码 前言         第一章 走进linux 1.1 GNU与Linux的成长 1.2 L ...

  6. 【Linux 内核 内存管理】虚拟地址空间布局架构 ② ( 用户虚拟地址空间组成 | 内存描述符 mm_struct 结构体源码 )

    文章目录 一.用户虚拟地址空间组成 二.内存描述符 mm_struct 结构体源码 一.用户虚拟地址空间组成 " 用户虚拟地址空间 " 包括以下区域 : ① 代码段 ② 数据段 ③ ...

  7. 【Linux 内核】实时调度类 ③ ( 实时调度类 rt_sched_class 源码 | 调度类 sched_class 源码 )

    文章目录 一.调度类 ( 停机调度类 | 限期调度类 | 实时调度类 | 公平调度类 | 空闲调度类 ) 二. 实时调度类 rt_sched_class 源码 一.调度类 ( 停机调度类 | 限期调度 ...

  8. 【Linux 内核】CFS 调度器 ⑤ ( CFS 调度器类 fair_sched_class 源码 | next 赋值 | enqueue_task 赋值 | dequeue_task 赋值 )

    文章目录 一.调度器类 sched_class 简介 二.CFS 调度器类源码 三.next 赋值 四.enqueue_task 赋值 五.dequeue_task 赋值 一.调度器类 sched_c ...

  9. 【Linux 内核】调度器 ② ( sched_class 调度类结构体源码 | 源码路径 linux-5.6.18\kernel\sched\sched.h )

    文章目录 一.调度器 二.sched_class 调度类结构体 一.调度器 上一篇博客 [Linux 内核]调度器 ( 调度器概念 | 调度器目的 | 调度器主要工作 | 调度器位置 | 进程优先级 ...

最新文章

  1. linux 网卡配置详情
  2. ibatis 的 This SQL map does not contain a MappedStatement的错误
  3. Phpstorm数组对齐设置
  4. Android Studio is on board
  5. 数据可视化机器学习工具在线_为什么您不能跳过学习数据可视化
  6. 探讨LoadRunner的并发用户和集合点
  7. 无插件,无com组件,利用EXCEL、WORD模板做数据导出(一)
  8. 插入公式_一个小工具,彻底帮你搞定在Markdown中插入公式的问题
  9. 聚能聊每周精选 第十一期
  10. js 验证文本框为数字的正则表达式
  11. 参数等效模型可以用于_扬声器单元的等效电路分析与应用(1)
  12. 【C语言】malloc,free(),strerror函数
  13. 2021年中国银行IT市场现状与格局分析,分布式架构促进国产化快速推进「图」
  14. android音乐16bit,16bit音乐是无损吗
  15. 环形10个树洞兔子c语言设计,树洞效应
  16. 用于分类的神经网络算法,图像识别神经网络算法
  17. OneZero第一次站立会议Sprint Planning Meeting(2016.3.21)
  18. cython代码编译和setup.py文件编写
  19. [轻笔记]Pytorch语义分割输出转换为图像显示
  20. 【线性DP】跳格子问题 + 光签题(取石子游戏)

热门文章

  1. java-分支重载以及构造方法
  2. 关于javascript闭包中的this对象
  3. 车联网技术对中老年人吸引力更大
  4. 电脑启动顺序(以Windows XP为例)
  5. Coolite 中GridView点击行中的按钮时跳转至不同的页面
  6. c语言中不能表示的整型常量进制,C语言中整型常量的表示方法
  7. 计算机网络技术包括哪几种,计算机网络技术包含的两个主要技术是计算机技术和( )。...
  8. 【python教程入门学习】七夕情人节表白|Python程序员的花式表白
  9. 七夕要到了,用Python比心表白
  10. vue 怎么在字符串中指定位置插入字符_Vue数组变更方法