Developing a Multithreaded Kernel From Scratch: Part Two - Module Two

Daniel McCarthy
Created by Daniel McCarthy
5.00 Star (1) 19H 46M 106 Lessons
Best Seller! Lifetime Access Certificate Included

About this course

This course is the continuation of Part 2 Module 1, where we continued building the 32-bit PeachOS kernel, into a fully functioning 64-bit multitasking operating system. In Part 2 Module 2, we take the project to the next level by continuing the development from Module 1. By the end of this course you will have a fully functioning 64-bit operating system capable of GUI windows, task scheduling and more. Keep reading for the full details.

Part 2 - Module 2 (This Module)

Module 2 builds directly on the work from Module 1 and focuses on turning the kernel into a full graphical operating system with multitasking, drivers, and a rich user experience.

You will:

— Expose standard C library functions (fopen, fread, etc.) to userspace through isr80h.
— Build the complete windowing system, with support for fully interactive GUI elements.
— Implement an NVMe SSD driver, enabling high-speed reads from modern solid-state storage.
— Add full PCI/PCIe support, including bridges, making the kernel capable of scanning and interacting with a wide variety of devices.

— Building a disk streamer cache to speed up program loading by 10x to 20x.
— Access a GitHub repository of user programs that you can run directly on your OS. You’ll even be able to submit pull requests to share your own user-space programs with other students in the course.

By the end of this module, you’ll have created a multi-threaded, 64-bit, GUI operating system from scratch bootable on modern hardware and extensible enough to run real user applications.

Skill Level Intermediate
Total Length 19H 46M
Lessons 106
Your Progress Start anytime

What you'll learn

  • This course is the continuation of Part 2 Module 1, where we continued building the 32-bit PeachOS kernel, into a fully functioning 64-bit multitasking operating system.
  • In Part 2 Module 2, we take the project to the next level by continuing the development from Module 1.
  • By the end of this course you will have a fully functioning 64-bit operating system capable of GUI windows, task scheduling and more.
  • Keep reading for the full details.