Module task

Module task 

Source
Expand description

任务模块

包含任务的创建、调度、终止等功能 并由任务管理器维护所有任务的信息

Re-exports§

pub use task_manager::TASK_MANAGER;
pub use task_manager::TaskManagerTrait;
pub use task_state::TaskState;
pub use task_struct::FsStruct;
pub use task_struct::SharedTask;
pub use task_struct::Task as TaskStruct;
pub use cap::*;
pub use cred::*;
pub use futex::*;
pub use ktask::*;
pub use process::*;
pub use work_queue::*;

Modules§

cap 🔒
cred 🔒
futex 🔒
Futex 相关功能
ktask 🔒
内核任务相关功能实现
process 🔒
进程模块
task_manager 🔒
任务管理器模块
task_state 🔒
任务状态定义
task_struct 🔒
任务结构体定义
tid_allocator 🔒
简单的任务ID分配器实现
work_queue 🔒
任务工作队列模块

Functions§

current_fd_table
获取当前任务的文件描述符表
current_memory_space
获取当前任务的内存空间
current_task
获取当前task
forkret 🔒
新创建的线程发生第一次调度时会从 forkret 开始执行 该函数负责恢复任务的陷阱帧,从而进入任务的实际执行上下文
get_file
从当前任务的 FD 表中获取文件
notify_parent
通知父任务子任务状态变化
terminate_task 🔒
在任务结束时调用的函数 任务正常地执行完毕后通过创建时预先设置的寄存器跳转到该函数 该函数不会返回,负责清理任务资源并切换到下一个任务 参数: