0
点赞
收藏
分享

微信扫一扫

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



文章目录

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



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

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



一、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_SYSVIPC
struct sysv_sem sysvsem;
struct sysv_shm sysvshm;
#endif



举报

相关推荐

0 条评论