Skip to content

San7o/povOS

Repository files navigation

povOS is an operating system for the PC, with ACPI.

NOTE: I am preparing to make the OS cross-architecture and multicore, this will take some time. Meanwhile I am developing a new bootloader, iperboot, check it out!

Features

  • custom bootloader
  • custom standard library
  • interrupts
  • input (supports multiple keyboard layouts)
  • textbuffer
  • framebuffer
  • console
  • tty
  • time tracking
  • sleep
  • memory management
    • physical memory management
    • paging
    • virtual memory manager
    • free-list based memory allocator
    • heap
    • higher half kernel, RAM mapped in high memory
  • multitasking
    • tasks
    • context switching
    • scheduler
    • semaphores
    • mutexes
    • spinlocks
  • filesystem
    • virtual filesystem
  • random number generation
  • logging
  • drivers:
    • PS/2
    • UART
    • VGA
    • ISA
    • ATA
    • PIC (Programmable Interrupt Controller)
    • PIT (Programmable Interrupt Timer)
    • HPET (High Precision Event Timer)
    • Keyboard
    • ACPI
    • PCI/PCIe
    • edu
    • IOAPIC

The implementation is clean and readable, headers are documentation.

General overview of the programming environment:

board x86-system

Usage

Compile and run with qemu:

make -B && make qemu

Compile and run with bochs:

make -B && make bochs

Run inside GDB (with debug info):

./scripts/debug x86_64

About

povOS is an operating system for the PC, with ACPI

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors