Struct os::task::TASK_MANAGER
source · pub struct TASK_MANAGER {
__private_field: (),
}
Expand description
Global variable: TASK_MANAGER
Fields§
§__private_field: ()
Methods from Deref<Target = TaskManager>§
sourcefn run_first_task(&self) -> !
fn run_first_task(&self) -> !
Run the first task in task list.
Generally, the first task in task list is an idle task (we call it zero process later). But in ch3, we load apps statically, so the first task is a real app.
sourcefn mark_current_suspended(&self)
fn mark_current_suspended(&self)
Change the status of current Running
task into Ready
.
sourcefn mark_current_exited(&self)
fn mark_current_exited(&self)
Change the status of current Running
task into Exited
.
sourcefn find_next_task(&self) -> Option<usize>
fn find_next_task(&self) -> Option<usize>
Find next task to run and return task id.
In this case, we only return the first Ready
task in task list.
sourcefn run_next_task(&self)
fn run_next_task(&self)
Switch current Running
task to the task we have found,
or there is no Ready
task and we can exit with all applications completed
Trait Implementations§
source§impl Deref for TASK_MANAGER
impl Deref for TASK_MANAGER
§type Target = TaskManager
type Target = TaskManager
The resulting type after dereferencing.
source§fn deref(&self) -> &TaskManager
fn deref(&self) -> &TaskManager
Dereferences the value.
impl LazyStatic for TASK_MANAGER
Auto Trait Implementations§
impl Freeze for TASK_MANAGER
impl RefUnwindSafe for TASK_MANAGER
impl Send for TASK_MANAGER
impl Sync for TASK_MANAGER
impl Unpin for TASK_MANAGER
impl UnwindSafe for TASK_MANAGER
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more