[
previous |
index |
next ]
The Linux Task Structure:
- For every task the kernel maintains a task_struct
- task_struct contains all relevant information about a task.
- General:
- PID, PGRP, Program name
- Parent, youngest child, next sibling, previous sibling
- Process Times (start_time, utime, stime, cutime, cstime)
- Scheduling algorithm, priority, nice value, errno
- Process State
- Owner:
- UID, EUID, SUID, FSUID
- GID, EGID, SGID, FSGID
- Files:
- Information on all files opened by the process.
- Stored in the fs_struct sub-structure
- Memory:
- Information about the memory used by a process.
- IPC / Synchronization:
- Pointers to acquired Semaphores
- Bitmask of received Signals and associated Signal handlers
- Some other stuff...
- Linux stores all task_structs in a doubly linked list.