Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A 32bit multiboot OS kernel for IA32 (PC/AT) systems.
C Assembly C++
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
arch-ia32 Allow passing of void * param to irq handlers
drivers ata: Implement PIO reads
fs ata: Implement PIO reads
include ata: Implement PIO reads
kernel Allow passing of void * param to irq handlers
user Various fixes for latest gcc
COPYING Propaganda for v0.0.4
ChangeLog Receive side of serial driver
Makefile Use whole-program link-time optimisation Ugh
grub_script Track grub_script
menu.lst Initial commit scaraOS-0.0.3 plus gcc4 changes

ScaraOS: A modern multiboot kernel for learning OS fundamentals

Copyright (c) 2001-2010 Gianni Tedesco (gianni at scaramanga dot co dot uk)

Released under the terms of the GNU GPL version 3 (see: COPYING)

ScaraOS started out as a good way for me to learn a lot of interesting stuff all at once, things such as:

  • x86 assembly
  • deeper understanding of ia32
  • learning about the components of the IBM PC/AT
  • OS design fundamentals
  • How crap a typical PC BIOS is
  • How crap DOS is
  • How a computer system works as a whole, from hardware to BIOS, to bootloader, to kernel, to OS subsystems, to applications, to user interfaces.

ScaraOS might be of use to someone who also wants to write their own kernel for fun. If so they are free to use my code, which is under GPL. GPL ensures the spirit of co-operation and code sharing are passed on with my work.

Current features:

  • Mostly written in C
  • Multiboot compliant
  • Pre-emptive multi-tasking
  • Paged memory management including demand loading of files, anonymous memory areas and ELF binaries.
  • Virtual filesystem switch including inode and page cache
  • EXT2 support
  • Slab allocator
  • Block I/O subsystem
  • Floppy disk controller driver
  • 32bit protected mode
  • 8254 PIT support
  • 8259A PIC support
  • PCI support
  • VGA text mode output
  • PC serial driver
  • IDE hard disk driver

If you like and use this software then press to donate towards its development progress and email me to say what features you would like added.

Something went wrong with that request. Please try again.