5 Repos
Low-level software development focusing on manual memory management and direct hardware or file I/O.
Distinct from C Memory Management: The candidates are too narrow, focusing on memory allocation specifically rather than general systems programming in C
Explore 5 awesome GitHub repositories matching operating systems & systems programming · C Systems Programming. Refine with filters or upvote what's useful.
This project is an educational implementation of a relational database engine written in C. It functions as a SQLite clone, demonstrating the internal mechanics of a database system through a C-based systems project that focuses on manual memory management and file I/O. The engine is distinguished by its use of a bytecode virtual machine, which executes database operations by compiling SQL statements into low-level instructions. It utilizes a B-tree database engine to organize records in a balanced tree structure, ensuring efficient insertion, search, and range scanning. The system covers co
Written in C with a focus on manual memory management and direct file I/O for database internals.
Dieses Projekt ist eine Bildungsressource, die sich auf die Analyse der Nginx-Architektur und die Modulentwicklung konzentriert. Es bietet einen strukturierten Ansatz, um zu untersuchen, wie der Server Traffic verarbeitet und wie das Kernverhalten des Servers angepasst werden kann. Das Material deckt C-Systemprogrammierung zum Zweck der Erstellung benutzerdefinierter Server-Erweiterungen ab. Es leitet den Prozess des Schreibens und Integrierens neuer Module in den Server-Quellcode an, um spezialisierte Netzwerklogik oder benutzerdefinierte Protokolle zu implementieren. Der Lehrplan untersucht interne Serverkomponenten, einschließlich Speicherpools, Anforderungsverarbeitungsketten und das Modul-basierte Erweiterungssystem. Er beschreibt die interne Architektur und die Verwendung von Low-Level-Datenstrukturen zur Verwaltung des Netzwerkverkehrs.
Applies low-level C systems programming techniques for building high-performance server extensions.
This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation
Serves as the primary textbook for learning Linux system programming in C.
clib ist ein C-Sprach-Paketmanager und Dependency-Manager, der zum Installieren, Aktualisieren und Verwalten externer C-Bibliotheken und ausführbarer Abhängigkeiten aus Remote-Repositories verwendet wird. Er fungiert als Distributionstool zur Strukturierung von Quellcode und Metadaten für die Veröffentlichung von C-Bibliotheken sowie als Entwicklungs-Toolkit zur Aufrechterhaltung konsistenter Build-Umgebungen. Das Projekt bietet ein Framework für die Distribution von C-Bibliotheken und Dependency-Resolution unter Verwendung von Manifest-Dateien, um erforderliche Bibliotheksversionen nachzuverfolgen und reproduzierbare Builds über verschiedene Systeme hinweg sicherzustellen. Es optimiert den C-Entwicklungs-Workflow durch die Verwaltung der Installation und Deinstallation nativer Binärdateien und Entwicklungstools. Das System deckt ein breites Spektrum an Systemprogrammierung ab, einschließlich Memory-Profiling, Leistungsmessung und Unit-Testing. Es enthält zudem Utilities für das Management von Datenstrukturen, Dateisysteminteraktion, kryptografisches Hashing, Datenverschlüsselung und Netzwerkkommunikation.
Provides low-level system programming capabilities including memory profiling and filesystem interaction.
rawdrawandroid ist ein Framework für den Bau von Android-Anwendungen mit C und Make. Es bietet ein natives Entwicklungssystem, das Quellcode in eigenständige ausführbare Pakete kompiliert und dabei die Standard-Toolchains von Java oder Kotlin sowie virtuelle Maschinen umgeht. Das Projekt bietet ein natives UI-Toolkit für die Erstellung hardwarebeschleunigter Grafikfenster und eine dedizierte Hardwareschnittstelle für die direkte Kommunikation mit USB-Peripheriegeräten und Onboard-Sensoren. Es nutzt eine containerisierte Build-Umgebung, um eine konsistente Kompilierung und Signierung von Binärdateien ohne lokale Toolchain-Installationen zu gewährleisten. Das System deckt hardwarenahe Schnittstellen ab, einschließlich Echtzeit-Sensordatenerfassung und USB-Geräteverwaltung. Es unterstützt zudem OpenGL ES-Rendering, native WebView-Integration sowie die Verwaltung eingebetteter Anwendungs-Assets und externen Speichers. Remote-Debugging der kompilierten Anwendungslogik wird über eine Verbindung zwischen einem Host-Rechner und einem physischen Mobilgerät unterstützt.
Implements low-level system operations and permission management using a native C programming environment.