Registry and dispatcher for I/O devices.
Abstract clock interface for simulation time.
Strategy interface that executes dispatch/tick across dispatcher lanes.
Interface for process lifecycle dispatch orchestration.
Abstract execution engine interface.
Abstract file-system interface.
Kernel I/O manager interface.
Abstract interface for the Memory Management Unit.
Abstract interface for linear addressable memory.
Scheduler abstraction managing process state queues.
Tracer interface used by kernel subsystems.
Abstract interface for virtual memory management.
Registry/mediator for named IPC channels.
KernelBuilder & operator=(const KernelBuilder &)=delete
Copy assignment is disabled.
KernelBuilder & withClock(std::unique_ptr< IClock > clock)
Injects simulation clock dependency.
KernelBuilder & withFileSystem(std::unique_ptr< IFileSystem > fileSystem)
Injects filesystem dependency.
KernelBuilder & withMmu(std::unique_ptr< IMMU > mmu)
Injects MMU dependency.
Result< std::unique_ptr< IKernel > > build()
Builds a kernel instance from explicitly injected dependencies.
KernelBuilder & withRuntime(std::unique_ptr< IDispatchRuntime > runtime)
Injects a dispatch runtime whose lifetime is managed by the kernel.
KernelBuilder & withVirtualMemory(std::unique_ptr< IVirtualMemory > virtualMemory)
Injects virtual memory dependency.
KernelBuilder & withCpu(std::unique_ptr< ICPU > cpu)
Injects CPU dependency.
KernelBuilder & withExecutionEngine(std::unique_ptr< IExecutionEngine > executionEngine)
Injects execution-engine dependency.
KernelBuilder & withTracer(std::unique_ptr< ITracer > tracer)
Injects tracing dependency.
KernelBuilder & withDeviceManager(std::unique_ptr< DeviceManager > deviceManager)
Injects device manager dependency.
KernelBuilder & withScheduler(std::unique_ptr< IScheduler > scheduler)
Injects scheduler dependency.
KernelBuilder(const KernelBuilder &)=delete
Copy construction is disabled.
KernelBuilder & withDispatcher(std::unique_ptr< IDispatcher > dispatcher)
Injects dispatcher dependency.
KernelBuilder()
Creates an empty builder with no pre-wired dependencies.
std::unique_ptr< Impl > impl_
KernelBuilder & withDefaultTickBudget(std::size_t ticks)
Configures default dispatcher tick budget used by Kernel::tick(0).
KernelBuilder & withIoManager(std::unique_ptr< IIoManager > ioManager)
Injects unified I/O manager dependency.
KernelBuilder & withSyscallTable(std::unique_ptr< SyscallTable > syscallTable)
Injects syscall table dependency.
~KernelBuilder()
Destroys the builder and any still-owned dependency objects.
KernelBuilder & withMemory(std::unique_ptr< IMemory > memory)
Injects physical memory dependency.
KernelBuilder(KernelBuilder &&) noexcept
Move-constructs builder state.
KernelBuilder & withIpcManager(std::unique_ptr< IpcManager > ipcManager)
Injects IPC manager dependency.
A result type that holds either a success value of type T or an ErrorCode.
Dispatch table mapping SyscallId to handler functions.
IKernel facade interface for top-level kernel operations.
Dependency bundle used to construct a Kernel.