文章目录

  • 一、task_struct 结构体字段分析
    • 1、files 字段
    • 2、nsproxy 字段
    • 3、信号处理相关字段
    • 4、信号量和共享内存相关字段

在 Linux 内核 中 , " 进程控制块 " 是通过 task_struct 结构体 进行描述的 ; Linux 内核中 , 所有 进程管理 相关算法逻辑 , 都是基于 task_struct 结构体的 ;

task_struct " 进程描述符 " 结构体在 linux-5.6.18\include\linux\sched.h 头文件中 第 629629629 ~ 130013001300 行定义 ;

一、task_struct 结构体字段分析


1、files 字段

files 字段 , 是一个指针 , 指向 " 打开的文件表 " ;

 /* Open file information: */struct files_struct     *files;

2、nsproxy 字段

nsproxy 字段是 " 命名空间 " ;

 /* Namespaces: */struct nsproxy         *nsproxy;

3、信号处理相关字段

下面的几个字段 , 都是 " 信号处理 " 相关字段 ;

 /* Signal handlers: */struct signal_struct      *signal;struct sighand_struct __rcu     *sighand;sigset_t           blocked;sigset_t            real_blocked;/* Restored if set_restore_sigmask() was used: */sigset_t          saved_sigmask;struct sigpending     pending;

4、信号量和共享内存相关字段

下面的字段是用于 UNIX 系统环境下 , " 信号量 " 与 " 共享内存 " 相关字段 ;

#ifdef CONFIG_SYSVIPCstruct sysv_sem         sysvsem;struct sysv_shm         sysvshm;
#endif

【Linux 内核】进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )相关推荐

  1. 【Linux 内核】进程管理 task_struct 结构体 ① ( task_struct 结构体引入 | task_struct 代码示例 )

    文章目录 一.task_struct 结构体 二.task_struct 结构体代码示例 一.task_struct 结构体 在 Linux 操作系统 中 , 进程 作为 调度的实体 , 需要将其抽象 ...

  2. 【Linux 内核】进程管理 task_struct 结构体 ④ ( comm 字段 | 进程优先级字段 | cpus_ptr 字段 | mm、active_mm 字段 | fs 字段 )

    文章目录 一.task_struct 结构体字段分析 1.comm 字段 2.进程优先级字段 3.cpus_ptr 字段 4.mm.active_mm 字段 5. fs 字段 在 Linux 内核 中 ...

  3. 【Linux 内核】进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_cred、cred字段 )

    文章目录 一.task_struct 结构体字段分析 1.real_parent 字段 2.parent 字段 3.group_leader 字段 4.real_cred 字段 5.cred 字段 在 ...

  4. 【Linux 内核】进程管理 task_struct 结构体 ② ( state 字段 | stack 字段 | pid 字段 | tgid 字段 | pid_links 字段 )

    文章目录 一.task_struct 结构体字段分析 1.state 字段 2.stack 字段 3.pid字段 4.tgid 字段 5.pid_links 字段 在 Linux 内核 中 , &qu ...

  5. Linux内核-进程管理

    Linux内核-进程管理 引言 本文主要介绍Linux内核进程管理相关知识,包括进程描述符.进程创建.销毁.状态.线程的实现以及Linux进程相关命令等. 进程描述符 内核把进程的列表存放在叫做任务队 ...

  6. 挑战360无死角讲解Linux内核 进程管理,调度器的5种实现丨C++后端开发丨C/C++Linux服务器开发丨内核开发丨网络编程

    挑战360无死角讲解 进程管理,调度器的5种实现 1. 8500行 CFS是什么 2. RT调度器使用场景 3. IDLE/Dealine调度器 视频讲解如下,点击观看: 挑战360无死角讲解Linu ...

  7. Linux进程中task_struct结构体

    一.进程的定义: ①正在执行的程序: ②正在计算机上执行的实例: ③能分配给处理器并由处理器可以执行的实体. ④具有以下特征的活动单元: 一组指令序列的执行.一个当前状态和相关的系统资源. 进程的两个 ...

  8. linux内核网络协议栈--sk_buff结构体(四)

    一.struct sk_buff struct sk_buff {/* These two members must be first. */struct sk_buff *next;struct s ...

  9. Linux 内核网络协议栈 ------sk_buff 结构体 以及 完全解释 (2.6.16)

    在2.6.24之后这个结构体有了较大的变化,此处先说一说2.6.16版本的sk_buff,以及解释一些问题. 一. 先直观的看一下这个结构体~~~~~~~~~~~~~~~~~~~~~~在下面解释每个字 ...

最新文章

  1. 数据结构学习笔记(三):队列(queue)
  2. memcahce文章精选
  3. MySQL使用concat实现连接
  4. python 的钻石继承问题
  5. Windows下Git Bash Here怎么整个文件夹目录上传到代码仓库(不论GitHub、GitLab、Gitee、DevCloud)
  6. 职场上个人的核心技术_职场上,靠谱比聪明更重要:如何做一个靠谱的人
  7. 技巧 | 如何批量地将整型变量转换为因子变量
  8. java setcharat,Java StringBuilder setCharAt()方法
  9. 音响无声或声音不正常的原因有哪些?
  10. NC14709 奇♂妙拆分
  11. Win10设置分屏功能
  12. matlab共形映射程序,从共形映射角度看Schwarz引理
  13. 【每日新闻】工信部部长苗圩:软件是新一代信息技术的灵魂
  14. VGG16各层处理过程
  15. python word保存图_使用python matplotlib 画图导入到word中如何保证分辨率
  16. [洛谷P4233]射命丸文的笔记
  17. 大学里机器人比赛的那些事
  18. css基础语法与注释,简述CSS注释
  19. 两种方法配置yum仓库
  20. 计算机屏幕自己动,电脑显示器老是自动调整怎么办

热门文章

  1. 传智播客视频学习 ---- 字符串含义( C 语言中)
  2. java中System重定向输出流
  3. 修改boot.ini
  4. Windows 2003 server 服务器集群实例
  5. 四大原因可能让你拿到订单
  6. x+2y+3z=n的非负整数解数
  7. 城联数据TSM技术方案起底
  8. Python: The _imagingft C module is not installed错误的解决
  9. Gradle引人注目的特性集
  10. 安装class-dump