Skip to content

iofish/scaraOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

=======================================================================
ScaraOS: A modern multiboot kernel for learning OS fundamentals
Copyright (c) 2001-2010 Gianni Tedesco <gianni@scaramanga.co.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:
 o x86 assembly
 o deeper understanding of ia32
 o learning about the components of the IBM PC/AT
 o OS design fundamentals
 o How crap a typical PC BIOS is
 o How crap DOS is
 o 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:
 o Mostly written in C
 o Multiboot compliant
 o Pre-emptive multi-tasking
 o Paged memory management including demand loading of files, anonymous
   memory areas and ELF binaries.
 o Virtual filesystem switch including inode and page cache
 o EXT2 support
 o Slab allocator
 o Block I/O subsystem
 o Floppy disk controller driver
 o 32bit protected mode
 o 8254 PIT support
 o 8259A PIC support
 o PCI device enumeration
 o VGA text mode output

About

A 32bit mutiboot OS kernel for IA32 (PC/AT) systems.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 95.0%
  • Makefile 2.0%
  • Assembly 1.5%
  • C++ 1.5%