7 dépôts
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 est un noyau de système d'exploitation hybride qui combine une architecture de micro-noyau avec une couche monolithique pour les services système. Il fournit une base pour le développement de systèmes d'exploitation, incorporant des interfaces d'appel système standardisées, un framework de pilotes de périphériques modulaire et une sécurité de contrôle d'accès obligatoire. L'architecture dispose d'un micro-noyau basé sur Mach et d'une couche monolithique basée sur BSD. Il utilise un bus de communication inter-processus par passage de messages pour un échange de données sécurisé entre les composants isolés du noyau et les processus en espace utilisateur, aux côtés d'un framework de pilotes orienté objet qui découple la logique spécifique au matériel du noyau central. Le système inclut un moteur de contrôle d'accès obligatoire pour l'application de la sécurité pilotée par les politiques et un débogueur de noyau distant pour inspecter la mémoire en direct et analyser les paniques système. Des capacités supplémentaires couvrent la planification multi-processeur, la coordination des ressources matérielles et un système de construction pour générer des images amorçables à travers différentes architectures. Le projet fournit des outils pour la gestion de la construction du noyau, la génération de symboles de débogage et un framework pour la vérification des appels système.
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 est un runtime de conteneur OCI écrit en Rust. Il implémente la spécification de runtime de l'Open Container Initiative pour gérer le cycle de vie des processus conteneurisés et assurer la compatibilité avec les images et moteurs de conteneurs standard. Le runtime est conçu pour la sécurité mémoire et prend en charge l'exécution de conteneurs rootless, permettant aux conteneurs de s'exécuter en tant qu'utilisateurs non-root pour réduire les risques de sécurité et limiter l'escalade de privilèges. Il fournit des capacités de gestion de conteneurs de base, incluant la création et la gestion de conteneurs OCI. Ceci est réalisé grâce à l'isolation par espaces de noms Linux (namespaces), la limitation des ressources basée sur les cgroups et le mappage des espaces de noms utilisateur pour partitionner les processus du système d'exploitation hôte.
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.
Ce projet est une collection de documentation technique et de guides conçus comme un explicateur d'architecture informatique. Il fournit des ressources éducatives sur la façon dont les processeurs et les systèmes d'exploitation exécutent les programmes, en se concentrant sur le cycle fetch-execute et la relation fondamentale entre le matériel et le noyau (kernel). La documentation couvre un large éventail d'opérations système de bas niveau, incluant des guides détaillés sur le format binaire exécutable et liable (ELF), la gestion de la mémoire virtuelle et les opérations au niveau du noyau. Elle explore spécifiquement la mécanique de l'ordonnancement CPU, le multitâche préemptif et l'utilisation d'interruptions de minuterie pour gérer l'exécution des processus. Le matériel explique plus en détail les flux de travail de gestion de la mémoire tels que la traduction d'adresses, la pagination à la demande et le partage de pages copy-on-write. Il couvre également la sécurité et le contrôle d'accès via la gestion des privilèges du processeur et l'application des permissions de pages mémoire, ainsi que l'interface d'appels système utilisée par les programmes en espace utilisateur pour demander des opérations privilégiées au noyau. Les guides détaillent également le cycle de vie de l'exécution des programmes, de la séquence de démarrage initiale et du chargement binaire au remplacement de processus et au bootstrapping des processus userland.
Describes the secure boundary and software interrupt mechanism used to request privileged kernel services.
Ce projet est un framework éducatif et une boîte à outils conçus pour développer et tester des noyaux de système d'exploitation. Il fournit un environnement structuré pour implémenter des primitives système fondamentales, notamment la gestion de la mémoire virtuelle, l'ordonnancement préemptif des processus et l'organisation du système de fichiers, en utilisant Rust et C. Le framework est spécifiquement orienté vers les architectures RISC-V et x86, servant de laboratoire pour apprendre à construire des logiciels système de base à partir de zéro. Le projet se distingue en prenant en charge à la fois le déploiement bare-metal et l'émulation matérielle, permettant aux développeurs de valider la logique du noyau sur du matériel physique ou dans des environnements simulés. Il inclut une chaîne d'outils de construction complète qui gère la compilation inter-architectures et l'initialisation du firmware, garantissant que le noyau peut être correctement amorcé et exécuté sur différentes plateformes cibles. Le système couvre un large éventail de capacités de bas niveau, notamment des couches d'abstraction matérielle qui découplent la logique système des conceptions de processeurs spécifiques et des interfaces d'appels système qui gèrent la frontière entre les applications en espace utilisateur et les services du noyau. Il intègre également des fonctionnalités d'observabilité, telles que la journalisation au runtime et la surveillance de l'exécution, pour aider à l'analyse du comportement du système pendant le développement.
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.