Managarm
Developer | Alexander van der Grinten |
---|---|
Written in | |
OS family | Unix-like |
Working state | Current |
Source model | Open-source |
Available in | English |
Platforms | AMD64 |
Kernel type | Microkernel |
Userland | GNU |
Default user interface | Weston (software) |
License | MIT license |
Official website | www |
Managarm is a Unix-like free and open source operating system created by Alexander van der Grinten. Managarm aims to use a completely asynchronous API for I/O while providing good Linux compatibility in user space[1]. To accomplish this, Managarm makes extensive use of coroutines added in c++20.
Overview[edit]
The Managarm operating system is comprised out of 4 main parts, the kernel, the various subsystems and device drivers, the custom C library called mlibc[2], and the user space. Because Managarm is a microkernel, only the kernel runs in kernel space while the other components reside in user space. The kernel consists of 2 separate binaries, namely the prekernel (called eir), which is responsible for setting up the environment after getting control from a compatible bootloader, either one which supports the multiboot protocol version 1 or 2, or one which supports the stivale protocol and the main kernel (called Thor), which implements the generic system handling code required for the OS to function. Among the subsystems, the biggest subsystem is the posix subsystem, which is responsible for handling the various user space requests and implements a lot of the functionality found in posix. While Managarm is not a Linux distribution or derivative, it does strive to gain source code compatibility for user space programs with it. To achieve this, Managarm implements many Linux APIs, such as epoll, timerfd and signalfd.
Features[edit]
While Managarm can be ran on real hardware, most of the testing occurs in virtual machines. Nevertheless, Managarm has a 64-bit kernel with Symmetric multiprocessing support and ongoing work towards an ARM architecture port for a Raspberry Pi 4, Advanced Configuration and Power Interface support, USB support, a basic networking stack with support for IPv4, tcp and udp, support for the ext2 file system and support for various Linux APIs.
Software[edit]
Managarm has a growing collection of ports, provided by members of the community[3][4]. Some of the more notable ports include:
References[edit]
- ↑ "managarm/managarm". GitHub.
- ↑ "managarm/mlibc". August 5, 2020 – via GitHub.
- ↑ "Managarm at the End of 2019". managarm.org.
- ↑ "managarm/bootstrap-managarm". July 31, 2020 – via GitHub.
External links[edit]
This article "Managarm" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:Managarm. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.