Draft:LiberSystem


LiberSystem
DeveloperLiberSoft
Written inRust
Source modelOpen source
Supported platformsx86-64, AArch64, riscv64
Kernel typeMicrokernel
LicenseUnlicense
Official websitelibersystem.com

LiberSystem is an open-source operating system written in Rust. It uses a microkernel architecture, a capability-based security model, typed object interfaces, isolated system services, and device drivers running outside the kernel.[1][2]

LiberSystem is not a Linux distribution and is not primarily designed as a Unix-compatible operating system. It does not use a global root file system tree, Unix-style pseudo-filesystems such as /proc, /sys and /dev, mount points, or the principle that "everything is a file". Instead, it uses a typed object and capability model in which authority over a resource is represented by an explicitly passed capability.[2]

Overview

LiberSystem is intended for system software development, appliance-like deployments, edge scenarios, security research, and experimental operating-system development.[2]

Its main design features include:[2]

  • a microkernel written in Rust;
  • a capability-based security model without global ambient authority;
  • isolated and restartable user-space drivers and system services;
  • a typed system interface described using the LSIDL interface definition language;
  • an application model based on a native typed ABI and a WebAssembly/WASI host;
  • an explicit storage model based on volumes rather than mount points;
  • a native file system called LiberFS;
  • support for symmetric multiprocessing and multiprocessor systems.

Architecture

Kernel

The LiberSystem kernel is a small microkernel responsible for memory management, scheduling, inter-process communication, capabilities, controlled access to hardware, and cleanup of resources after process failure. File systems, the network stack, graphics subsystem, audio stack, package manager, and ordinary device drivers are implemented outside the kernel as separate user-space services or drivers.[2]

The kernel works with processes, address spaces, handles, capabilities, IPC channels, and domains used for isolation and resource accounting. It is designed for multiprocessor environments.[2]

Capability model

LiberSystem's security model is based on the principle of "no ambient authority". A process can access only resources for which it has received an explicit capability. A capability is an unforgeable authority over an object, while a handle is a concrete entry in a process handle table.[3]

The system distinguishes trusted components, such as the kernel, boot chain and PermissionManager, from untrusted components, including applications, drivers and data crossing security boundaries. Its test suite includes checks for handle rights enforcement, capability attenuation, rejection of invalid system calls, and crash isolation.[3]

IPC and system interfaces

The basic communication object in LiberSystem is a channel. Small messages are sent directly as IPC messages, while larger data is passed through handles to shared or DMA buffers. The kernel IPC model is asynchronous and non-blocking, with synchronously behaving client APIs generated above it.[2]

System interfaces are described using LSIDL, the LiberSystem Interface Definition Language. LSIDL is used to generate a binary wire codec, client and server Rust code, command-line formatters, JSON and CBOR representations, documentation, and compatibility tests.[4]

The generated reference for the liber:system@1 package includes interfaces for logging, storage, devices, processes, configuration, networking, time, audio, input, the system graph, the permission manager, and resource management.[5]

Services and drivers

LiberSystem separates system services from the kernel. The boot process starts the SystemManager, ServiceManager, DeviceManager, and core services. The ServiceManager starts, stops, and restarts services, while the DeviceManager detects devices and grants drivers only the device capabilities they require.[2]

Development and testing are primarily performed in QEMU/KVM environments using virtio drivers. The system also includes USB-related drivers.[1]

Application model

The application model combines a native typed capability IPC/ABI with a WebAssembly/WASI host. The native ABI is the stable base contract of the system, while the WebAssembly Component Model and WASI provide an application-hosting layer.[2]

WebAssembly/WASI is used for sandboxing, language neutrality, and application portability across CPU architectures. WASI is not the complete operating-system interface, but one layer above the stable native contract.[2]

Storage and LiberFS

LiberSystem does not use the traditional Unix model of a single global file-system tree with mounted file systems. Its storage model distinguishes between physical disks, partitions, volumes, and paths inside a specific volume. The canonical address of data is tied to the identity of a volume, for example using a form such as vol://<volume-id>/path/to/file.[2]

The native file system of LiberSystem is LiberFS. LiberFS is a writable copy-on-write disk format with extent-mapped files, block checksums, and snapshots. It is designed for virtual-machine and appliance scenarios, and intentionally omits several complex features found in file systems such as ZFS or Btrfs, including RAID, deduplication, quotas, and on-disk permissions. Authorization is handled by the operating system's capability layer rather than by the file system itself.[6]

License

LiberSystem is released under the Unlicense. The license allows copying, modification, publication, use, compilation, sale, and distribution of the source code or binary form for commercial or non-commercial purposes, to the extent permitted by law.[7]

See also

References

  1. ^ a b "LiberSystem – README". GitHub. Retrieved 7 July 2026.
  2. ^ a b c d e f g h i j k "LiberSystem – modern OS design concept". GitHub. Retrieved 7 July 2026.
  3. ^ a b "LiberSystem Threat model". GitHub. Retrieved 7 July 2026.
  4. ^ "LSIDL – LiberSystem Interface Definition Language". GitHub. Retrieved 7 July 2026.
  5. ^ "Generated reference for liber:system@1". GitHub. Retrieved 7 July 2026.
  6. ^ "LiberFS". GitHub. Retrieved 7 July 2026.
  7. ^ "LiberSystem – LICENSE". GitHub. Retrieved 7 July 2026.

Category:Operating systems Category:Free software operating systems Category:Microkernel-based operating systems Category:Software using the Unlicense Category:Rust (programming language) software

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.