进程的所有的信息在内核中的描述就是用 task_struct 这个结构体来描述的,通常也被叫做进程控制块 PCB (process control block)。
PCB是个很庞大的结构提,但是它所实现的功能大致可以分为一下几类:
1. 状态信息: 描述进程动态变化(就绪,等待,僵死态等)。
2. 链接信息:亲属关系(父进程,子进程,养父进程,兄弟进程)。
3. 各种标识符:描述进程(进程标识符,用户标识符)。
4. 进程间的通信信息:描述多个进程在同一任务上协作工作(管道,消息队列,共享内存,套接字)。
5. 时间和定时器信息:描述进程在生存周期使用CPU时间的统计,计费信息。
6. 调度信息: 描述进程优先级,调度策略等信息(静态优先级,动态优先级,时间片论转,高优先级以及多级反馈 队列等的调度策略)。
7. 文件系统信息:对进程使用文件情况的记录(文件描述符,系统打开文件表,用户打开文件表)。
8. 虚拟内存信息: 描述每个进程拥有的地址空间,也就是进程编译链接后形成的空间。
9. 处理器环境信息: 描述进程的执行环境(处理器的各种寄存器及堆栈),也是体现进程动态变化的主要场景。
内核是通过PCB对进程进行控制的。
阅读(1587) | 评论(0) | 转发(0) |