Welcome to Custom OS, a minimalist operating system built entirely from scratch as a hands-on learning project. This OS is designed to explore the world of low-level system programming, hardware interaction, and core OS concepts like bootloaders, memory management, and basic kernel development.
- ๐งน Bootloader โ Handles the initial boot process (custom or GRUB-based).
- ๐ง Kernel โ A monolithic kernel with basic interrupt handling.
- ๐งฎ Memory Management โ Implements simple paging and memory allocation techniques.
- ๐น Basic Drivers โ Text-based I/O support for keyboard and screen.
- ๐ป Shell (Optional) โ A minimal CLI interface for command execution.
- Languages: C (for kernel logic), Assembly (for boot & low-level operations)
- Tools: GCC, NASM, QEMU (emulator), Make (build automation)
- Platform: ARM64
- GCC (cross-compiler recommended)
- NASM (assembler)
- QEMU (for virtualization)
- Make
- Clone the repository:
git clone https://github.com/your-username/custom-os.git cd custom-os - Build and run the OS with QEMU:
make run
- ๐งต Multitasking โ Introduce a basic process scheduler.
- ๐ Filesystem โ Develop a simple custom filesystem for file operations.
- ๐ฑ๏ธ Hardware Support โ Add drivers for mouse, disk, and other peripherals.
- ๐งช Testing Framework โ Add basic unit tests for kernel components.