gaulthiergain / tinyOS

A tiny OS to understand very low-level stuff

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tinyOS

A small kernel to understand low-level concepts (work in progress).

What does it do?

The kernel contains the following features:

  • It is loaded via GRUB legacy;
  • It maps the first 3MB of memory;
  • It manages paging (+ segmentation);
  • It configures software and hardware interrupts;
  • It sets up the keyboard for input;
  • It writes some data to COM1 serial port;
  • It logs what it's doing to the screen.

Building

This code requires bochs or qemu as emulator(s).

  • cd ~/path/to/repo
  • make
  • make run for qemu or make run-bochs for bochs

References

About

A tiny OS to understand very low-level stuff


Languages

Language:C 82.5%Language:Assembly 11.2%Language:Objective-C 3.7%Language:Makefile 2.6%