Skip to content

Simple x86 kernel and partial but readable implementation of the C++ STL.

License

Notifications You must be signed in to change notification settings

Jacquwes/Kernel

Repository files navigation

Kernel

This project hosts an x86 kernel running with grub and a partial human readable implementation of the C++ Standard Library.

Pre-requisites

  • build-essential
  • bison
  • flex
  • libgmp3-dev
  • libmpc-dev
  • libmpfr-dev
  • texinfo
  • qemu-system-x86

You can use the command make to install all the required dependencies on WSL and Debian/Ubuntu.

Build

Run make build. The kernel can be debugged using gdb on localhost:1234.

Usage

Run make start, the kernel will start inside a qemu-i386 emulator.

Memory management

The kernel uses the information provided by Grub via the multiboot header to manage memory. Each chunk of memory contains a descriptive struct and acts like an element of a linked list.

Output

The kernel uses the VGA output in text mode.

About

Simple x86 kernel and partial but readable implementation of the C++ STL.

Topics

Resources

License

Stars

Watchers

Forks