triforce / minos

A minimal bare bones operating system based on a monolithic kernel design written purely in Assembly language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

minOS

A minimal bare bones operating system based on a monolithic kernel design written purely in Assembly language.

Legacy boots from a pre-built disk image with planned support for GRUB multiboot.

Kernel size: 8 KiB

Current OS Features

  • Single threaded processes
  • CLI
  • Preemptive scheduler

Minimum Hardware Requirements:

  • RAM: 20 MiB
  • CPU: x86-64

Microprocessors tested on:

  • Intel Pentium 4
  • Intel Core 2

I want to say a big thanks to the Flat Assembler community (http://flatassembler.net) for their help and advice - The boards are full of great examples and I hope they inspire more to take up assembly programming.

Directory Structure

kernel/apps - Userspace applications

kernel/boot - Boot related

kernel/dev - Devices and drivers

kernel/inc - Misc

kernel/mem - Memory management

kernel/sys - Core system

Quickstart

Want to jump right in and run minOS? Follow these simple steps...

Install the required software on your GNU/Linux distribution:

Ubuntu/Debian: apt-get install bochs fasm

Arch: pacman -S bochs | (install fasm from the aur, for example using aurget: aurget -S fasm)

Clone this repo:

git clone https://github.com/triforce/minos.git

Switch to the minos build directory and build the image:

cd minos/build && make

Switch back to the root dir and run minOS in the Bochs emulator:

cd .. && bochs -f emulators/bochs-<ubuntu|arch>

About

A minimal bare bones operating system based on a monolithic kernel design written purely in Assembly language

License:GNU General Public License v2.0


Languages

Language:Assembly 97.9%Language:C++ 0.9%Language:Makefile 0.9%Language:PHP 0.4%