awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

9 dépôts

Awesome GitHub RepositoriesVirtual Memory Mapping

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.

Awesome Virtual Memory Mapping GitHub Repositories

Trouvez les meilleurs dépôts grâce à l'IA.Nous recherchons les dépôts les plus pertinents grâce à l'IA.
  • sel4/sel4Avatar de seL4

    seL4/seL4

    5,583Voir sur GitHub↗

    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.

    Cmicrokernelossel4
    Voir sur GitHub↗5,583
  • cirosantilli/x86-bare-metal-examplesAvatar de cirosantilli

    cirosantilli/x86-bare-metal-examples

    5,306Voir sur GitHub↗

    Ce projet est une collection de systèmes d'exploitation minimaux, de chargeurs de démarrage (bootloaders) et de pilotes matériels utilisés pour démontrer la programmation système x86 bas niveau et l'interfaçage matériel. Il sert de boîte à outils de développement de noyau et de laboratoire de programmation système conçu pour tester les concepts d'architecture et le comportement matériel au sein d'un émulateur système. Le dépôt fournit des implémentations de référence pour créer des images disque amorçables et charger des étapes de noyau. Il inclut des guides pour implémenter les transitions en mode protégé, la pagination mémoire, les tables de descripteurs d'interruption et le multiprocesseur symétrique sur matériel x86. La base de code couvre un large éventail de primitives système, incluant le mappage de mémoire virtuelle, la gestion des interruptions matérielles et la détection de mémoire physique. Il contient également des pilotes bare-metal pour le haut-parleur PC, le clavier PS/2, les ports série et les tampons texte VGA. Le projet inclut une chaîne d'outils binaire brute pour compiler le code source assembleur en images pour une exécution matérielle directe et prend en charge les tests via l'émulation matérielle et le débogage à distance.

    Maps virtual addresses to physical memory frames using a multi-level page table structure.

    Assemblyassemblybare-metalbaremetal
    Voir sur GitHub↗5,306
  • asterinas/asterinasAvatar de asterinas

    asterinas/asterinas

    4,678Voir sur GitHub↗

    Asterinas est un noyau de système d'exploitation sécurisé en mémoire conçu pour prévenir les data races et la corruption mémoire. Il fonctionne comme un noyau compatible Linux-ABI, permettant l'exécution de binaires Linux existants et de charges de travail conteneurisées tout en offrant un modèle de distribution de système d'exploitation déclaratif. Le projet se distingue en agissant comme un hôte de conteneurs pour machines virtuelles et un OS invité pour le confidential computing, lui permettant de s'exécuter au sein d'environnements d'exécution isolés matériellement comme Intel TDX. Il implémente une base de calcul de confiance minimale en isolant les opérations dangereuses de bas niveau et sépare les mécanismes fondamentaux du noyau des implémentations de politiques spécifiques. Le système couvre un large éventail de capacités, incluant la gestion de la mémoire physique et virtuelle, le multi-processing symétrique et l'abstraction matérielle pour diverses architectures CPU. Il inclut également le support pour les runtimes de conteneurs sécurisés, un ensemble complet de primitives réseau et socket, ainsi qu'une toolchain spécialisée pour la compilation et l'émulation du noyau. Le projet prend en charge le déploiement multi-architecture sur les plateformes x86-64, RISC-V 64 et LoongArch 64.

    Provides low-level operations to create, modify, and remove private and shared memory mappings.

    Rustkernelosrust
    Voir sur GitHub↗4,678
  • asmjit/asmjitAvatar de asmjit

    asmjit/asmjit

    4,527Voir sur GitHub↗

    AsmJit is a runtime machine code generator and JIT compiler backend that translates high-level definitions into executable processor instructions. It provides a unified instruction emission API and an executable memory manager to allocate and protect virtual memory pages across multiple CPU architectures. The library functions as an assembly engine for x86 and ARM, supporting cross-platform assembly generation through a unified backend. It enables the creation of optimized machine code for different CPUs while maintaining a single codebase. The project covers low-level system abstractions in

    Implements dual-mapped memory allocation to comply with operating system security restrictions on executable pages.

    C++
    Voir sur GitHub↗4,527
  • chyyuu/os_kernel_labAvatar de chyyuu

    chyyuu/os_kernel_lab

    4,045Voir sur GitHub↗

    Ce projet est un framework éducatif et une boîte à outils conçus pour développer et tester des noyaux de système d'exploitation. Il fournit un environnement structuré pour implémenter des primitives système fondamentales, notamment la gestion de la mémoire virtuelle, l'ordonnancement préemptif des processus et l'organisation du système de fichiers, en utilisant Rust et C. Le framework est spécifiquement orienté vers les architectures RISC-V et x86, servant de laboratoire pour apprendre à construire des logiciels système de base à partir de zéro. Le projet se distingue en prenant en charge à la fois le déploiement bare-metal et l'émulation matérielle, permettant aux développeurs de valider la logique du noyau sur du matériel physique ou dans des environnements simulés. Il inclut une chaîne d'outils de construction complète qui gère la compilation inter-architectures et l'initialisation du firmware, garantissant que le noyau peut être correctement amorcé et exécuté sur différentes plateformes cibles. Le système couvre un large éventail de capacités de bas niveau, notamment des couches d'abstraction matérielle qui découplent la logique système des conceptions de processeurs spécifiques et des interfaces d'appels système qui gèrent la frontière entre les applications en espace utilisateur et les services du noyau. Il intègre également des fonctionnalités d'observabilité, telles que la journalisation au runtime et la surveillance de l'exécution, pour aider à l'analyse du comportement du système pendant le développement.

    Maps logical memory addresses to physical hardware locations to provide isolated and protected address spaces.

    Rustkernellabos
    Voir sur GitHub↗4,045
  • xiaowenxia/embedded-notesAvatar de xiaowenxia

    xiaowenxia/embedded-notes

    3,998Voir sur GitHub↗

    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.

    armcdriver
    Voir sur GitHub↗3,998
  • rcore-os/rcoreAvatar de rcore-os

    rcore-os/rCore

    3,688Voir sur GitHub↗

    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.

    Rustaarch64mipsosdev
    Voir sur GitHub↗3,688
  • schweigi/assembler-simulatorAvatar de Schweigi

    Schweigi/assembler-simulator

    989Voir sur GitHub↗

    Ce projet est un environnement éducatif basé sur le web conçu pour simuler l'architecture de processeur 8 bits et l'exécution en langage assembleur. Il fonctionne comme une machine virtuelle qui traduit le code assembleur symbolique en instructions machine, permettant aux utilisateurs d'observer le cycle fetch-decode-execute et son impact sur l'état du système en temps réel. Le simulateur se distingue par une interface réactive qui lie les affichages visuels des registres et de la mémoire directement à l'état du processeur sous-jacent. Il incorpore un assembleur en deux passes qui gère la résolution des étiquettes symboliques et le mappage des adresses mémoire, fournissant un moyen structuré d'organiser et de naviguer dans les programmes assembleur. Les utilisateurs peuvent contrôler la fréquence d'horloge du processeur virtuel, leur permettant de rythmer l'exécution des instructions pour une observation et un débogage détaillés. L'application fournit une suite complète d'outils pour surveiller les drapeaux internes du processeur, les valeurs des registres et le contenu de la mémoire. Elle prend en charge un formatage de données flexible pour la mémoire et les registres, permettant aux valeurs d'être visualisées en notation hexadécimale ou décimale. L'environnement est construit comme une application basée sur navigateur, facilitant l'étude des concepts informatiques de bas niveau et de la logique des systèmes embarqués sans nécessiter de matériel externe.

    Manages a linear array of bytes as simulated system memory for direct addressing and label resolution.

    JavaScriptassemblercomputeremulator
    Voir sur GitHub↗989
  • varnish/varnish-cacheAvatar de varnish

    varnish/Varnish-Cache

    887Voir sur GitHub↗

    Varnish Cache est un proxy inverse HTTP et un accélérateur de contenu conçu pour se placer devant les serveurs web. Il fonctionne comme un moteur de mise en cache qui stocke le contenu web fréquemment consulté en mémoire pour réduire la charge de traitement sur les serveurs d'origine backend et accélérer les temps de livraison pour les utilisateurs finaux. Le logiciel se distingue par un langage de configuration spécifique au domaine qui compile la logique de traitement des requêtes en bytecode au niveau machine pour une exécution à la vitesse du fil. Il utilise une boucle d'événements multi-threadée pour gérer les connexions simultanées et emploie un stockage d'objets en mémoire partagée parallèlement à la pagination de la mémoire virtuelle pour faciliter la récupération rapide des données et l'accès au disque. Au-delà de ses capacités de mise en cache de base, le système fournit une gestion complète du trafic, y compris le traitement du pipeline requête-réponse et le sondage de santé du backend. Ces fonctionnalités permettent la distribution des requêtes réseau entrantes sur plusieurs serveurs pour assurer une haute disponibilité et le routage dynamique du trafic loin de l'infrastructure surchargée.

    Maps large cache files directly into the process address space to leverage kernel optimizations for disk access.

    C
    Voir sur GitHub↗887
  1. Home
  2. Operating Systems & Systems Programming
  3. Virtual Memory Mapping

Explorer les sous-tags

  • Dual-Mapped Memory AllocationMapping physical memory to multiple virtual addresses to bypass OS executable page restrictions. **Distinct from Virtual Memory Mapping:** Specifically covers the dual-mapping technique for security compliance, unlike general virtual memory mapping.