-
Notifications
You must be signed in to change notification settings - Fork 57
Home
Developing a Multithreaded Kernel from Scratch
Welcome to our comprehensive kernel development course, meticulously designed for learners who are interested in creating a multitasking operating system and kernel from the ground up. This course assumes no previous experience in kernel programming, ensuring a complete understanding of concepts starting from the basics.
About this CourseThe course is divided into several main sections:
Real Mode Development
Protected Mode Development
Assembly Language Bonus
Each section offers a unique perspective on kernel development and is designed to build your skills incrementally. Real Mode Development
This is your introduction to kernel development, here we cover:
The boot process and how memory works
Writing a boot loader in assembly language
Working with interrupts in real mode
Reading a sector (512 bytes) from the hard disk
Protected Mode Development
Delve deep into the creation of a 32-bit multi-tasking kernel featuring:
FAT16 filesystem implementation
Memory management and virtualization techniques
Keyboard driver implementation
ELF file loader creation
Design of a virtual filesystem layer (inspired by Linux kernel)
Process and task functionality
Assembly Language Bonus
If you struggle with assembly language, this bonus section aims to bring your skills up to speed. Instructor
This course is taught by an experienced instructor who has developed Linux kernel modules professionally. Prerequisites
Understanding of the C programming language
Understanding of Assembly Language
Who is this course for?
This course is ideal for individuals interested in developing a kernel from scratch. What you'll learn
By the end of the course, you will acquire skills in:
Creating a kernel from scratch
Developing a multi-tasking kernel
Handling problematic programs in your operating system
Understanding how memory works in computers
Differentiating between kernel land, user land, and the protection rings
Learning kernel design patterns used by Linux
Understanding and implementing virtual memory
Developing processes and tasks in the kernel
Loading ELF files
Debugging disassembled machine code
Debugging your kernel in an emulator with GDB
Ready to begin your kernel development journey? Enroll in the course now with a special discount!