Skip to content

Latest commit

ย 

History

History
53 lines (36 loc) ยท 1.65 KB

File metadata and controls

53 lines (36 loc) ยท 1.65 KB

๐Ÿ–ฅ๏ธ Custom Operating System (OS)

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.


โš™๏ธ Key Features

  • ๐Ÿงน 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.

๐Ÿงฐ Technologies Used

  • Languages: C (for kernel logic), Assembly (for boot & low-level operations)
  • Tools: GCC, NASM, QEMU (emulator), Make (build automation)
  • Platform: ARM64

๐Ÿ› ๏ธ Getting Started

โœ… Prerequisites

  • GCC (cross-compiler recommended)
  • NASM (assembler)
  • QEMU (for virtualization)
  • Make

๐Ÿ“ฅ Installation

  1. Clone the repository:
    git clone https://github.com/your-username/custom-os.git
    cd custom-os
    
  2. Build and run the OS with QEMU:
    make run

๐ŸŽฏ Future Goals

  • ๐Ÿงต 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.