本文转自: http://blog.csdn.net/npy_lp/article/details/7335187
13、其他
(1)、用于保护资源分配或释放的自旋锁
(2)、进程描述符使用计数,被置为2时,表示进程描述符正在被使用而且其相应的进程处于活动状态。
(3)、用于表示获取大内核锁的次数,如果进程未获得过锁,则置为-1。
(4)、在SMP上帮助实现无加锁的进程切换(unlocked context switches)
(5)、preempt_notifier结构体链表
(6)、FPU使用计数
(7)、blktrace是一个针对Linux内核中块设备I/O层的跟踪工具。
(8)、RCU同步原语
(9)、用于调度器统计进程的运行信息
(10)、用于构建进程链表
(11)、to limit pushing to one attempt
补丁说明请参考:http://lkml.indiana.edu/hypermail/linux/kernel/0808.3/0503.html
(12)、防止内核堆栈溢出
在GCC编译内核时,需要加上-fstack-protector选项。
(13)、PID散列表和链表
(14)、do_fork函数
在执行do_fork()时,如果给定特别标志,则vfork_done会指向一个特殊地址。
如果copy_process函数的clone_flags参数的值被置为CLONE_CHILD_SETTID或CLONE_CHILD_CLEARTID,则会把child_tidptr参数的值分别复制到set_child_tid和clear_child_tid成员。这些标志说明必须改变子进程用户态地址空间的child_tidptr所指向的变量的值。
(15)、缺页统计
(16)、进程权能
(17)、相应的程序名
(18)、文件
fs用来表示进程与文件系统的联系,包括当前目录和根目录。
files表示进程当前打开的文件。
(19)、进程通信(SYSVIPC)
(20)、处理器特有数据
(21)、命名空间
(22)、进程审计
(23)、secure computing
(24)、用于copy_process函数使用CLONE_PARENT 标记时
(25)、中断
(26)、task_rq_lock函数所使用的锁
(27)、基于PI协议的等待互斥锁,其中PI指的是priority inheritance(优先级继承)
(28)、死锁检测
(29)、lockdep,参见内核说明文档linux-2.6.38.8/Documentation/lockdep-design.txt
(30)、JFS文件系统
(31)、块设备链表
(32)、内存回收
(33)、存放块设备I/O数据流量信息
(34)、I/O调度器所使用的信息(35)、记录进程的I/O计数
在Ubuntu 11.04上,执行cat获得进程1的I/O计数如下:
输出的数据项刚好是task_io_accounting结构体的所有成员。
(36)、CPUSET功能
(37)、Control Groups
(38)、futex同步机制
(39)、非一致内存访问(NUMA Non-Uniform Memory Access)
(40)、文件系统互斥资源
(41)、RCU链表
(42)、管道
(43)、延迟计数
(44)、fault injection,参考内核说明文件linux-2.6.38.8/Documentation/fault-injection/fault-injection.txt
(45)、FLoating proportions
(46)、Infrastructure for displayinglatency
(47)、time slack values,常用于poll和select函数
(48)、socket控制消息(control message)
(49)、ftrace跟踪器