7 Repos
Primitives for creating, managing, and coordinating execution flows within a process.
Distinct from Concurrency & Threading: Candidates focus on limiting concurrency or specific language patterns; this is about the fundamental creation of threads.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · Thread Management. Refine with filters or upvote what's useful.
OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical computing and matrix operations. It serves as a hardware-accelerated numerical library and optimized math kernel library, providing a computational engine for large-scale matrix multiplication and vector operations. The library distinguishes itself through the use of hand-tuned assembly kernels and SIMD instruction mapping, such as AVX and SVE, to maximize floating-point performance on specific CPU architectures. It features a multi-threaded framework that manages parallel exe
Prevents conflicts with external process managers by disabling automatic CPU core assignment to threads.
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
Teaches pthread_cancel for terminating threads, including its limitations regarding resource cleanup.
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying b
Provides kernel API calls to configure a thread's fault endpoint, CSpace, VSpace, and IPC buffer.
Blackbone ist eine Sammlung spezialisierter Tools für Speicherscans, Prozessinjektion und Kernel-Treiber-Schnittstellen, die zur Manipulation der Windows-Ausführungsumgebung verwendet werden. Es bietet ein Framework für die Ausführung von Remote-Code, das Mapping von Portable-Executable-Images und die Verwaltung von Threads über verschiedene Prozessgrenzen hinweg. Das Projekt enthält einen Kernel-Speichertreiber für den Zugriff auf den Kernelspeicher und die Änderung von Handle-Rechten, um Allokationen vor der Erkennung im User-Mode zu verbergen. Zudem bietet es eine Bibliothek zum Abfangen von Funktionsaufrufen in Remote-Prozessen mittels Software-Interrupts und Hardware-Breakpoints. Das Toolkit deckt umfassendere Funktionen der virtuellen Speichermanipulation ab, wie das Lesen, Schreiben und Allokieren von Speicher in lokalen oder Remote-Prozessen. Es bietet zudem Utilities für die Suche nach Speichermustern, um spezifische Byte-Sequenzen zu lokalisieren, sowie ein Modulmanagement für das Injizieren oder Entfernen von Binärdateien.
Implements primitives for creating, terminating, suspending, and resuming threads across different session boundaries.
Dieses Projekt ist eine umfassende Vorbereitungshilfe für technische Interviews und eine Wissensdatenbank für Informatik. Es dient als strukturierte Lernressource, die Software-Engineers dabei unterstützt, grundlegende Engineering-Konzepte zu wiederholen und sich auf professionelle Coding-Assessments vorzubereiten. Das Repository konzentriert sich auf eine Vielzahl theoretischer und praktischer Bereiche, einschließlich detaillierter Referenzen für mobile App-Architektur und Betriebssystem-Grundlagen. Es bietet kuratierte Materialien zu Software-Architekturmustern und Netzwerkprotokoll-Analyse zur Unterstützung der beruflichen Weiterentwicklung. Der Inhalt deckt fundamentale Bereiche wie Datenstrukturen und Algorithmen, Concurrency und Multithreading sowie Speicherverwaltung ab. Zudem bietet es tiefgehende Einblicke in Systemarchitektur, einschließlich Prozess-Scheduling, Inter-Process-Communication und UI-Rendering-Optimierung.
Provides a technical reference for offloading network-bound tasks to background threads to maintain UI responsiveness.
Janet ist eine Lisp-basierte dynamische Programmiersprache mit einer registerbasierten Bytecode-Virtual-Machine und einer einbettbaren Skript-Engine. Sie fungiert als Fiber-basierte Nebenläufigkeits-Runtime und enthält eine Parsing-Engine, die auf Parsing Expression Grammars basiert. Das Projekt zeichnet sich durch die Fähigkeit aus, über eine minimale Header-Schnittstelle in C- oder C++-Anwendungen integriert zu werden. Es nutzt ein Lisp-artiges Makrosystem für Code-Transformationen zur Kompilierzeit und verwendet prototypbasierte Tabellenvererbung für objektorientiertes Verhalten. Die Runtime deckt ein breites Spektrum an Funktionen ab, einschließlich asynchronem IO-Management durch eine nicht-blockierende Event-Loop, nativer Bibliotheksinteroperabilität über ein Foreign Function Interface und umfassender Textverarbeitung unter Verwendung von PEG-Grammatiken. Sie bietet zudem Tools für die Systemautomatisierung, wie eine Read-Eval-Print-Loop, ein Modulsystem für Symbolauflösung und Utilities für Netzwerk-Socket-Kommunikation und Dateisystemverwaltung. Die Umgebung enthält Diagnosetools für das Debugging der Bytecode-Ausführung und kann Quellcode in eigenständige binäre Executables bündeln.
Provides primitives for coordinating execution flows using both native OS threads and green threads.
TCP-IP-NetworkNote is a comprehensive technical reference and guide for implementing network communication using TCP and UDP sockets in C and C++. It provides a detailed manual for using the POSIX socket API and covers the implementation of network protocols, synchronous and asynchronous I/O patterns, and concurrent programming models. The project is distinguished by its focus on cross-platform networking, offering a detailed comparison of socket implementation details and adaptation utilities between Linux and Windows Winsock environments. It specifically addresses the differences in header
Implements the creation of new execution flows within a process to perform tasks concurrently.