Skip to content

This repository, contains the implementation of a 32-Bit Multi-threaded Kernel, based on the x86-64 architecture. It is setup for deployment on external drives, and utilizes a shell for CLI interfacing.

License

Notifications You must be signed in to change notification settings

MaximusNwider/x86-Kernel-OS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Developing a Multithreaded Kernel from Scratch

  • 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

  • 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

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

Primary Bullets

  • 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

About

This repository, contains the implementation of a 32-Bit Multi-threaded Kernel, based on the x86-64 architecture. It is setup for deployment on external drives, and utilizes a shell for CLI interfacing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published