Tasklist: src/vm/task.rs
Kernel data structure representing all current tasks as a doubly linked list.
Sub lists are formed within this global list for tasks which are ready to run, waiting, running, ...
[x] task list
Process: src/vm/process.rs
A process has state, and is a kind of task. A process's state consists of:
[x] process identifier (usize)
[x] address space (represented as a balanced BST of things that implement dyn Resource)
[x] trapframe (struct TrapFrame; kernel trap handler, location, pc to return to and gp regs)
[x] process page table (vm::ptable::PageTable)
[x] hart context regs (struct HartContext; for ctx switch)
Hart: src/hw.rs
Abstraction of a riscv hart:
[x] hart id
[x] process
[x] hart context regs (for ctx switch)
Process state: src/vm/process.rs
Possible defined states a process can be in:
Tasklist:
src/vm/task.rs
Kernel data structure representing all current tasks as a doubly linked list. Sub lists are formed within this global list for tasks which are ready to run, waiting, running, ...Process:
src/vm/process.rs
A process has state, and is a kind of task. A process's state consists of:Hart:
src/hw.rs
Abstraction of a riscv hart:Process state:
src/vm/process.rs
Possible defined states a process can be in: