Skip to content

suriyaaos/suriyaaos

Repository files navigation

suriyaaOS Travis Build Status

 

A simple, basic, open-sourced UNIX-like operating system built by Suriyaa.

Notice: This ReadMe only documents a subset of suriyaaOS's features. For additional documentation please see the suriyaaOS site.

 

What kind of OS is suriyaaOS built?

The goal is to build a very simple UNIX-based operating system in C++, not just a "proof-of-concept". The OS should be able to boot, start a userland shell, and be extensible.

The OS will be built for the x86 architecture, running on 32 bits, and compatible with IBM PCs. It also works as a virtual machine nearly on all similar computers like Windows, Mac & Linux.

Specifications & Features

  • Code in C++
  • x86-architecture -> 32-bits
  • Boot with (GNU) Grub
  • Kind of modular system for drivers (it's not really great)
  • Kind of UNIX style (again: It's not great)
  • Multitasking
  • ELF executable in userland (-> kernel.elf)
  • Modules (accessible in userland using /suriyaa/...):
    • IDE disks
    • DOS partitions
    • Clock
    • EXT2 (read only)
    • Boch VBE
  • Userland:
    • API Posix
    • LibC
    • "Can" run a shell or some excutables like Lua, ...
  • Supports ASCII and OSCII 8 standard scheme

Prerequisites

For a Physical Machine

Buy or build a computer using x86 architecture. It should be compatible with IBM PCs.

For a Virtual Machine

You will need Vagrant and VirtualBox or QEMU installed. Read the INSTALL.md file.

suriyaaOS in a Virtual Machine on a Mac PC

Progress

  • ✅ Compiles
  • ✅ Builds Image
  • ✅ Boots

Documentation

Find more information in these files:

License

Copyright © 2015-present Suriyaa Sundararuban. All rights reserved.

Distributed under the Apache License 2.0. See LICENSE.md file for more copyright informations.