MentOS  0.8.0
The Mentoring Operating System
Public Attributes | List of all members
task_struct Struct Reference

this is our task object. Every process in the system has this, and it holds a lot of information. It’ll hold mm information, it’s name, statistics, etc.. More...

Public Attributes

pid_t pid
 The pid of the process.
 
pid_t sid
 The session id of the process.
 
pid_t pgid
 The Process Group Id of the process.
 
pid_t rgid
 The Group ID (GID) of the process.
 
pid_t gid
 The effective Group ID (GID) of the process.
 
uid_t ruid
 The User ID (UID) of the user owning the process.
 
uid_t uid
 The effective User ID (UID) of the process.
 
__volatile__ long state
 The current state of the process:
 
vfs_file_descriptor_tfd_list
 The current opened file descriptors.
 
int max_fd
 The maximum supported number of file descriptors.
 
struct task_structparent
 Pointer to process's parent.
 
list_head run_list
 List head for scheduling purposes.
 
list_head children
 List of children traced by the process.
 
list_head sibling
 List of siblings, namely processes created by parent process.
 
thread_struct_t thread
 The context of the processors.
 
sched_entity_t se
 For scheduling algorithms.
 
int exit_code
 Exit code of the process. (parameter of _exit() system call).
 
char name [TASK_NAME_MAX_LENGTH]
 The name of the task (Added for debug purpose).
 
mm_struct_tmm
 Task's segments.
 
int error_no
 Task's specific error number.
 
char cwd [PATH_MAX]
 The current working directory.
 
uint32_t sigreturn_addr
 Address of the LIBC sigreturn function.
 
sighand_t sighand
 Pointer to the process’s signal handler descriptor.
 
sigset_t blocked
 Mask of blocked signals.
 
sigset_t real_blocked
 Temporary mask of blocked signals (used by the rt_sigtimedwait() system call)
 
sigset_t saved_sigmask
 The previous sig mask.
 
sigpending_t pending
 Data structure storing the private pending signals.
 
struct timer_listreal_timer
 Timer for alarm syscall.
 
unsigned long it_real_incr
 Next value for the real timer (ITIMER_REAL).
 
unsigned long it_real_value
 Current value for the real timer (ITIMER_REAL).
 
unsigned long it_virt_incr
 Next value for the virtual timer (ITIMER_VIRTUAL).
 
unsigned long it_virt_value
 Current value for the virtual timer (ITIMER_VIRTUAL).
 
unsigned long it_prof_incr
 Next value for the profiling timer (ITIMER_PROF).
 
unsigned long it_prof_value
 Current value for the profiling timer (ITIMER_PROF).
 
termios_t termios
 Process-wise terminal options.
 
fs_rb_scancode_t keyboard_rb
 Buffer for managing inputs from keyboard.
 

Detailed Description

this is our task object. Every process in the system has this, and it holds a lot of information. It’ll hold mm information, it’s name, statistics, etc..


The documentation for this struct was generated from the following file: