Skip to content

siradam7th/CyanOS

 
 

Repository files navigation

centered image

CyanOS: A Hobbyist Operating System Build Status

Todo list

  • Paging and virtual memory.
  • Higher half kernel.
  • Interrupt dispatchers.
  • Dynamic virtual/physical memory allocation.
  • Heap allocator.
  • PIC.
  • Multi-threading.
  • Mutex/Semaphores.
  • Multi-programming.
  • User space.
  • Virtual File System.
  • FS: Pipes
  • System calls.
  • Inter-process communication.
  • PCI bus.
  • FS: fat32/ext2.
  • Keyboard driver.
  • GUI.
  • Network Driver.
  • USB.

Building CyanOS

Requirements

sudo apt-get update
sudo apt-get install build-essential g++-multilib nasm python cmake grub2 xorriso qemu

For Windows users, you can build and run the system on WSL(Windows Subsystem for Linux). Or you can build it using MinGW32, nasm and CMake and run it using qemu, though it still needs WSL to make a bootable ISO using grub2-rescue.

Building

git clone --recursive https://github.com/AymenSekhri/CyanOS.git
cd ./CyanOS
mkdir build && cd build
cmake ..
make && make test

And you can boot up the OS in Qemu using:

make run

Useful resources:

About

Coding an operating system to keep my sanity during the quarantine.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 82.6%
  • C 10.3%
  • Assembly 4.5%
  • CMake 1.5%
  • Python 1.1%