These are my personal notes on OS development, part of my [Gila microkernel project](https://git.shibedrill.site/shibedrill/gila). These notes are in the form of an Obsidian vault, and many features will be unavailable if you are simply viewing it through Gitea. ## Table of Contents - [[Physical & Virtual Memory]] - [[Physical & Virtual Memory#Physical Memory|Physical Memory]] - [[Physical & Virtual Memory#Virtual Memory & Pages|Virtual Memory & Pages]] - [[Physical & Virtual Memory#Pages|Pages]] - [[Physical & Virtual Memory#32-Bit Paging|32-Bit Paging]] - [[Physical & Virtual Memory#Address Translation Example|Address Translation Example]] - [[Physical & Virtual Memory#32-Bit PAE|32-Bit PAE]] - [[Physical & Virtual Memory#64-Bit Paging|64-Bit Paging]] - [[Registers]] - [[Registers#General Purpose Registers|General Purpose Registers]] - [[Registers#Pointer Registers|Pointer Registers]] - [[Registers#Segment Registers|Segment Registers]] - [[Registers#EFLAGS Register|EFLAGS Register]] - [[Registers#Control Registers|Control Registers]] - [[Registers#CR0|CR0]] - [[Registers#CR2|CR2]] - [[Registers#CR3|CR3]] - [[Registers#CR4|CR4]] - [[Registers#CR8|CR8]] - [[Rings & Privilege Levels]] - [[Rings & Privilege Levels#Process vs. Kernel|Process vs. Kernel]] - [[Rings & Privilege Levels#Context Switching|Context Switching]] - [[Rings & Privilege Levels#Interrupts & System Calls|Interrupts & System Calls]]