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

白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述Linux 内核进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )相关的知识,希望能为你提供帮助。




文章目录

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




【Linux 内核进程管理 task_struct 结构体 ⑤ ( files 字段 | nsproxy 字段 | 信号处理相关字段 | 信号量和共享内存相关字段 )】在 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_tblocked;
sigset_treal_blocked;
/* Restored if set_restore_sigmask() was used: */
sigset_tsaved_sigmask;
struct sigpendingpending;





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



下面的字段是用于 UNIX 系统环境下 , " 信号量 " 与 " 共享内存 " 相关字段 ;
#ifdef CONFIG_SYSVIPC
struct sysv_semsysvsem;
struct sysv_shmsysvshm;
#endif






    推荐阅读