7 Repos
The secure boundary and mechanism for user-space programs to request privileged services from the kernel.
Distinct from Privilege Level Management: Candidates focus on account management or ARM-specific levels rather than the general system call interface pattern.
Explore 7 awesome GitHub repositories matching operating systems & systems programming · System Call Interfaces. Refine with filters or upvote what's useful.
XNU ist ein hybrider Betriebssystemkern, der eine Mikrokernel-Architektur mit einer monolithischen Schicht für Systemdienste kombiniert. Er bietet eine Grundlage für die Betriebssystementwicklung und integriert standardisierte Systemaufruf-Schnittstellen, ein modulares Gerätetreiber-Framework und eine obligatorische Zugriffskontrollsicherheit. Die Architektur verfügt über einen Mach-basierten Mikrokernel und eine BSD-basierte monolithische Schicht. Sie nutzt einen nachrichtenbasierten Inter-Prozess-Kommunikationsbus für den sicheren Datenaustausch zwischen isolierten Kernel-Komponenten und Benutzerprozessen, neben einem objektorientierten Treiber-Framework, das hardwarespezifische Logik vom Kern-Kernel entkoppelt. Das System enthält eine Engine für obligatorische Zugriffskontrolle zur richtlinienbasierten Sicherheitsdurchsetzung und einen Remote-Kernel-Debugger zur Inspektion von Live-Speicher und zur Analyse von System-Panics. Zusätzliche Fähigkeiten decken die Multiprozessor-Planung, die Koordination von Hardwareressourcen und ein Build-System zur Generierung bootfähiger Images über verschiedene Architekturen hinweg ab. Das Projekt bietet Tools für das Kernel-Build-Management, die Generierung von Debug-Symbolen und ein Framework für die Systemaufruf-Verifizierung.
Implements the secure boundary and mechanism for user-space programs to request privileged services from the kernel.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
Provides a secure system call interface for user-level programs to request privileged kernel services.
Youki ist eine OCI-Container-Runtime, die in Rust geschrieben ist. Sie implementiert die OCI-Runtime-Spezifikation (Open Container Initiative), um den Lebenszyklus containerisierter Prozesse zu verwalten und die Kompatibilität mit Standard-Container-Images und -Engines sicherzustellen. Die Runtime ist auf Speichersicherheit ausgelegt und unterstützt die Ausführung von rootless Containern, wodurch Container als Nicht-Root-Benutzer ausgeführt werden können, um Sicherheitsrisiken zu reduzieren und Privilegienerweiterungen zu begrenzen. Sie bietet grundlegende Funktionen für das Containermanagement, einschließlich des Startens und Verwaltens von OCI-Containern. Dies wird durch Linux-Namespace-Isolierung, cgroup-basierte Ressourcenbegrenzung und User-Namespace-Mapping erreicht, um Prozesse vom Host-Betriebssystem zu trennen.
Directly invokes Linux kernel system calls to handle process spawning and root filesystem pivoting.
ToaruOS is an independent operating system built from the ground up without external dependencies. It features a custom x86-64 kernel that supports symmetric multiprocessing and paging, paired with a graphical windowing system and a dedicated bytecode interpreter for application logic. The system distinguishes itself by integrating an embedded Python environment for system-level development and a custom graphical interface that handles its own window composition and text rendering. It includes a compatibility layer for third-party application support and a system package manager for handling
Provides a structured gateway for user-space applications to request essential low-level services from the kernel.
Dieses Projekt ist eine Sammlung technischer Dokumentationen und Leitfäden, die als Erklärer für Computerarchitektur konzipiert sind. Es bietet Bildungsressourcen darüber, wie Prozessoren und Betriebssysteme Programme ausführen, mit Fokus auf den Fetch-Execute-Zyklus und die fundamentale Beziehung zwischen Hardware und Kernel. Die Dokumentation deckt ein breites Spektrum Low-Level-Systemoperationen ab, einschließlich detaillierter Anleitungen zum Executable and Linkable Format (ELF), virtuellem Speichermanagement und Kernel-Level-Operationen. Sie erforscht spezifisch die Mechanik des CPU-Schedulings, präemptives Multitasking und den Einsatz von Timer-Interrupts zur Verwaltung der Prozessausführung. Das Material erklärt zudem Workflows des Speichermanagements wie Adressübersetzung, Demand Paging und Copy-on-Write-Page-Sharing. Es behandelt auch Sicherheit und Zugriffskontrolle durch Prozessor-Privileg-Management und die Durchsetzung von Speicherseiten-Berechtigungen sowie das System-Call-Interface, das User-Space-Programme nutzen, um privilegierte Kernel-Operationen anzufordern. Die Leitfäden beschreiben zudem den Lebenszyklus der Programmausführung, vom initialen Boot-Sequenz- und Binär-Ladevorgang bis hin zum Prozess-Replacement und dem Bootstrapping von Userland-Prozessen.
Describes the secure boundary and software interrupt mechanism used to request privileged kernel services.
Dieses Projekt ist ein Bildungs-Framework und Toolkit, das für die Entwicklung und das Testen von Betriebssystem-Kerneln konzipiert ist. Es bietet eine strukturierte Umgebung für die Implementierung grundlegender System-Primitive, einschließlich virtueller Speicherverwaltung, präemptiver Prozessplanung und Dateisystemorganisation, unter Verwendung von Rust und C. Das Framework ist speziell auf RISC-V- und x86-Architekturen ausgerichtet und dient als Labor für das Erlernen der Entwicklung von Kernsystemsoftware von Grund auf. Das Projekt zeichnet sich dadurch aus, dass es sowohl Bare-Metal-Deployment als auch Hardware-Emulation unterstützt, was es Entwicklern ermöglicht, die Kernel-Logik auf physischer Hardware oder in simulierten Umgebungen zu validieren. Es enthält eine umfassende Build-Toolchain, die architekturübergreifende Kompilierung und Firmware-Initialisierung handhabt und sicherstellt, dass der Kernel korrekt gebootstrappt und auf verschiedenen Zielplattformen ausgeführt werden kann. Das System deckt ein breites Spektrum an Low-Level-Funktionen ab, einschließlich Hardware-Abstraktionsschichten, die die Systemlogik von spezifischen Prozessordesigns entkoppeln, und System-Call-Schnittstellen, die die Grenze zwischen User-Space-Anwendungen und Kernel-Services verwalten. Es integriert zudem Observability-Funktionen wie Runtime-Logging und Ausführungsüberwachung, um die Analyse des Systemverhaltens während der Entwicklung zu unterstützen.
Provides a secure boundary between user-space applications and kernel-level services through controlled software interrupts.
rCore is a Rust-based operating system kernel and microkernel designed for Linux compatibility. It functions as a self-hosted development kit that implements a system call interface to support the execution of standard Linux userspace applications. The system is designed for modularity, featuring a mechanism for loading and integrating kernel modules into the active environment without requiring a system reboot. The kernel provides core operating system capabilities, including virtual memory mapping for process isolation, a disk-based file system for data persistence, and a layered network p
Provides a Linux-compatible system call interface that allows userspace applications to request core kernel services.