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