5 مستودعات
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.
هذا المشروع عبارة عن مجموعة من أنظمة التشغيل الدنيا، ومحملات الإقلاع (bootloaders)، ومشغلات الأجهزة المستخدمة لتوضيح برمجة أنظمة x86 منخفضة المستوى وربط الأجهزة. يعمل كمجموعة أدوات لتطوير النواة ومختبر لبرمجة الأنظمة مصمم لاختبار مفاهيم المعمارية وسلوك الأجهزة داخل محاكي النظام. يوفر المستودع تطبيقات مرجعية لإنشاء صور أقراص قابلة للإقلاع وتحميل مراحل النواة. يتضمن أدلة لتنفيذ انتقالات الوضع المحمي، وترقيم الذاكرة، وجداول وصف المقاطعات، والمعالجة المتعددة المتماثلة على أجهزة x86. تغطي قاعدة الكود مجموعة واسعة من بدائيات النظام، بما في ذلك تعيين الذاكرة الافتراضية، ومعالجة مقاطعات الأجهزة، واكتشاف الذاكرة الفعلية. كما يحتوي على مشغلات bare-metal لمكبر صوت الكمبيوتر، ولوحة مفاتيح PS/2، والمنافذ التسلسلية، ومخازن نصوص VGA المؤقتة. يتضمن المشروع سلسلة أدوات ثنائية خام لتجميع كود التجميع (assembly) في صور للتنفيذ المباشر على الأجهزة ويدعم الاختبار عبر محاكاة الأجهزة والتصحيح عن بُعد.
Implements the transition from 16-bit real mode to 32-bit protected mode using the Global Descriptor Table.