Expand description
process and synchronization model
Modules§
- exec
- exec a user program by loading the binary and replace the current address space TODO rework this code, this is only POC
- loader
- a simple loader for statically linked elf.
- sched
- sync
- the sync module defines the OOStuBS prologue/epilogue synchronization model
for interrupt and preemptive scheduling. Read
docs/sync_model.md
for details - task
Functions§
- init
- this is an optimization: reserve spaces in sync array to avoid runtime
allocation inside of critical sections Note that the rust alloc collections
doesn’t have a API like “set this vec to at least xyz capacity.” so we can
only do a implicit
reserve
here. Meaning if this is called after the the queues receive elements, they will have more capacity than specified here. safety: this function assmues interrupt is disabled