9 repository-uri
Virtual interfaces that decouple software from specific operating system file and I/O implementations.
Distinct from OS-Specific Integration Modules: Focuses on providing a generic interface to hide OS differences, rather than just modules that integrate with a specific OS's unique APIs.
Explore 9 awesome GitHub repositories matching operating systems & systems programming · OS Abstraction Layers. Refine with filters or upvote what's useful.
LevelDB is an embedded database library and persistent storage engine that provides a sorted key-value store. It uses a log-structured merge-tree architecture to map byte arrays to values, running directly within a process to provide storage without the need for a separate server process. The system is distinguished by its use of custom comparison functions to define key ordering, enabling efficient range scans and sequenced lookups. It ensures data reliability through atomic batch execution, consistent snapshot generation, and log-based recovery after failures. The engine covers broad capab
Provides an abstract file system interface to decouple the storage engine from the underlying operating system.
libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking, filesystem operations, and system signals. It utilizes a non-blocking event loop to coordinate asynchronous tasks and I/O events across different operating systems. The project features a unified interface for managing TCP, UDP, and DNS resolution, alongside an inter-process communication layer for sharing sockets via named pipes and Unix domain sockets. To prevent blocking the main execution loop, it includes a multi-platform thread pool for offloading computationally expensive
Provides an abstraction layer that wraps OS-specific mechanisms like epoll, kqueue, and IOCP into a unified interface.
node-notifier este o bibliotecă Node.js și un wrapper cross-platform care oferă o interfață JavaScript unificată pentru trimiterea de notificări desktop native pe macOS, Windows și Linux. Acționează ca o punte între codul JavaScript și binarele de notificare la nivel de sistem, cum ar fi libnotify, Growl și Windows Toasters. Proiectul suportă integrarea alertelor native în aplicații Node.js, aplicații desktop Electron și scripturi shell. Include un utilitar CLI pentru a declanșa alerte desktop direct dintr-un terminal folosind argumente sau input piped. Biblioteca gestionează livrarea alertelor native, inclusiv redarea audio-ului de notificare personalizat. De asemenea, monitorizează interacțiunea utilizatorului, permițând aplicațiilor să asculte click-urile sau timeout-urile pentru a declanșa răspunsuri programatice. Opțiunile de configurare sunt disponibile pentru a ajusta setările reporterului sistemului de operare, cum ar fi identificatorii aplicației și nivelurile de urgență.
Provides an internal API to map generic notification properties to OS-specific command-line flags.
Acest proiect este o extensie a bibliotecii standard Swift și o bibliotecă de sistem cross-platform. Oferă o colecție de tipuri utilitare de bază și structuri de date fundamentale care extind limbajul Swift, acționând ca un strat de interfață independent de sistemul de operare pentru gestionarea operațiunilor precum rețelistica și sistemele de fișiere. Proiectul include un strat specializat de interoperabilitate C++ care mapează tipurile și funcțiile C++ în interfețe Swift compatibile pentru comunicarea între limbaje. Aceasta include un mecanism de bridging pentru a gestiona tipurile bibliotecii standard și containere externe, permițând maparea tipurilor C++ ca tipuri de referință sau de valoare pentru a sincroniza gestionarea memoriei și semantica. Capabilitățile includ serializarea datelor pentru codificarea și decodificarea formatelor structurate precum JSON și un framework de internaționalizare pentru gestionarea formatării locale, a calendarelor și a setărilor regionale. De asemenea, oferă gestionarea datelor de bază pentru lucrul cu URL-uri și date binare brute.
Abstracts system operations like networking and file access to ensure consistent behavior across multiple operating systems.
FlyingCarpet is an ad hoc WiFi file transfer tool and offline file exchange utility. It enables peer-to-peer data transfer between devices using direct wireless connections, operating without the need for internet access, routers, or shared network infrastructure. The tool provides cross-platform peer-to-peer transfer capabilities across Windows, macOS, and Linux. It utilizes QR code network provisioning to share wireless credentials and peer addresses, automating the establishment of these offline connections. The system handles air-gapped data migration and cross-platform data exchange thr
Provides a common interface to manage wireless settings across Windows, macOS, and Linux system drivers.
OpenWifi este o implementare open-source a standardului wireless IEEE 802.11n, concepută pentru logică programabilă. Aceasta oferă o platformă radio definită prin software și un procesor de bandă de bază WiFi care implementează straturile fizic și MAC pe hardware FPGA, însoțite de un driver wireless dedicat și un set de instrumente pentru controlul hardware. Proiectul se distinge prin integrarea profundă a analizei de semnal și a telemetriei, în special printr-un cadru de lucru pentru capturarea informațiilor despre starea canalului și a eșantioanelor IQ brute. Acesta permite marcarea temporală a pachetelor de înaltă precizie și corelarea între straturi a eșantioanelor din stratul fizic cu pachetele capturate, pentru a sprijini cercetarea protocoalelor wireless. Sistemul acoperă o gamă largă de capabilități wireless, inclusiv configurarea radio pentru reglarea frecvenței și personalizarea lățimii de bandă, gestionarea RF pentru controlul antenei și al câștigului, precum și gestionarea traficului pentru descărcarea hardware low-MAC. Suportă moduri de rețea standard precum Access Point, Station, Ad-hoc și Monitor, și include instrumente pentru fuzzing de protocol și injectarea de pachete brute. Proiectul include utilitare pentru generarea de imagini OS personalizate și suportă reîncărcarea dinamică a driverelor pentru a actualiza imaginile FPGA fără a reporni sistemul.
Supports specific subcarriers and code rates to optimize high-speed wireless throughput.
This project is a portable implementation of the secure shell toolset designed for deployment across diverse operating systems and platforms. It provides a suite of tools for secure remote login and command execution based on the secure shell protocol. The implementation includes a sandboxed server that isolates processes to limit the impact of potential vulnerabilities on the host operating system. It also functions as a cryptographic key manager for generating and storing security keys to replace or supplement password-based authentication. The project covers encrypted file transfer for mo
Employs an OS abstraction layer to ensure portable execution across different Unix-like operating systems.
PCL-CE is a cross-platform game launcher and runtime environment designed to execute Windows game binaries on macOS and Linux. It functions as a game version manager and a build system for compiling source code into Windows executables from non-Windows development environments. The project provides a cross-platform runtime layer that facilitates the launching and execution of Windows-based game sessions on different operating systems. It includes a binary cross-compiler and a build pipeline that allows for the generation of Windows binaries from macOS and Linux hosts. The software covers gam
Implements an abstraction layer to provide a consistent game launching interface across different operating systems.
This project is a collection of operating systems courseware and educational programming exercises designed for studying operating system design and implementation. It provides a set of concept simulators for modeling CPU scheduling, memory virtualization, and concurrency mechanisms. The project includes specialized tools such as a concurrency simulation lab for experimenting with synchronization, a file system modeling suite for studying disk persistence and RAID configurations, and a process tree visualizer for displaying parent-child relationship hierarchies. The software covers broader c
Simulates how CPU scheduling and memory management abstract physical hardware into process and address space abstractions.