4 Repos
Integration with the operating system kernel to register a specific binary format for automatic emulator invocation.
Distinct from Kernel Emulation Environments: Distinct from general kernel emulation; it focuses on the registration mechanism that allows direct shell execution.
Explore 4 awesome GitHub repositories matching operating systems & systems programming · Kernel Binary Format Registration. Refine with filters or upvote what's useful.
FEX is an emulator that executes 32-bit and 64-bit x86 binaries on ARM64 hardware. It functions as a binary translation framework that converts guest machine code into host instructions using a JIT compilation engine and a persistent code cache. The project features a Vulkan graphics wrapper that translates OpenGL and Vulkan API calls to native host drivers, enabling cross-architecture graphics rendering. It includes a dedicated root filesystem manager for downloading, mounting, and switching between compressed filesystem images required for guest application environments. The system provide
Integrates with the host kernel binary format registration system to launch emulated binaries directly from the shell.
Dieses Projekt ist eine Sammlung technischer Dokumentationen und Leitfäden, die als Erklärer für Computerarchitektur konzipiert sind. Es bietet Bildungsressourcen darüber, wie Prozessoren und Betriebssysteme Programme ausführen, mit Fokus auf den Fetch-Execute-Zyklus und die fundamentale Beziehung zwischen Hardware und Kernel. Die Dokumentation deckt ein breites Spektrum Low-Level-Systemoperationen ab, einschließlich detaillierter Anleitungen zum Executable and Linkable Format (ELF), virtuellem Speichermanagement und Kernel-Level-Operationen. Sie erforscht spezifisch die Mechanik des CPU-Schedulings, präemptives Multitasking und den Einsatz von Timer-Interrupts zur Verwaltung der Prozessausführung. Das Material erklärt zudem Workflows des Speichermanagements wie Adressübersetzung, Demand Paging und Copy-on-Write-Page-Sharing. Es behandelt auch Sicherheit und Zugriffskontrolle durch Prozessor-Privileg-Management und die Durchsetzung von Speicherseiten-Berechtigungen sowie das System-Call-Interface, das User-Space-Programme nutzen, um privilegierte Kernel-Operationen anzufordern. Die Leitfäden beschreiben zudem den Lebenszyklus der Programmausführung, vom initialen Boot-Sequenz- und Binär-Ladevorgang bis hin zum Prozess-Replacement und dem Bootstrapping von Userland-Prozessen.
Explains how the kernel registers new binary formats by mapping magic bytes to specific interpreters.
Box64 ist eine Laufzeitumgebung für verschiedene Architekturen und eine User-Mode-Emulationsschicht, die es ermöglicht, Linux- und Windows-Software auf nicht-nativer Hardware auszuführen. Es fungiert als x86-64-Befehlsemulator und Binärübersetzer, der 64-Bit-Binärdateien auf verschiedenen CPU-Architekturen ausführt, indem er Maschinencode in native Befehle übersetzt. Das Projekt nutzt dynamische Rekompilierung zur Beschleunigung der Ausführung und bildet Gast-Systemaufrufe auf native Host-Bibliotheken ab, um Geschwindigkeit und Hardware-Kompatibilität zu erhöhen. Es kann eine 32-Bit-Ausführungsumgebung simulieren, um Legacy-Software zu unterstützen, und integriert sich in den Betriebssystem-Kernel, um fremde ausführbare Dateien automatisch zu erkennen und zu starten. Das System deckt die Ausführung von 64-Bit- und 32-Bit-Linux-Programmen, Windows-Binärdateien und Game-Clients ab, einschließlich Unterstützung für Vulkan-Grafik-Overlays. Es bietet Mechanismen für das Bündeln von Bibliotheken, das Laden von AppImage-Paketen und hardware-spezifische Zieloptimierungen. Die Software unterstützt statische Binärkompilierung und bietet eine Cross-Compilation-Toolchain für das Deployment über verschiedene CPU-Architekturen hinweg.
Integrates with the host operating system kernel to automatically route foreign binary executions through the translation layer.
NuttX ist ein POSIX-konformes Echtzeitbetriebssystem für Mikrocontroller, das von 8-Bit- bis 64-Bit-Architekturen reicht. Es bietet eine deterministische Ausführungsumgebung mit einem Echtzeit-Task-Scheduler und einem POSIX-Embedded-Kernel, um die Portabilität von Code über diverse Hardware-Ziele hinweg sicherzustellen. Das Projekt zeichnet sich durch eine umfassende Hardware-Abstraktionsschicht aus, die standardisierte Treiber für I2C, SPI, CAN und USB für verschiedene Halbleiter-Chipsätze bereitstellt. Es verfügt zudem über einen Embedded-Netzwerk-Stack mit Unterstützung für TCP, UDP, IPv4 und IPv6 sowie industrielle Protokolle wie Modbus und DroneCAN. Das System deckt ein breites Spektrum an Funktionen ab, einschließlich fortschrittlichem Speichermanagement mit On-Demand-Paging, sicheren kryptografischen Operationen und einem virtuellen Dateisystem zur Verwaltung unterschiedlicher Speichertypen. Es integriert zudem High-Level-Schnittstellen für grafische Benutzeroberflächen, Audiosynthese sowie die Ausführung mehrerer Skriptsprachen und WebAssembly-Workloads. Die Umgebung wird mittels Make oder CMake für spezifische Board-Konfigurationen und Halbleiter-Chipsätze erstellt.
Provides an interface to register or remove support for specific binary file formats at runtime to determine how objects are loaded.