52 रिपॉजिटरी
Fundamental design principles and mechanisms governing how computer hardware executes instructions and manages memory.
Explore 52 awesome GitHub repositories matching operating systems & systems programming · Computer Architecture. Refine with filters or upvote what's useful.
यह प्रोजेक्ट एक व्यापक शैक्षिक रोडमैप है जिसे सॉफ्टवेयर इंजीनियरों को कंप्यूटर विज्ञान के मूलभूत सिद्धांतों और तकनीकी साक्षात्कार की तैयारी में महारत हासिल करने के लिए डिज़ाइन किया गया है। यह एक संरचित, निर्भरता-जागरूक शिक्षण पथ प्रदान करता है जो जटिल कंप्यूटिंग अवधारणाओं को एक पदानुक्रमित पाठ्यक्रम में व्यवस्थित करता है, जिससे उपयोगकर्ता पुनरावृत्ति अध्ययन और व्यावहारिक कार्यान्वयन के माध्यम से एक पेशेवर इंजीनियरिंग नींव बनाने में सक्षम होते हैं। पाठ्यक्रम सैद्धांतिक ज्ञान को पेशेवर विकास के साथ एकीकृत करके खुद को अलग करता है, जो पुस्तकों, अकादमिक पत्रों और वीडियो ट्यूटोरियल सहित क्रॉस-संदर्भित संसाधनों का एक एकीकृत इंडेक्स प्रदान करता है। यह एसिम्पटोटिक जटिलता विश्लेषण के माध्यम से एल्गोरिथम दक्षता के मानकीकरण पर जोर देता है और विशाल तकनीकी डोमेन में केंद्रित, वृद्धिशील सीखने की सुविधा के लिए दानेदार, मॉड्यूलर विषय अपघटन प्रदान करता है। मुख्य एल्गोरिदम और डेटा संरचनाओं से परे, रिपॉजिटरी सिस्टम आर्किटेक्चर डिज़ाइन, वितरित सिस्टम, कंप्यूटर सुरक्षा और उन्नत गणितीय मॉडलिंग सहित क्षमताओं के एक व्यापक क्षेत्र को कवर करती है। यह रिज्यूमे ऑप्टिमाइज़ेशन और व्यवहारिक साक्षात्कार की तैयारी से लेकर दीर्घकालिक करियर विकास तक, पूरी भर्ती लाइफसाइकिल के लिए रणनीतिक मार्गदर्शन भी प्रदान करती है। पूरे नॉलेज बेस को एक वर्ज़न-कंट्रोल, मार्कडाउन-संचालित रिपॉजिटरी के रूप में बनाए रखा जाता है, जो तकनीकी शिक्षा के लिए एक प्लेटफ़ॉर्म-अज्ञेयवादी और सहयोगात्मक दृष्टिकोण की अनुमति देता है।
Clarifies how computer hardware processes instructions to assist engineers in optimizing code performance.
Radare2 is a comprehensive framework for reverse engineering and analyzing compiled software. It provides a command-line environment designed for disassembling, debugging, and patching binary executables across a wide range of processor architectures and operating systems. The system distinguishes itself through a modular, plugin-based architecture that supports cross-platform analysis and automated workflows. It utilizes memory-mapped file access to enable efficient structural inspection and modification of binaries without requiring full file loads. By lifting machine instructions into a un
Simulates CPU behavior to track register states and memory changes during binary analysis without native execution.
Wasmer is a high-performance runtime engine designed to execute sandboxed WebAssembly modules across server-side, edge, and browser environments. It functions as a comprehensive platform for building, distributing, and running isolated applications, providing a secure and portable execution layer that maintains consistency across diverse hardware architectures and operating systems. The platform distinguishes itself through a robust toolchain that enables cross-language interoperability and the transformation of code into portable binary packages. It supports ahead-of-time binary generation t
Tracks and limits instruction execution to ensure predictable performance in multi-tenant environments.
Ish is a Linux shell emulator for iOS that provides a local terminal environment for running shell commands and managing files. It functions as an instruction-level emulator that enables the execution of Linux binaries on mobile devices by simulating an Alpine Linux environment. The project distinguishes itself by combining user-mode Linux emulation with a virtual root filesystem. This allows the software to map Linux kernel system calls to host functions and execute scripts and toolsets directly on an iPhone or iPad. The emulator also provides low-level program debugging capabilities, inclu
Functions as an emulation engine that tracks CPU instructions and register states for binary analysis.
Frida is a dynamic binary instrumentation toolkit that provides a framework for deep process introspection and live application state manipulation. It enables the injection of custom scripts into running processes to trace function calls, modify memory, and analyze application behavior in real-time across diverse operating systems and processor architectures. The project distinguishes itself by embedding a high-performance JavaScript engine directly within the target process, allowing for the execution of user-defined logic for real-time inspection. It utilizes instruction-level hooking to re
Redirects execution flow by replacing function entry points with jump instructions to monitor arguments and return values.
This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp
Provides an overview of the Von Neumann architecture and its sequential processing limitations.
AISystem is a comprehensive AI full-stack infrastructure project covering the entire pipeline from AI chip architecture to high-level training frameworks. It encompasses the development of AI compiler frameworks, inference engines, and distributed training orchestrators designed to coordinate workloads across a heterogeneous compute stack of CPUs, GPUs, and NPUs. The project focuses on the deep integration of software and hardware, employing software-hardware co-design to align tensor layouts with physical memory structures. It provides specialized capabilities for accelerating Transformer mo
Defines the standard interface between hardware and software through binary instruction formats and registers.
Tiny-gpu is an educational hardware emulator designed to model the fundamental operations of a graphics processing unit. It provides a software environment that simulates hardware data flow and parallel computing logic, allowing users to visualize the internal execution cycles and memory structures characteristic of graphics hardware. The project distinguishes itself by implementing a cycle-accurate execution model that tracks the progression of operations through discrete processing steps. It utilizes a fixed-function pipeline to process geometric data through sequential transformation and r
Simulates instruction-level parallelism by executing graphics instructions across multiple data elements simultaneously.
This project serves as an educational resource for learning and implementing low-level assembly language optimizations. It provides a structured guide for developers to master hardware-specific instructions and manual performance tuning, focusing on the translation of high-level code into efficient machine-level operations for resource-constrained environments. The materials emphasize techniques for maximizing computational throughput in multimedia processing. By covering instruction-level parallelism, register management, and data parallelism, the project enables the development of software
Arranges assembly operations to ensure the processor execution units remain busy without stalling on data dependencies or hazards.
This repository contains the design specifications for WebAssembly, serving as a technical standard for portable low-level code. It defines the binary format, instruction set, and execution semantics required to ensure consistent behavior across different hardware platforms. The project establishes the framework for a language compilation target, detailing the requirements for translating high-level programming languages into a low-level binary format. It includes a security model that defines operational rules and safety goals for executing untrusted binary code. The specifications cover th
Documents the high-level goals and security models required to create a reliable binary instruction format.
xxHash is a high-performance, non-cryptographic hash library designed for rapid checksum generation and data integrity verification. It functions as an incremental hashing engine, allowing for the processing of large or streaming data inputs by maintaining a persistent internal state across sequential chunks. The library is engineered as a computational framework that maximizes throughput by utilizing wide CPU registers and branchless instruction pipelining. It achieves high-speed performance by aligning data access with CPU cache lines and employing multi-stage mixing functions that ensure c
Minimizes CPU pipeline stalls by utilizing linear instruction sequences that avoid conditional jumps during the hashing process.
rr is a deterministic record and replay framework and reverse debugger for Linux processes. It provides a deterministic execution environment that captures program execution, allowing bugs and crashes to be reproduced exactly through replay. The tool enables reverse program execution, allowing a developer to move the program counter backward through recorded history to trace a bug from its effect back to its source. It utilizes a recording mechanism that ensures a process run can be replayed with identical memory and register states. The framework covers low-level software analysis and nativ
Captures full CPU and memory states at periodic intervals to enable fast seeking during reverse execution.
Detect-It-Easy is a binary file identifier and analysis toolkit designed to determine file formats, compilers, and packers. It functions as a binary file identifier that utilizes signature matching and heuristic analysis to identify executable and archive formats. The project includes a custom file signature engine and a scriptable rule system for defining and applying detection logic to identify specific binary patterns. It features specialized detectors for Android packages, such as APK and DEX files, and a malware packer detector to identify protections, obfuscators, and virus families. T
Simulates CPU behavior to execute unpacking routines and reveal the original code of packed executable binaries.
CS-Xmind-Note is a collection of structured mind maps and conceptual diagrams serving as a comprehensive knowledge base for computer science fundamentals. It functions as an academic reference and study guide, organizing core subjects into a visual mapping of interdependent technical concepts. The project utilizes an XMind-compatible schema to model complex domains through hierarchical nodes and relational concept mapping. This approach allows for the visual representation of technical layers, linking hardware specifications to software abstractions. The knowledge base covers several primary
Explains how to overlap execution stages to increase throughput and manage data dependencies for faster processing.
pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi
Simulates machine code execution to predict program state without advancing the actual process pointer.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Provides specific software implementations of processor architectures, including the 6502 family, ensuring timing accuracy.
DuckStation is a high-performance PlayStation 1 emulator that simulates the original console's hardware logic and CPU and GPU on modern computer systems. It functions as a console hardware emulator, disc image loader, and game state manager to execute original games and preserve retro software. The project differentiates itself through a game graphics upscaler that improves visual clarity using texture filtering, geometry precision corrections, and custom shader chains. It also features advanced memory manipulation tools for layered patch injection and the application of community cheat codes
Captures full CPU and memory states to enable instant save and rewind functionality.
Unicorn is a multi-architecture CPU emulation framework and library that utilizes just-in-time compilation to execute instructions across various processor architectures, including ARM, x86, and RISC-V. It functions as both a JIT compilation engine and an instrumentation tool, allowing for the execution of machine code without the need for physical hardware. The framework is distinguished by its hook-based execution instrumentation, which enables the interception of specific instructions and memory accesses to trigger custom callback functions. It provides a language-agnostic binding layer an
Simulates CPU behavior across multiple processor architectures for controlled software analysis and testing.
Cemu is a cross-platform game console emulator designed to replicate the Nintendo Wii U hardware environment. It provides a software simulation layer that allows original Wii U games and homebrew applications to run on Windows, Linux, and macOS. The project translates guest machine code and graphics API calls into host instructions and modern shaders to enable hardware acceleration. It utilizes a dynamic recompilation engine and a host-API graphics backend to interface with Vulkan or OpenGL. The system manages hardware simulation through multi-threaded CPU emulation, memory-mapped I/O simula
Distributes guest processor tasks across multiple host cores to simulate parallel execution and improve frame rates.
GEF is a Python-based extension for GDB that serves as a framework for binary analysis, exploit development, and low-level debugging. It functions as a dynamic analysis extension designed to assist in reverse engineering workflows and malware analysis by enhancing the debugger's ability to inspect process state and memory. The project is distinguished by its specialized heap analysis tools, which allow for the inspection of glibc heap arenas, bins, and chunks to detect memory corruption. It also provides a dedicated toolkit for exploit development, including cyclic pattern generation for offs
Advances the program counter beyond specific instructions to bypass sections of code during analysis.