|
contur2
|
| app | |
| main.cpp | |
| docs | |
| doxygen | |
| include | |
| contur | |
| arch | |
| block.h | Block — the fundamental unit of simulated memory |
| instruction.h | Instruction enum class — all opcodes for the bytecode interpreter |
| interrupt.h | Interrupt enum class — hardware and software interrupt codes |
| isa.h | ISA (Instruction Set Architecture) constants and helpers |
| register_file.h | Register enum class and RegisterFile — the CPU's register bank |
| core | |
| clock.h | IClock interface and SimulationClock implementation |
| error.h | Error codes and Result<T> type for fallible operations |
| event.h | Lightweight publish/subscribe event system (Observer pattern) |
| types.h | Common type aliases, sentinel constants, and forward declarations used throughout the Contur 2 kernel simulator |
| cpu | |
| alu.h | ALU — Arithmetic Logic Unit for the simulated CPU |
| cpu.h | Cpu — concrete implementation of the ICPU interface |
| i_cpu.h | ICPU — abstract interface for the CPU simulation |
| dispatch | |
| dispatcher.h | Dispatcher implementation |
| i_dispatcher.h | IDispatcher interface for process lifecycle orchestration |
| mp_dispatcher.h | Multiprocessor dispatcher orchestrating multiple child dispatchers |
| execution | |
| execution_context.h | ExecutionResult and related types for execution engine outcomes |
| i_execution_engine.h | IExecutionEngine — abstract interface for process execution engines |
| interpreter_engine.h | InterpreterEngine — bytecode interpreter execution engine |
| fs | |
| block_allocator.h | Bitmap-style block allocator for the simulated filesystem disk |
| directory_entry.h | Directory entry representation for SimpleFS |
| file_descriptor.h | File descriptor types and descriptor-table abstraction |
| i_filesystem.h | IFileSystem interface for file-system operations |
| inode.h | Inode types for the SimpleFS file-system simulation |
| simple_fs.h | Simple in-memory inode-based filesystem implementation |
| io | |
| console_device.h | ConsoleDevice — stdout output device simulation |
| device_manager.h | DeviceManager — registry and dispatcher for I/O devices |
| i_device.h | IDevice — abstract interface for I/O devices |
| network_device.h | NetworkDevice — simulated LAN output device |
| ipc | |
| i_ipc_channel.h | IIpcChannel interface for inter-process communication channels |
| ipc_manager.h | IpcManager registry for IPC channels |
| message_queue.h | MessageQueue IPC channel implementation |
| pipe.h | Pipe IPC channel implementation |
| shared_memory.h | SharedMemory IPC channel implementation |
| kernel | |
| i_kernel.h | IKernel facade interface for top-level kernel operations |
| kernel.h | Kernel facade implementation |
| kernel_builder.h | KernelBuilder dependency-injection assembler |
| memory | |
| clock_replacement.h | Clock (Second Chance) page replacement policy |
| fifo_replacement.h | FIFO page replacement policy — evicts the oldest loaded page |
| i_memory.h | IMemory interface — abstract linear addressable memory |
| i_mmu.h | IMMU interface — Memory Management Unit abstraction |
| i_page_replacement.h | IPageReplacementPolicy interface — pluggable page replacement algorithms |
| i_virtual_memory.h | IVirtualMemory interface — virtual address space management |
| lru_replacement.h | LRU page replacement policy — evicts the least recently used page |
| mmu.h | MMU implementation — translates virtual addresses to physical addresses |
| optimal_replacement.h | Optimal (Belady's) page replacement policy — educational only |
| page_table.h | PageTable — virtual-to-physical frame mapping with status bits |
| physical_memory.h | PhysicalMemory — RAM simulation backed by std::vector<Block> |
| virtual_memory.h | VirtualMemory — manages virtual address slots for processes |
| process | |
| i_process.h | IProcess — read-only interface for external consumers of process info |
| pcb.h | Process Control Block — metadata for a single process |
| priority.h | Process priority levels and the Priority struct |
| process_image.h | ProcessImage — the full in-memory representation of a process |
| state.h | ProcessState enum class and validated state transitions |
| scheduling | |
| fcfs_policy.h | First Come First Served scheduling policy |
| hrrn_policy.h | Highest Response Ratio Next scheduling policy |
| i_scheduler.h | IScheduler interface |
| i_scheduling_policy.h | ISchedulingPolicy interface for pluggable scheduling algorithms |
| mlfq_policy.h | Multilevel Feedback Queue scheduling policy |
| priority_policy.h | Dynamic priority scheduling policy |
| round_robin_policy.h | Round Robin scheduling policy |
| scheduler.h | Scheduler implementation hosting a pluggable policy |
| spn_policy.h | Shortest Process Next scheduling policy |
| srt_policy.h | Shortest Remaining Time scheduling policy |
| statistics.h | Scheduling statistics and CPU burst prediction |
| sync | |
| critical_section.h | CriticalSection wrapper composed over an ISyncPrimitive |
| deadlock_detector.h | Deadlock detection and prevention utilities |
| i_sync_primitive.h | ISyncPrimitive interface for synchronization objects |
| mutex.h | Mutex synchronization primitive |
| semaphore.h | Counting semaphore synchronization primitive |
| syscall | |
| syscall_handler.h | ISyscallHandler interface |
| syscall_ids.h | Syscall IDs for the user-kernel boundary |
| syscall_table.h | SyscallTable registry and dispatch for system calls |