5 repositorios
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.
Este proyecto es una colección de sistemas operativos mínimos, cargadores de arranque (bootloaders) y controladores de hardware utilizados para demostrar la programación de sistemas x86 de bajo nivel y la interconexión de hardware. Sirve como un kit de herramientas de desarrollo de kernel y un laboratorio de programación de sistemas diseñado para probar conceptos de arquitectura y comportamiento del hardware dentro de un emulador de sistema. El repositorio proporciona implementaciones de referencia para crear imágenes de disco arrancables y cargar etapas de kernel. Incluye guías para implementar transiciones de modo protegido, paginación de memoria, tablas de descriptores de interrupción y multiprocesamiento simétrico en hardware x86. La base de código cubre una amplia gama de primitivas de sistema, incluyendo mapeo de memoria virtual, manejo de interrupciones de hardware y detección de memoria física. También contiene controladores bare-metal para el altavoz de PC, teclado PS/2, puertos serie y búferes de texto VGA. El proyecto incluye una cadena de herramientas binarias crudas para compilar código fuente de ensamblador en imágenes para ejecución directa en hardware y admite pruebas mediante emulación de hardware y depuración remota.
Implements the transition from 16-bit real mode to 32-bit protected mode using the Global Descriptor Table.