5 个仓库
The mechanism for parsing and loading executable files from a filesystem into memory.
Distinguishing note: Candidates focus on kernel image loading or config files, not loading user-space binaries.
Explore 5 awesome GitHub repositories matching operating systems & systems programming · Executable Program Loading. Refine with filters or upvote what's useful.
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
Reads executable file formats from a file system to load and run user-space applications.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Provides a mechanism for parsing ELF executable headers and loading program segments into process memory.
This project is a Go library and runtime for loading and managing eBPF programs and maps. It provides a bytecode loader and kernel interface to inject instructions into kernel hooks for system-level execution and observability across both Linux and Windows operating systems. The library features a relocation engine and tooling to ensure program compatibility across different kernel versions and distributions. It supports portable deployment by embedding compiled objects for multiple CPU architectures into a single binary and provides the ability to load signed system drivers on Windows. The
Parses compiled files into specifications to modify and load programs and maps into the kernel.
30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro
Provides mechanisms for parsing and loading executable user-space programs into memory.
NuttX 是一个符合 POSIX 标准的实时操作系统,专为从 8 位到 64 位架构的微控制器而设计。它提供了一个具有实时任务调度器和 POSIX 嵌入式内核的确定性执行环境,以确保跨不同硬件目标的可移植代码执行。 该项目通过全面的硬件抽象层脱颖而出,该层为各种半导体芯片组提供了 I2C、SPI、CAN 和 USB 的标准化驱动程序。它还具有支持 TCP、UDP、IPv4 和 IPv6 的嵌入式网络栈,以及 Modbus 和 DroneCAN 等工业协议。 该系统涵盖了广泛的功能,包括具有按需分页的高级内存管理、安全加密操作,以及用于管理不同存储类型的虚拟文件系统。它进一步集成了用于图形用户界面、音频合成以及执行多种脚本语言和 WebAssembly 工作负载的高级接口。 该环境使用 Make 或 CMake 构建,以针对特定的板卡配置和半导体芯片组。
Parses and loads executable programs from the filesystem into memory for immediate execution.