2 dépôts
The ability to move a running binary image to a different memory address during execution.
Distinct from Native Binary Execution: Distinct from Native Binary Execution: specifically covers the relocation of the binary in RAM to optimize memory usage for the kernel.
Explore 2 awesome GitHub repositories matching operating systems & systems programming · Relocatable Binary Execution. Refine with filters or upvote what's useful.
U-Boot est un bootloader embarqué qui initialise les composants matériels et charge les noyaux de systèmes d'exploitation en mémoire. Il fonctionne comme une couche d'abstraction matérielle fournissant un accès standardisé au réseau, au stockage et aux bus périphériques, tout en servant de chargeur de démarrage sécurisé et d'interface de mise à jour de firmware. Le projet se distingue par l'implémentation de séquences de démarrage sécurisées qui vérifient les signatures cryptographiques et s'interfacent avec des modules TPM pour établir une confiance ancrée dans le matériel. Il fournit en outre des capacités spécialisées pour mettre à jour le firmware des appareils via des protocoles standardisés tels que Fastboot et DFU, et agit comme un manipulateur d'arborescence de périphériques (device tree) pour configurer les paramètres matériels avant le démarrage du système d'exploitation. Le système couvre un large éventail d'opérations de bas niveau, incluant l'initialisation du CPU et du contrôleur mémoire, la gestion du cache matériel et l'exécution d'applications autonomes. Il prend en charge le provisionnement distant du noyau en récupérant des images de démarrage et des arborescences de périphériques depuis des serveurs via des protocoles réseau, et gère le comportement du système via des variables d'environnement et l'exécution de scripts de commande. Le processus de build inclut des outils pour l'empaquetage d'images de démarrage et la configuration de cibles matérielles afin d'assurer la compatibilité binaire avec des appareils embarqués spécifiques.
Copies the bootloader from initial hardware memory to a different RAM location to free up space for the kernel.
Contiki is an operating system designed for resource-constrained embedded devices and the Internet of Things. It provides a lightweight, event-driven kernel that enables multitasking and low-power wireless network connectivity on hardware with extremely limited memory and processing power. The system distinguishes itself through a stackless threading model that allows for a blocking-style programming interface while maintaining a minimal memory footprint. It supports dynamic module and firmware management, enabling the loading and linking of relocatable binary code at runtime to update applic
Enables loading and linking of relocatable binary code at runtime to update application functionality without system reboots.