HendOS is a custom, educational Unix-like operating system for x86-64, built from scratch in C and assembly. It features a modern kernel, UEFI boot, multitasking, virtual memory, a custom shell, and a userland with core utilities. The project demonstrates low-level systems programming, OS architecture, and hardware interfacing.
UEFI bootloader/stub, assembly startup, page-aligned kernel memory layout
Physical memory map parsing, PML4 page tables, virtual memory, page fault handling
IDT, ISRs for CPU faults, APIC/PIC, timer setup, context switch code
PCB design, fork(), ELF loader, user/kernel mode transitions, scheduler
PGID/SID, setsid(), signal definitions, signal delivery and masking
Keyboard driver, line discipline, TTY master/slave, job control, userland shell
File descriptor table per process, VFS abstraction, ext2 driver
Syscall mechanism, syscall table/dispatcher, minimal libc implementation
PID 1 init process, shell from init, system services
Cross-compiler toolchain, QEMU run script, disk image builder
kernel_main().kmalloc, kfree).fork() system call for process creation (copy-on-write semantics).execve(), exit(), waitpid() syscalls.setsid(), setpgid(), getpgid() syscalls.tcgetpgrp(), tcsetpgrp() for controlling terminal.int 0x80).malloc, free, printf, str*, open, close, read, write, fork, exec, wait, exit.init process launches at boot.init for user interaction.All userland programs are written in C and run in protected user mode, demonstrating process isolation and system call usage.
HendOS directory.cd HendOS
make
make run