DidgeridooMH / MercuryOS

A simple operating system written in C and Assembly

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MercuryOS Logo

Mercury OS is a simple operating system used to learn about the different concepts of OS design. It is written using C and Assembly and compiled using GCC. The kernel is loaded using GRUB. The objective is to make a lightweight, extensible platform that can run simple applications at high speeds.

Requirements

Installing:

  • 32-bit Processor or higher

  • 1GB of RAM

Developing:

  • GCC configured toolchain

  • LD linker

  • Nasm

  • QEMU or Bochs

Building

Build a tool chain as described by the OSDev wiki: OSDev Wiki.

To get nasm on linux systems use

sudo apt-get install nasm

Windows and MacOS sources and binaries are avaliable at Nasm.

To build use the makefile at the root directory.

Qemu can be used by executing

make run-qemu

Bochs is recommended for debugging and can be used with

make run-bochs

Features

  • Bootable image

  • Basic terminal output

  • GDT implementation

  • IRS implementation

  • IRQ implementation

  • Basic keyboard driver

  • Basic Timer

  • Refine keyboard driver

  • Extend and refine I/O drivers (Centralized Input and Output Function)

  • Userland shell

  • Filesystem support

  • Load ELF Executable

About

A simple operating system written in C and Assembly

License:GNU General Public License v3.0


Languages

Language:C 81.9%Language:Makefile 7.8%Language:Assembly 5.7%Language:C++ 4.1%Language:Dockerfile 0.4%