4 repository-uri
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.
Acest proiect este o colecție de documentație tehnică și ghiduri concepute ca un explainer pentru arhitectura calculatoarelor. Oferă resurse educaționale despre modul în care procesoarele și sistemele de operare execută programele, concentrându-se pe ciclul fetch-execute și relația fundamentală dintre hardware și kernel. Documentația acoperă o gamă largă de operațiuni de sistem de nivel scăzut, inclusiv ghiduri detaliate despre formatul binar executabil și linkabil (ELF), gestionarea memoriei virtuale și operațiunile la nivel de kernel. Explorează în mod specific mecanica scheduling-ului CPU, multitasking-ul preemptiv și utilizarea întreruperilor de timer pentru a gestiona execuția proceselor. Materialul explică în continuare fluxurile de lucru de gestionare a memoriei, cum ar fi traducerea adreselor, demand paging și copy-on-write page sharing. Acoperă, de asemenea, securitatea și controlul accesului prin gestionarea privilegiilor procesorului și aplicarea permisiunilor paginilor de memorie, precum și interfața de system call utilizată de programele din user-space pentru a solicita operațiuni privilegiate de kernel. Ghidurile detaliază, de asemenea, ciclul de viață al execuției programului, de la secvența inițială de boot și încărcarea binarului până la înlocuirea procesului și bootstrapping-ul proceselor din userland.
Explains how the kernel registers new binary formats by mapping magic bytes to specific interpreters.
Box64 este un runtime cross-architecture și un strat de emulare user-mode care permite software-ului Linux și Windows să ruleze pe hardware non-nativ. Funcționează ca un emulator de instrucțiuni x86-64 și traducător binar, executând binare pe 64 de biți pe diferite arhitecturi CPU prin traducerea codului mașină în instrucțiuni native. Proiectul utilizează recompilarea dinamică pentru a accelera execuția și mapează apelurile de sistem guest către bibliotecile gazdă native pentru a crește viteza și compatibilitatea hardware. Poate simula un mediu de execuție pe 32 de biți pentru a suporta software-ul legacy și se integrează cu kernel-ul sistemului de operare pentru a recunoaște și lansa automat executabile străine. Sistemul acoperă execuția programelor Linux pe 64 și 32 de biți, a binarilor Windows și a clienților de jocuri, incluzând suport pentru overlay-uri grafice Vulkan. Oferă mecanisme pentru bundling-ul bibliotecilor, încărcarea pachetelor AppImage și optimizarea țintită pe hardware specific. Software-ul suportă compilarea binară statică și oferă un toolchain de cross-compilation pentru deployment pe diferite arhitecturi CPU.
Integrates with the host operating system kernel to automatically route foreign binary executions through the translation layer.
NuttX este un sistem de operare în timp real (RTOS) compatibil POSIX, conceput pentru microcontrolere de la arhitecturi pe 8 biți până la 64 de biți. Oferă un mediu de execuție determinist cu un scheduler de task-uri în timp real și un kernel embedded POSIX pentru a asigura execuția portabilă a codului pe diverse ținte hardware. Proiectul se distinge printr-un strat de abstractizare hardware cuprinzător care oferă drivere standardizate pentru I2C, SPI, CAN și USB pe diverse chipset-uri semiconductoare. De asemenea, dispune de un stack de rețea embedded care suportă TCP, UDP, IPv4 și IPv6, alături de protocoale industriale precum Modbus și DroneCAN. Sistemul acoperă o gamă largă de capabilități, inclusiv gestionarea avansată a memoriei cu paginare la cerere, operațiuni criptografice securizate și un sistem de fișiere virtual pentru gestionarea tipurilor de stocare disparate. De asemenea, integrează interfețe de nivel înalt pentru interfețe grafice (GUI), sinteză audio și execuția mai multor limbaje de scripting și workload-uri WebAssembly. Mediul este construit folosind Make sau CMake pentru a viza configurații specifice de plăci și chipset-uri.
Provides an interface to register or remove support for specific binary file formats at runtime to determine how objects are loaded.