48 مستودعات
Tools and frameworks for building high-performance software that interacts directly with hardware and system resources.
Explore 48 awesome GitHub repositories matching operating systems & systems programming · System Programming. Refine with filters or upvote what's useful.
هذا المشروع عبارة عن خارطة طريق تعليمية شاملة مصممة لتوجيه مهندسي البرمجيات نحو إتقان أساسيات علوم الحاسوب والتحضير للمقابلات التقنية. يوفر مساراً تعليمياً منظماً وواعياً بالتبعية ينظم مفاهيم الحوسبة المعقدة في منهج هرمي، مما يمكن المستخدمين من بناء أساس هندسي مهني من خلال الدراسة التكرارية والتنفيذ العملي. يتميز المنهج بدمج المعرفة النظرية مع التطوير المهني، حيث يقدم فهرساً موحداً للموارد المرجعية المتبادلة بما في ذلك الكتب، والأوراق الأكاديمية، ودروس الفيديو. ويؤكد على توحيد كفاءة الخوارزميات من خلال تحليل التعقيد المقارب (asymptotic complexity analysis) ويوفر تفكيكاً دقيقاً ومعيارياً للمواضيع لتسهيل التعلم المركز والتراكمي عبر مجالات تقنية واسعة. بعيداً عن الخوارزميات وهياكل البيانات الأساسية، يغطي المستودع نطاقاً واسعاً من القدرات بما في ذلك تصميم بنية النظام، والأنظمة الموزعة، وأمن الحاسوب، والنمذجة الرياضية المتقدمة. كما يوفر توجيهاً استراتيجياً لدورة التوظيف بأكملها، بدءاً من تحسين السيرة الذاتية والتحضير للمقابلات السلوكية وصولاً إلى النمو الوظيفي طويل الأمد. يتم الحفاظ على قاعدة المعرفة بأكملها كمستودع خاضع للتحكم في الإصدار ومدعوم بـ markdown، مما يسمح بنهج تعاوني ومستقل عن المنصة للتعليم التقني.
Master byte order handling to ensure binary data compatibility across diverse hardware architectures.
هذا المشروع عبارة عن دليل شامل منسق من قبل المجتمع ينظم مشهداً واسعاً من مكتبات وأطر عمل وأدوات برمجيات Python. يعمل كقاعدة معرفية مركزية مصممة لتسهيل التنقل في النظام البيئي وتسريع اكتشاف المطورين عبر دورة حياة تطوير البرمجيات بأكملها. يتميز الدليل بتوفير فهرس منظم للموارد مصنف حسب المجال التقني، بدءاً من أدوات التطوير الأساسية وصولاً إلى المجالات الهندسية المتخصصة. ويغطي قدرات عالية المستوى بما في ذلك الذكاء الاصطناعي، وعلوم البيانات، وتطوير الويب، وإدارة البنية التحتية، مما يسمح للمطورين بتحديد حلول موثوقة لتحديات تقنية محددة. يشمل المشروع نطاقاً واسعاً من القدرات، بما في ذلك أدوات إدارة التبعيات، والتحليل الثابت للكود، والاختبار الآلي. كما يقوم بفهرسة موارد تخزين البيانات المستمرة، وأوركسترا البنية التحتية السحابية، وتطوير الواجهات، مما يوفر مرجعاً موحداً لبناء وصيانة الأنظمة البرمجية المعقدة.
Interacts with physical hardware components and peripherals through low-level communication protocols and specialized drivers.
This project serves as a comprehensive language ecosystem index, functioning as a centralized, community-curated directory for the Go programming language. It organizes a vast landscape of software components, libraries, and development tools into a structured, navigable hierarchy, enabling developers to efficiently discover resources tailored to specific functional domains. The repository distinguishes itself through a decentralized contribution model, where community-driven updates ensure the index remains current with the rapidly evolving software landscape. Beyond simple resource listing,
Bridge software to physical hardware through specialized interface libraries and embedded device drivers.
This project is a comprehensive, curated directory of high-quality libraries, tools, and educational resources for C and C++ development. It serves as an ecosystem discovery index, helping developers navigate the vast landscape of third-party components, frameworks, and technical documentation available for the language. The collection is distinguished by its focus on high-performance systems programming and technical mastery. It provides deep coverage of specialized domains including SIMD-accelerated data processing, compile-time template metaprogramming, and asynchronous event-driven archit
Collects specialized resources for building resource-efficient applications that require low-latency execution and fine-grained memory management.
Swift is a high-performance, general-purpose programming language designed for safety and speed. It features a modular compiler front-end that transforms source code into optimized machine binaries, utilizing a value-oriented type system that prioritizes predictable state management through value and reference types. The language is built on a task-based concurrency model that schedules asynchronous operations across multicore hardware to ensure data race safety. The project distinguishes itself through a native, bi-directional interoperability mechanism that allows for direct integration wit
Executes compiled applications with built-in memory safety and hardware-level performance optimizations.
Zig is a low-level systems programming language designed for writing high-performance software that interacts directly with hardware. It focuses on the transformation of source code into machine binaries for the execution of low-level operations. The project is distinguished by its native support for cross-compilation, allowing binaries for various operating systems and CPU architectures to be built from a single host. It provides direct interoperability with the C language, enabling the import of headers and function calls without a foreign function interface. The language utilizes manual m
Enables high-performance systems programming with direct hardware interaction and manual memory management.
Lapce is a high-performance text editor built with Rust that utilizes hardware acceleration for fast rendering and responsiveness. It functions as a modal text editor with Vim-style keybindings to minimize hand movement, an LSP client for language intelligence, and a remote development environment for editing files and executing code on distant servers. The editor features an extensible architecture based on the WebAssembly System Interface, allowing it to execute plugins compiled to WASI for cross-language functionality. It further distinguishes itself by implementing the Debug Adapter Proto
Built with Rust to achieve high performance and low latency during text manipulation.
This project is a comprehensive technical interview question bank and reference library designed for software engineering roles at major technology companies. It serves as a study guide and knowledge base covering the core principles of high-performance systems programming and computer science theory. The collection focuses on deep technical domains, including C++ language mastery, distributed systems design, and database engineering. It provides detailed material on consensus protocols, cluster coordination, and the architectural differences between SQL and NoSQL implementations. The resour
Provides reference materials for high-performance systems programming, emphasizing manual memory management and concurrency.
Tasmota is a universal firmware platform for ESP8266 and ESP32 microcontrollers, designed to provide local control and management of smart home hardware. It functions as an event-driven automation controller that replaces proprietary factory firmware, allowing users to manage relays, sensors, and lighting systems without relying on external cloud services. The system is built on a modular driver architecture that enables dynamic hardware configuration and peripheral support through a web-based management interface. The platform distinguishes itself through a template-driven hardware mapping s
Controls individual LEDs on a single data line to manage color and brightness for addressable strips.
This project is a keyboard firmware framework and programmable keyboard ecosystem designed for Atmel AVR and ARM microcontrollers. It provides the embedded software necessary to implement the USB Human Interface Device standard, allowing hardware to communicate keystrokes and mouse movements to a host computer. The framework distinguishes itself by offering a comprehensive toolchain for custom hardware development, including a command line interface for project scaffolding, firmware flashing, and configuration linting. It supports a variety of flexible configuration methods, allowing users to
Provides drivers for managing individual addressable LEDs on a single data line for lighting effects.
Crystal is a statically typed, compiled programming language designed for high performance and memory safety. It leverages an LLVM-based compiler to translate source code into optimized machine-executable binaries, while its type-inference-based static analysis enforces strict safety rules during the build process. The language distinguishes itself through a fiber-based concurrent runtime that manages lightweight execution units for asynchronous input and output without blocking the main process. It also features a powerful compile-time macro system that allows for the inspection and transfor
Enables high-performance systems programming with manual memory management and direct hardware-level access.
WLED is a web-based firmware designed for ESP8266 and ESP32 microcontrollers to manage addressable LED strips and matrices. It functions as a comprehensive IoT lighting automation system, providing the tools to control individual pixels, define logical segments, and execute dynamic lighting effects. The platform supports a wide range of hardware configurations, including matrix panels and non-addressable LED arrays, while offering granular control over brightness, color palettes, and animation speed. The project distinguishes itself through its extensive support for networked orchestration an
Manages and animates addressable LED strips and matrices with dynamic effects and segment-based configurations.
Nim is a statically typed, compiled systems programming language designed for high performance and cross-platform development. It translates high-level source code into C, C++, or JavaScript, allowing developers to produce efficient native binaries or web-compatible scripts from a single codebase. The language emphasizes a clean, indentation-based syntax that simplifies code hierarchy while maintaining the power of a full-featured systems language. What distinguishes Nim is its robust metaprogramming framework, which allows developers to inspect, modify, and generate code structures during th
Provides a high-performance systems programming environment with deterministic memory management and low-level hardware access.
The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t
Enables high-performance systems programming with manual memory management and strict compile-time safety.
TinyGo is a specialized compiler and development toolkit designed to bring the Go programming language to resource-constrained microcontrollers and WebAssembly environments. It provides a bare-metal runtime environment that enables high-level code execution without the need for a traditional operating system, utilizing an LLVM-based backend to generate efficient machine instructions. The project distinguishes itself through aggressive optimization techniques tailored for small hardware, including a static memory allocation strategy and whole-program dead code elimination that significantly re
Assigns custom functions to hardware interrupt vectors to execute code immediately upon peripheral events.
Redox is a POSIX-compliant, microkernel-based operating system written entirely in Rust. By utilizing a memory-safe language for the kernel and all system components, the project eliminates common vulnerabilities such as buffer overflows and use-after-free errors. Its architecture relies on a minimal kernel that manages only essential hardware and process isolation, delegating all other system services to unprivileged user-space processes. The system distinguishes itself through a modular design where hardware drivers and system services run as independent user-space daemons, allowing them to
Communicates with standard system components including ACPI, PCI, and USB buses to manage hardware resources.
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
Assigns specific handler functions and IRQ chips to hardware interrupt IDs for signal processing.
Johnny-Five is a JavaScript robotics framework and microcontroller hardware interface designed for programming robots and IoT devices. It provides a standardized library for managing pins, motors, and displays across various microcontroller platforms, allowing developers to control sensors and actuators using a consistent JavaScript API. The framework is distinguished by its use of a plugin-based hardware abstraction system, which enables communication with diverse hardware platforms and protocols. It supports real-time hardware manipulation and debugging through a read-eval-print loop that a
Johnny-Five manages a group of diodes as a single array to synchronize behavior and brightness across pins.
This project is an educational resource and technical reference for building operating systems from scratch. It provides a comprehensive guide to mastering x86 architecture and implementing core kernel components by writing code that executes directly on hardware without the support of standard libraries or operating system abstractions. The materials focus on low-level systems engineering, teaching users how to interpret technical datasheets to manage hardware resources. It covers the fundamental mechanics of bare-metal programming, including the use of assembly language to define execution
Details managing the local programmable interrupt controller for inter-processor communication.
Pwntools is a Python-based framework designed for rapid prototyping and automation in binary exploitation, reverse engineering, and security research. It serves as a comprehensive toolkit for interacting with local and remote processes, providing the primitives necessary to manage complex exploit workflows and streamline security analysis tasks. The framework distinguishes itself through its specialized capabilities for binary manipulation and automated exploit construction. It includes dedicated utilities for parsing executable file formats, assembling and disassembling machine code, and gen
Provides utilities for translating between high-level data types and raw byte sequences with configurable endianness.