tg-task-manage

Crates.iotg-task-manage
lib.rstg-task-manage
version0.1.0-preview.1
created_at2026-01-22 05:43:43.111078+00
updated_at2026-01-22 05:43:43.111078+00
descriptionTask and process management for rCore tutorial OS, including scheduling and relationships.
homepage
repositoryhttps://github.com/rcore-os/rCore-Tutorial-in-single-workspace
max_upload_size
id2060836
size23,302
Yiren Zhang (DeathWish5)

documentation

https://docs.rs/tg-task-manage

README

tg-task-manage

Crates.io Documentation License

任务管理模块,为 rCore 教学操作系统提供任务和进程管理功能,包括调度和关系管理。

功能特性

任务 ID 类型

自增不回收,任务对象之间的关系通过 ID 类型来实现:

  • ProcId - 进程 ID
  • ThreadId - 线程 ID
  • CoroId - 协程 ID

任务对象管理 (Manage trait)

对标数据库增删改查操作:

  • insert - 插入任务
  • delete - 删除任务
  • get_mut - 获取可变引用

任务调度 (Schedule trait)

队列中保存需要调度的任务 ID:

  • add - 任务进入调度队列
  • fetch - 从调度队列中取出一个任务

任务关系封装

使得 PCBTCB 内部更加简洁:

  • ProcRel - 进程与其子进程之间的关系
  • ProcThreadRel - 进程、子进程以及其地址空间内的线程之间的关系

Features

  • proc - 启用进程管理功能
  • thread - 启用线程管理功能

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Commit count: 242

cargo fmt