Expand description
Task management implementation
Everything about task management, like starting and switching tasks is implemented here.
A single global instance of TaskManager
called TASK_MANAGER
controls
all the tasks in the operating system.
Be careful when you see __switch
ASM function in switch.S
. Control flow around this function
might not be what you expect.
Modules
context 🔒
Implementation of TaskContext
switch 🔒
Rust wrapper around __switch
.
task 🔒
Types related to task management
Structs
Global variable: TASK_MANAGER
Task Context
The task manager, where all the tasks are managed.
Inner of Task Manager
Functions
exit current task, then run next task
exit current task
suspend current task
run first task
rust next task
suspend current task, then run next task