Skip to content

A very simple and tiny operating system targeting the x86 architecture.

License

Notifications You must be signed in to change notification settings

mjcheetham/tinyos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tinyOS

A tiny operating system for the x86 architecture.

This is a small operating system targeting the x86 architecture (32-bit) based off of various online tutorials. The aim is primarily that of learning, and is far from a useable, modern operating system(!)

Build status

Build Status

Features

  • Bootable! (using GRUB)
  • Set up basic memory segmentation
  • Set up paged virtual memory
  • Can recieve and handle basic software and hardware (IRQ) interrupts
  • Can print to the (VGA text-mode) screen
  • Heaped memory
  • File system
  • User-mode processes and executable loading

Building

  1. Install prerequisites
# Linux (Ubuntu)
$ apt install make gcc nasm genisoimage bochs-sdl

# macOS
$ brew install cdrtools bochs
  1. Restore external packages
$ ./init.sh
  1. Compile
$ make all
  1. Run in the Bochs emulator
$ make run

😊

About

A very simple and tiny operating system targeting the x86 architecture.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published