How amudhan015/myos works
This repository is a small 32-bit x86 kernel. Its intended user-to-result path is booting the kernel, initializing processor and memory facilities, then handling device input and presenting output. The tree also shows interrupt, timer, task, paging, and allocation subsystems. The README is empty, and sampled source does not include the kernel entry, keyboard, PIC, PIT, task, or GDT implementations, so their wiring is not inferred here; edges show only relationships supported by sampled code.
Main entry points: idt.c IDT Setup · pmm.c Frame Allocator · paging.c Paging · kmalloc.c Kernel Allocator
Components 24
Boot and CPU
- Boot Assembly
boot/boot.s - Kernel Entry
kernel/kernel.c - GDT Setup
kernel/gdt.c - GDT Assembly
kernel/gdt_asm.s
Interrupts and Tasks
- IDT Setup
kernel/idt.c - IDT Assembly
kernel/idt_asm.s - Exception Handler
kernel/isr.c - Exception Stubs
kernel/isr_asm.s - IRQ Stubs
kernel/irq_asm.s - IRQ Handling
kernel/irq.c - Task Scheduler
kernel/task.c - Context Switch
kernel/switch_asm.s
Memory Management
- Paging
kernel/paging.c - Frame Allocator
kernel/pmm.c - Kernel Allocator
kernel/kmalloc.c - Boot Memory Map
include/kernel/multiboot.h
Device I/O
- Keyboard Driver
kernel/keyboard.c - Terminal
kernel/terminal.c - Serial Output
kernel/serial.c - Interrupt Controller
kernel/pic.c - Timer Driver
kernel/pit.c
Other components
- Bootloader
- VGA Text Device
- Serial Port
Connections 8
- IDT Setup → Exception Stubs: installs exception gates
- IDT Setup → IRQ Stubs: installs IRQ gates
- IDT Setup → IDT Assembly: loads IDT
- Frame Allocator → Boot Memory Map: reads memory map
- Paging → Frame Allocator: allocates frames
- Kernel Allocator → Frame Allocator: allocates frames
- Terminal → VGA Text Device: renders viewport
- Serial Output → Serial Port: writes output