Contur 2
Educational OS kernel simulator
Loading...
Searching...
No Matches
contur::KernelDependencies Struct Reference

Dependency bundle used to construct a Kernel. More...

#include <kernel.h>

Public Attributes

std::unique_ptr< IClockclock
 Simulation clock implementation.
std::unique_ptr< IMemorymemory
 Physical memory backend.
std::unique_ptr< IMMUmmu
 Memory management unit implementation.
std::unique_ptr< IVirtualMemoryvirtualMemory
 Virtual memory manager.
std::unique_ptr< ICPUcpu
 CPU implementation used by execution engines.
std::unique_ptr< IExecutionEngineexecutionEngine
 Execution engine (interpreter or native).
std::unique_ptr< ISchedulerscheduler
 Scheduler implementation.
std::unique_ptr< IDispatcherdispatcher
 Dispatcher orchestrating process lifecycle.
std::unique_ptr< ITracertracer
 Tracer used for kernel-level event instrumentation.
std::unique_ptr< IFileSystemfileSystem
 File system service.
std::unique_ptr< DeviceManagerdeviceManager
 Device registry service.
std::unique_ptr< IIoManagerioManager
 Unified I/O manager service.
std::unique_ptr< IpcManageripcManager
 IPC manager service.
std::unique_ptr< SyscallTablesyscallTable
 Syscall dispatch table.
std::unique_ptr< IDispatchRuntimeruntime
 Optional dispatch runtime whose lifetime is managed by the kernel.
std::size_t defaultTickBudget = static_cast<std::size_t>(DEFAULT_TIME_SLICE)
 Default per-dispatch tick budget used when caller passes 0.

Detailed Description

Dependency bundle used to construct a Kernel.

Definition at line 31 of file kernel.h.

Member Data Documentation

◆ clock

std::unique_ptr<IClock> contur::KernelDependencies::clock

Simulation clock implementation.

Definition at line 34 of file kernel.h.

◆ cpu

std::unique_ptr<ICPU> contur::KernelDependencies::cpu

CPU implementation used by execution engines.

Definition at line 46 of file kernel.h.

◆ defaultTickBudget

std::size_t contur::KernelDependencies::defaultTickBudget = static_cast<std::size_t>(DEFAULT_TIME_SLICE)

Default per-dispatch tick budget used when caller passes 0.

Definition at line 80 of file kernel.h.

◆ deviceManager

std::unique_ptr<DeviceManager> contur::KernelDependencies::deviceManager

Device registry service.

Definition at line 64 of file kernel.h.

◆ dispatcher

std::unique_ptr<IDispatcher> contur::KernelDependencies::dispatcher

Dispatcher orchestrating process lifecycle.

Definition at line 55 of file kernel.h.

◆ executionEngine

std::unique_ptr<IExecutionEngine> contur::KernelDependencies::executionEngine

Execution engine (interpreter or native).

Definition at line 49 of file kernel.h.

◆ fileSystem

std::unique_ptr<IFileSystem> contur::KernelDependencies::fileSystem

File system service.

Definition at line 61 of file kernel.h.

◆ ioManager

std::unique_ptr<IIoManager> contur::KernelDependencies::ioManager

Unified I/O manager service.

Definition at line 67 of file kernel.h.

◆ ipcManager

std::unique_ptr<IpcManager> contur::KernelDependencies::ipcManager

IPC manager service.

Definition at line 70 of file kernel.h.

◆ memory

std::unique_ptr<IMemory> contur::KernelDependencies::memory

Physical memory backend.

Definition at line 37 of file kernel.h.

◆ mmu

std::unique_ptr<IMMU> contur::KernelDependencies::mmu

Memory management unit implementation.

Definition at line 40 of file kernel.h.

◆ runtime

std::unique_ptr<IDispatchRuntime> contur::KernelDependencies::runtime

Optional dispatch runtime whose lifetime is managed by the kernel.

When set, the kernel keeps the runtime alive for as long as the dispatcher needs it.

Definition at line 77 of file kernel.h.

◆ scheduler

std::unique_ptr<IScheduler> contur::KernelDependencies::scheduler

Scheduler implementation.

Definition at line 52 of file kernel.h.

◆ syscallTable

std::unique_ptr<SyscallTable> contur::KernelDependencies::syscallTable

Syscall dispatch table.

Definition at line 73 of file kernel.h.

◆ tracer

std::unique_ptr<ITracer> contur::KernelDependencies::tracer

Tracer used for kernel-level event instrumentation.

Definition at line 58 of file kernel.h.

◆ virtualMemory

std::unique_ptr<IVirtualMemory> contur::KernelDependencies::virtualMemory

Virtual memory manager.

Definition at line 43 of file kernel.h.


The documentation for this struct was generated from the following file: