5 dépôts
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.
Ce projet est une ressource éducative axée sur l'analyse de l'architecture Nginx et le développement de modules. Il fournit une approche structurée pour étudier comment le serveur gère le trafic et comment personnaliser le comportement principal du serveur. Le matériel couvre la programmation système en langage C dans le but de créer des extensions de serveur personnalisées. Il guide le processus d'écriture et d'intégration de nouveaux modules dans le code source du serveur pour implémenter une logique réseau spécialisée ou des protocoles personnalisés. Le programme examine les composants internes du serveur, y compris les pools de mémoire, les chaînes de traitement des requêtes et le système d'extension basé sur des modules. Il détaille l'architecture interne et l'utilisation de structures de données de bas niveau pour gérer le trafic réseau.
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 est un gestionnaire de paquets et de dépendances en langage C utilisé pour installer, mettre à jour et gérer des bibliothèques C externes et des dépendances exécutables depuis des dépôts distants. Il fonctionne comme un outil de distribution pour structurer le code source et les métadonnées afin de publier des bibliothèques C, et comme une boîte à outils de développement pour maintenir des environnements de build cohérents. Le projet fournit un framework pour la distribution de bibliothèques C et la résolution de dépendances, utilisant des fichiers manifestes pour suivre les versions de bibliothèques requises et assurer des builds reproductibles sur différents systèmes. Il rationalise le flux de travail de développement C en gérant l'installation et la désinstallation de binaires natifs et d'outils de développement. Le système couvre un large éventail de capacités de programmation système, incluant le profilage mémoire, la mesure de performance et les tests unitaires. Il inclut également des utilitaires pour la gestion de structures de données, l'interaction avec le système de fichiers, le hachage cryptographique, le chiffrement de données et la communication réseau.
Provides low-level system programming capabilities including memory profiling and filesystem interaction.
rawdrawandroid est un framework pour construire des applications Android en utilisant C et Make. Il fournit un système de développement natif qui compile le code source en paquets exécutables autonomes, contournant les toolchains Java ou Kotlin standards et les machines virtuelles. Le projet propose un toolkit UI natif pour créer des fenêtres graphiques accélérées matériellement et une interface matérielle dédiée pour la communication directe avec les périphériques USB et les capteurs embarqués. Il utilise un environnement de build conteneurisé pour assurer une compilation et une signature cohérentes des binaires sans nécessiter d'installations de toolchain locales. Le système couvre l'interfaçage matériel bas niveau, incluant la capture de données de capteurs en temps réel et la gestion des périphériques USB. Il prend également en charge le rendu OpenGL ES, l'intégration native de web view, et la gestion des ressources d'application embarquées et du stockage externe. Le débogage à distance de la logique d'application compilée est pris en charge via une connexion entre une machine hôte et un appareil mobile physique.
Implements low-level system operations and permission management using a native C programming environment.