Skip to content

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

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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. I'm going to continue and improve this course in my free-time.

Source Code: All the system source code will be stored in the src directory. Each steps will contains links to the differents related files.

Contributions: This course is open to contributions, feel free to signal errors with issues or directly correct the errors with pull-requests.

Questions: Feel free to ask the questions by adding issues and please don't email me.

You can follow me on Twitter @SamyPesse or support me on Flattr or Gittip.

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.

Screen

Summary

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 modules: console, keyboard

Chapter 13: IDE Hard disks

Chapter 14: DOS Partitions

Chapter 15: EXT2 read-only filesystems

Chapter 16: Standard C library (libC)

Chapter 17: UNIX basic tools: sh, cat

Chapter 18: Lua interpreter

About

How to Make a Computer Operating System in C++

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages

  • C 78.8%
  • C++ 17.4%
  • Assembly 3.0%
  • Other 0.8%