|
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. |