Skip to content

Complement OS - A minimal operating system targeting 32-bit x86 (IA-32) architecture.

Notifications You must be signed in to change notification settings

saliccio/complementOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

complementOS

Complement OS - A minimal operating system targeting 32-bit x86 (IA-32) architecture.

Motivation

The main reason behind developing an OS from scratch is to grasp and practice the main concepts behind software, hardware, low-level development, assemblers, compilers, linkers, loaders, and specifically IA-32 architecture.

I believe that reinventing the wheel is beneficial in many aspects.

Roadmap

General

  • 32-bit protected mode
  • ELF support

Booting

  • Custom bootloader (No GRUB)

Drivers

  • VGA (25x80)
  • PS/2 keyboard
  • PS/2 mouse
  • Sound card
  • Network interface controller

Interrupts

  • CPU Exceptions
  • IRQs
  • Programmable Interval Timer

Memory

  • Segmentation
  • Virtual memory (with paging)
  • Dynamic allocation (malloc)

Multiprocessing

  • Processes
  • Threads
  • Scheduling

Synchronization

  • Locks

Misc

  • Shell
  • System clock
  • Custom GUI

About

Complement OS - A minimal operating system targeting 32-bit x86 (IA-32) architecture.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published