5 repositorios
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.
Este proyecto es un recurso educativo centrado en el análisis de la arquitectura de Nginx y el desarrollo de módulos. Proporciona un enfoque estructurado para estudiar cómo el servidor maneja el tráfico y cómo personalizar el comportamiento principal del servidor. El material cubre la programación de sistemas en lenguaje C con el propósito de crear extensiones de servidor personalizadas. Guía el proceso de escritura e integración de nuevos módulos en el código fuente del servidor para implementar lógica de red especializada o protocolos personalizados. El plan de estudios examina los componentes internos del servidor, incluidos los pools de memoria, las cadenas de procesamiento de solicitudes y el sistema de extensión basado en módulos. Detalla la arquitectura interna y el uso de estructuras de datos de bajo nivel para gestionar el tráfico de red.
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 es un gestor de paquetes y dependencias en lenguaje C utilizado para instalar, actualizar y gestionar librerías C externas y dependencias ejecutables desde repositorios remotos. Funciona como una herramienta de distribución para estructurar código fuente y metadatos para publicar librerías C y un kit de herramientas de desarrollo para mantener entornos de construcción consistentes. El proyecto proporciona un framework para la distribución de librerías C y resolución de dependencias, utilizando archivos de manifiesto para rastrear las versiones de librerías requeridas y asegurar construcciones reproducibles en diferentes sistemas. Agiliza el flujo de trabajo de desarrollo en C gestionando la instalación y desinstalación de binarios nativos y herramientas de desarrollo. El sistema cubre una amplia gama de capacidades de programación de sistemas, incluyendo perfilado de memoria, medición de rendimiento y pruebas unitarias. También incluye utilidades para la gestión de estructuras de datos, interacción con el sistema de archivos, hashing criptográfico, cifrado de datos y comunicación de red.
Provides low-level system programming capabilities including memory profiling and filesystem interaction.
rawdrawandroid es un framework para construir aplicaciones Android utilizando C y Make. Proporciona un sistema de desarrollo nativo que compila el código fuente en paquetes ejecutables independientes, evitando las cadenas de herramientas y máquinas virtuales estándar de Java o Kotlin. El proyecto cuenta con un kit de herramientas de interfaz de usuario nativa para crear ventanas gráficas aceleradas por hardware y una interfaz de hardware dedicada para la comunicación directa con periféricos USB y sensores integrados. Utiliza un entorno de compilación en contenedores para garantizar una compilación y firma consistentes de binarios sin requerir instalaciones locales de cadenas de herramientas. El sistema cubre la interfaz de hardware de bajo nivel, incluyendo la captura de datos de sensores en tiempo real y la gestión de dispositivos USB. También admite renderizado OpenGL ES, integración de vista web nativa y la gestión de activos de aplicaciones integradas y almacenamiento externo. La depuración remota de la lógica de la aplicación compilada es compatible a través de una conexión entre una máquina host y un dispositivo móvil físico.
Implements low-level system operations and permission management using a native C programming environment.