9 repository-uri
Operations for inserting page table entries to map physical frames into thread virtual address spaces.
Distinguishing note: None of the candidates relate to kernel-level virtual memory management; this is a core OS systems programming concern.
Explore 9 awesome GitHub repositories matching operating systems & systems programming · Virtual Memory Mapping. Refine with filters or upvote what's useful.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
seL4 maps a physical frame into a thread's virtual address space by inserting a page table entry, requiring a page table to exist first.
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ță.
Maps virtual addresses to physical memory frames using a multi-level page table structure.
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Provides low-level operations to create, modify, and remove private and shared memory mappings.
AsmJit este un generator de cod mașină la runtime și un backend de compilator JIT care traduce definiții de nivel înalt în instrucțiuni executabile pentru procesor. Acesta oferă un API unificat de emisie a instrucțiunilor și un manager de memorie executabilă pentru a aloca și proteja pagini de memorie virtuală pe mai multe arhitecturi CPU. Biblioteca funcționează ca un motor de asamblare pentru x86 și ARM, suportând generarea de asamblare cross-platform printr-un backend unificat. Permite crearea de cod mașină optimizat pentru diferite CPU-uri, menținând în același timp un singur codebase. Proiectul acoperă abstracții de sistem de nivel scăzut, inclusiv alocarea registrelor, convenții de apelare specifice arhitecturii și instrumentarea binară dinamică. Acesta gestionează traducerea reprezentărilor intermediare în cod binar folosind rezoluția offset-urilor bazată pe etichete și emisia directă în buffer.
Implements dual-mapped memory allocation to comply with operating system security restrictions on executable pages.
Acest proiect este un framework educațional și un set de instrumente conceput pentru dezvoltarea și testarea kernel-urilor de sistem de operare. Oferă un mediu structurat pentru implementarea primitivelor fundamentale de sistem, inclusiv gestionarea memoriei virtuale, programarea preemptivă a proceselor și organizarea sistemului de fișiere, folosind Rust și C. Framework-ul este orientat în mod specific către arhitecturile RISC-V și x86, servind drept laborator pentru învățarea modului de construire a software-ului de bază al sistemului de la zero. Proiectul se distinge prin suportul atât pentru implementarea pe bare-metal, cât și pentru emularea hardware, permițând dezvoltatorilor să valideze logica kernel-ului pe hardware fizic sau în medii simulate. Include un toolchain complet de build care gestionează compilarea cross-arhitectură și inițializarea firmware-ului, asigurând că kernel-ul poate fi corect bootstrapat și executat pe diferite platforme țintă. Sistemul acoperă o gamă largă de capabilități de nivel scăzut, inclusiv straturi de abstractizare hardware care decuplează logica sistemului de design-urile specifice ale procesoarelor și interfețe de apeluri de sistem care gestionează limita dintre aplicațiile user-space și serviciile kernel-ului. De asemenea, încorporează funcții de observabilitate, cum ar fi logarea la runtime și monitorizarea execuției, pentru a asista la analiza comportamentului sistemului în timpul dezvoltării.
Maps logical memory addresses to physical hardware locations to provide isolated and protected address spaces.
embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel internals, and C programming. It serves as a reference for embedded systems development and a preparation resource for technical interviews in the field. The project provides detailed documentation on writing device drivers, managing virtual memory, and understanding kernel internals. It also includes guides on IoT network protocols, such as MQTT and TCP/IP, and outlines the architectural details of chip architectures and hardware peripherals. The material covers a broad sur
Documents the process of inserting page table entries to map physical RAM into virtual address spaces.
rCore is a Rust-based operating system kernel and microkernel designed for Linux compatibility. It functions as a self-hosted development kit that implements a system call interface to support the execution of standard Linux userspace applications. The system is designed for modularity, featuring a mechanism for loading and integrating kernel modules into the active environment without requiring a system reboot. The kernel provides core operating system capabilities, including virtual memory mapping for process isolation, a disk-based file system for data persistence, and a layered network p
Manages memory allocation and process isolation through a page table-based virtual memory mapping system.
This project is a web-based educational environment designed to simulate 8-bit processor architecture and assembly language execution. It functions as a virtual machine that translates symbolic assembly code into machine instructions, allowing users to observe the fetch-decode-execute cycle and its impact on system state in real time. The simulator distinguishes itself through a reactive interface that binds visual register and memory displays directly to the underlying processor state. It incorporates a two-pass assembler that manages symbolic label resolution and memory address mapping, pro
Manages a linear array of bytes as simulated system memory for direct addressing and label resolution.
Varnish Cache este un proxy invers HTTP și un accelerator de conținut conceput pentru a sta în fața serverelor web. Funcționează ca un motor de caching care stochează conținutul web accesat frecvent în memorie pentru a reduce sarcina de procesare pe serverele de origine backend și a accelera timpii de livrare pentru utilizatorii finali. Software-ul se distinge printr-un limbaj de configurare specific domeniului care compilează logica de gestionare a cererilor în bytecode la nivel de mașină pentru execuție la viteza firului. Utilizează o buclă de evenimente multi-threaded pentru a gestiona conexiunile concurente și folosește stocarea obiectelor în memorie partajată alături de paginarea memoriei virtuale pentru a facilita regăsirea rapidă a datelor și accesul la disc. Dincolo de capabilitățile sale de bază de caching, sistemul oferă gestionarea cuprinzătoare a traficului, inclusiv procesarea pipeline-ului cerere-răspuns și sondarea sănătății backend-ului. Aceste funcții permit distribuirea cererilor de rețea primite pe mai multe servere pentru a asigura disponibilitatea ridicată și rutarea dinamică a traficului departe de infrastructura supraîncărcată.
Maps large cache files directly into the process address space to leverage kernel optimizations for disk access.