|
SimpleKernel 1.17.0
|
#include <cpu_io.h>#include <etl/flags.h>#include <etl/intrusive_links.h>#include <array>#include <cstddef>#include <cstdint>#include "file_descriptor.hpp"#include "resource_id.hpp"#include "task_fsm.hpp"

Go to the source code of this file.
Classes | |
| struct | TaskAuxData |
| 非调度热路径的任务辅助数据 More... | |
| struct | TaskControlBlock |
| 任务控制块,管理进程/线程的核心数据结构 More... | |
| struct | TaskControlBlock::PriorityCompare |
| 任务优先级比较函数,优先级数值越小,优先级越高 More... | |
| struct | TaskControlBlock::WakeTickCompare |
| 任务唤醒时间比较函数,时间越早优先级越高 More... | |
| struct | TaskControlBlock::SchedInfo |
| 基础调度信息 More... | |
| union | TaskControlBlock::SchedData |
| 不同调度器的专用字段 (互斥使用) More... | |
Namespaces | |
| namespace | clone_flag |
| Clone 标志位常量 (用于 sys_clone 系统调用) | |
Typedefs | |
| using | Pid = size_t |
| 进程 ID 类型 | |
| using | ThreadEntry = void(*)(void *) |
| 线程入口函数类型 | |
| using | CloneFlags = etl::flags< uint64_t, clone_flag::kAllMask > |
| 克隆标志位 | |
| using | CpuAffinity = etl::flags< uint64_t > |
| CPU 亲和性位掩码 | |
| using | ThreadGroupLink = etl::bidirectional_link< 0 > |
| 线程组侵入式链表节点类型 | |
Enumerations | |
| enum class | SchedPolicy : uint8_t { kRealTime = 0 , kNormal = 1 , kIdle = 2 , kPolicyCount } |
| 调度策略 More... | |
Variables | |
| constexpr uint64_t | clone_flag::kVm = 0x00000100 |
| 共享地址空间 | |
| constexpr uint64_t | clone_flag::kFs = 0x00000200 |
| 共享文件系统信息 | |
| constexpr uint64_t | clone_flag::kFiles = 0x00000400 |
| 共享文件描述符表 | |
| constexpr uint64_t | clone_flag::kSighand = 0x00000800 |
| 共享信号处理器 | |
| constexpr uint64_t | clone_flag::kParent = 0x00008000 |
| 保持相同父进程 | |
| constexpr uint64_t | clone_flag::kThread = 0x00010000 |
| 同一线程组 | |
| constexpr uint64_t | clone_flag::kAllMask |
| 全部标志掩码 | |
| using CloneFlags = etl::flags<uint64_t, clone_flag::kAllMask> |
克隆标志位
Definition at line 48 of file task_control_block.hpp.
| using CpuAffinity = etl::flags<uint64_t> |
CPU 亲和性位掩码
Definition at line 51 of file task_control_block.hpp.
| using Pid = size_t |
进程 ID 类型
Definition at line 20 of file task_control_block.hpp.
| using ThreadEntry = void (*)(void*) |
线程入口函数类型
Definition at line 23 of file task_control_block.hpp.
| using ThreadGroupLink = etl::bidirectional_link<0> |
线程组侵入式链表节点类型
Definition at line 73 of file task_control_block.hpp.
|
strong |
调度策略
Task status type alias — backed by FSM state IDs
| Enumerator | |
|---|---|
| kRealTime | 实时任务 (最高优先级) |
| kNormal | 普通任务 |
| kIdle | 空闲任务 (最低优先级) |
| kPolicyCount | 策略数量 |
Definition at line 61 of file task_control_block.hpp.