tg-task-manage 0.1.0-preview.1

Task and process management for rCore tutorial OS, including scheduling and relationships.
Documentation

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.