Code Monkey home page Code Monkey logo

how-to-make-a-computer-operating-system's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.