Tanner / How-to-Make-a-Computer-Operating-System

How to Make a Computer Operating System in C++

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to Make a Computer Operating System

Caution: This repository is a remake of my old course. It was written several years ago as one of my first projects when I was in High School so it's normal if some parts of the code looks like "crap". The original course was in French and I'm not an English native.

Source Code: All the system source code will be stored in the src directory. Each steps of the course will be linked to a git tag.

What kind of OS are we building?

The goal is to build a very simple UNIX-based operating system in C++, but the goal is not to just build a "proof-of-concept". The OS should be able to boot, start an userland shell and be extensible.

Summary

Chapter 2: Setup the development environment

Chapter 3: First boot with GRUB

Chapter 4: Backbone of the OS and C++ runtime

Chapter 5: Base classes for managing x86 architecture

Chapter 6: GDT and IDT

Chapter 7: Memory management: physical and virtual

Chapter 8: Process management and multitasking

Chapter 9: External program execution: ELF files

Chapter 10: Userland and syscalls

Chapter 11: Modular drivers

Chapter 12: Some basics drivers: console, keyboard

About

How to Make a Computer Operating System in C++

License:Apache License 2.0