Expand description
Process management module
This module provides the core process and thread management functionality for the VeridianOS microkernel, including:
- Process Control Block (PCB) management
- Thread creation and management
- Process lifecycle (creation, termination, state transitions)
- Global process table
- Memory space management
- Capability integration
Re-exports§
pub use lifecycle::exec_process;pub use lifecycle::fork_process;pub use lifecycle::wait_process as wait_for_child;pub use pcb::Process;pub use pcb::ProcessId;pub use pcb::ProcessPriority;pub use pcb::ProcessState;pub use table::get_process;pub use thread::Thread;pub use thread::ThreadId;pub use thread::ThreadState;pub use crate::arch::context::ArchThreadContext;pub use crate::arch::context::ThreadContext;
Modules§
- creation
- Process creation and setup
- cwd
- Per-Process Working Directory
- exit
- Process exit, cleanup, signals, and wait
- fork
- Process forking (copy-on-write)
- lifecycle
- Process lifecycle management
- loader
- User program loader
- memory
- Process memory management
- pcb
- Process Control Block (PCB) implementation
- session
- Session management for multi-user support
- signal_
delivery - Signal delivery to user-space signal handlers
- sync
- Process synchronization primitives
- table
- Global process table implementation
- thread
- Thread management implementation
- wait
- Process Wait/Exit Infrastructure
Constants§
- MAX_
PROCESSES - Maximum number of concurrent processes (including zombies awaiting reaping).
- MAX_
THREADS_ PER_ PROCESS - Maximum threads per process
Functions§
- alloc_
pid - Allocate a new process ID
- alloc_
tid - Allocate a new thread ID
- block_
thread - Block current thread
- clear_
boot_ current - Clear the boot-launched process tracking.
- create_
thread - Create a new thread in the current process
- current_
process - Get current process
- current_
thread - Get current thread
- exit_
thread - Exit current thread
- find_
process - Find process by ID
- get_
current_ process - Get current process (alias for compatibility)
- get_
process_ list - Get a list of all process IDs
- get_
thread_ tid - Get current thread ID
- init
- Initialize process management subsystem (legacy)
- init_
without_ init_ process - Initialize process management subsystem without creating init process
- set_
boot_ current - Register a boot-launched process as the current process.
- set_
thread_ affinity - Set thread CPU affinity
- terminate_
thread - Terminate a specific thread
- wake_
thread - Wake up a thread
- yield_
thread - Yield current thread