.gitignore | ||
boot.s | ||
gdt_flush.s | ||
gdt.c | ||
gdt.h | ||
grub.cfg | ||
idt_load.s | ||
idt.c | ||
idt.h | ||
interrupts.h | ||
io.c | ||
io.h | ||
irq_flush.s | ||
irq.c | ||
isr_flush.s | ||
isr.c | ||
kernel.c | ||
keyboard.c | ||
keyboard.h | ||
linker.ld | ||
Makefile | ||
README.md | ||
shell.c | ||
shell.h | ||
string.c | ||
string.h | ||
sys.c | ||
sys.h | ||
syscall.c | ||
syscall.h | ||
timer.c | ||
timer.h | ||
tss_flush.s | ||
tty.c | ||
tty.h | ||
user_space.c | ||
user_space.h | ||
vga.c | ||
vga.h |
Simple OS implementation
DeadOS is a minimalist operating system designed for x86 architecture, created solely for educational purposes. It is an ideal platform for learning and understanding the fundamental concepts of operating system development. While it is not intended to evolve into a fully-fledged OS, DeadOS provides a straightforward and manageable codebase that makes it perfect for experimentation and study.
Requirements
- make
- GCC Cross-Compiler
- QEMU
How to run
make
qemu-system-x86_64 -monitor stdio -cdrom deados.iso
Features
- Bootloader
- Kernel
- VGA Driver
- Keyboard Driver
- Shell
- Basic commands
- Timers
- Interrupts
- Kernel Extensions handling
- Paging
- [] Memory Management
- [] File System
- User Space
- Syscalls
- Multitasking
- [] stdlib