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ยง
- TASK_
MANAGER - Global variable: TASK_MANAGER
- Task
Context - Task Context
- Task
Manager - The task manager, where all the tasks are managed.
- Task
Manager Inner - Inner of Task Manager
Functionsยง
- exit_
current_ and_ run_ next - exit current task, then run next task
- mark_
current_ ๐exited - exit current task
- mark_
current_ ๐suspended - suspend current task
- run_
first_ task - run first task
- run_
next_ ๐task - rust next task
- suspend_
current_ and_ run_ next - suspend current task, then run next task