5 repository-uri
Procedures for switching processor execution states to enable advanced hardware features.
Distinguishing note: Distinct from general execution modes: focuses on low-level CPU state transitions like real-to-protected mode.
Explore 5 awesome GitHub repositories matching operating systems & systems programming · Processor Mode Transitions. Refine with filters or upvote what's useful.
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
Implements transitions between different processor privilege levels using system registers and return instructions.
This project is an educational resource and technical reference for building operating systems from scratch. It provides a comprehensive guide to mastering x86 architecture and implementing core kernel components by writing code that executes directly on hardware without the support of standard libraries or operating system abstractions. The materials focus on low-level systems engineering, teaching users how to interpret technical datasheets to manage hardware resources. It covers the fundamental mechanics of bare-metal programming, including the use of assembly language to define execution
Covers transitioning the processor from real mode to protected mode to enable advanced memory management.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Transitions the processor from real mode to protected mode and initializes memory segments during kernel bootstrapping.
30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro
Transitions the CPU from 16-bit real mode to 32-bit protected mode to enable flat memory addressing.
Acest proiect este o colecție de sisteme de operare minimale, bootloadere și drivere hardware utilizate pentru a demonstra programarea de nivel jos x86 și interfațarea hardware. Servește drept toolkit de dezvoltare a kernel-ului și laborator de programare de sistem conceput pentru testarea conceptelor de arhitectură și a comportamentului hardware într-un emulator de sistem. Repository-ul oferă implementări de referință pentru crearea de imagini de disc bootabile și încărcarea etapelor kernel-ului. Include ghiduri pentru implementarea tranzițiilor în modul protejat, paginarea memoriei, tabelele descriptorilor de întrerupere și multiprocesarea simetrică pe hardware x86. Codebase-ul acoperă o gamă largă de primitive de sistem, inclusiv maparea memoriei virtuale, gestionarea întreruperilor hardware și detectarea memoriei fizice. Conține, de asemenea, drivere bare-metal pentru difuzorul PC, tastatura PS/2, porturile seriale și bufferele de text VGA. Proiectul include un toolchain binar brut pentru a compila sursa de asamblare în imagini pentru execuție hardware directă și suportă testarea prin emulare hardware și debugging la distanță.
Implements the transition from 16-bit real mode to 32-bit protected mode using the Global Descriptor Table.