MentOS
0.8.0
The Mentoring Operating System
|
Process data structures and functions. More...
Go to the source code of this file.
Classes | |
struct | sched_entity_t |
This structure is used to track the statistics of a process. More... | |
struct | thread_struct_t |
Stores the status of CPU and FPU registers. More... | |
struct | task_struct |
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... | |
Macros | |
#define | TASK_NAME_MAX_LENGTH 100 |
The maximum length of a name for a task_struct. | |
#define | DEFAULT_STACK_SIZE (1 * M) |
The default dimension of the stack of a process (1 MByte). | |
Typedefs | |
typedef struct sched_entity_t | sched_entity_t |
This structure is used to track the statistics of a process. More... | |
typedef struct thread_struct_t | thread_struct_t |
Stores the status of CPU and FPU registers. | |
typedef struct task_struct | task_struct |
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.. | |
Functions | |
int | init_tasking (void) |
Initialize the task management. More... | |
task_struct * | process_create_init (const char *path) |
Create and spawn the init process. More... | |
Process data structures and functions.
typedef struct sched_entity_t sched_entity_t |
This structure is used to track the statistics of a process.
While the other variables also play a role in CFS decisions'algorithm, vruntime is by far the core variable which needs more attention as to understand the scheduling decision process.
The nice value is a user-space and priority 'prio' is the process's actual priority that use by Linux kernel. In linux system priorities are 0 to 139 in which 0 to 99 for real time and 100 to 139 for users. The nice value range is -20 to +19 where -20 is highest, 0 default and +19 is lowest. relation between nice value and priority is : PR = 20 + NI.
int init_tasking | ( | void | ) |
Initialize the task management.
task_struct* process_create_init | ( | const char * | path | ) |
Create and spawn the init process.
path | Path of the init program. |