Written in | C |
---|---|
OS family | Multiserver operating systems |
Source model | Open source |
Initial release | June 11, 2006 |
Latest preview | 0.14.1 [1] / 19 May 2024 |
Repository | |
Package manager | coastline packages [2] |
Platforms | IA-32, AMD64, IA-64, ARM, MIPS, PowerPC, SPARC V9, RISC-V |
Kernel type | Microkernel |
License | BSD-3-Clause [3] |
Official website | www |
HelenOS [4] [5] [6] [7] is an operating system based on a multiserver microkernel design. [8] The source code of HelenOS is written in C and published under the BSD-3-Clause license. [3]
The system is described as a “research development open-source operating system”. [9]
The microkernel handles multitasking, memory management and inter-process communication. It also provides kernel-based threads and supports symmetric multiprocessing.
Typical to microkernel design, file systems, networking, device drivers and graphical user interface are isolated from each other into a collection of user space components that communicate via a message bus.
Each process (called task) can contain several threads (preemptively scheduled by the kernel) which, in turn, can contain several fibers scheduled cooperatively in user space. Device and file-system drivers, as well as other system services, are implemented by a collection of user-space tasks (servers), creating thus the multiserver nature of HelenOS.
Tasks communicate via HelenOS IPC, which is connection oriented and asynchronous. It can be used to send small fixed-size messages, blocks of bytes or to negotiate sharing of memory. Messages can be forwarded without copying bulk data or mapping memory to the address space of middle-men tasks.
HelenOS development is community-driven. The developer community consists of a small core team, mainly staff and former and contemporary students of the Faculty of Mathematics and Physics at Charles University in Prague, and a number of contributors around the world. [10] In 2011, 2012 and 2014, HelenOS participated in the Google Summer of Code as a mentoring organization. [11] [12] [13] In 2013, the project was a mentoring organization in the ESA Summer of Code in Space 2013 program. [14]
The source code of HelenOS is published under the BSD-3-Clause license, while some third-party components are available under the GNU General Public License. [3] [15] Both of these licences are free software licenses, making HelenOS free software.
HelenOS runs on several different CPU architectures including ARM, x86-64, IA-32, IA-64 (Itanium), MIPS, PowerPC (32-bit only), SPARC V9 and RISC-V. [16] At some point in time[ further explanation needed ], various versions of HelenOS ran on real hardware from each architecture (as opposed to running only in a simulator of that architecture).
HelenOS supports PATA, SATA, USB mass storage, USB HID, an Atheros USB WiFi dongle, several Ethernet network cards, SoundBlaster 16 and Intel HDA audio devices, serial ports, keyboards, mice and framebuffers.
HelenOS is being used for research [17] [18] in the area of software components and verification by the Department of Distributed and Dependable Systems, Charles University, Prague. Besides that, HelenOS has been used by students as a platform for software projects and master theses. [19]
Mach is a kernel developed at Carnegie Mellon University by Richard Rashid and Avie Tevanian to support operating system research, primarily distributed and parallel computing. Mach is often considered one of the earliest examples of a microkernel. However, not all versions of Mach are microkernels. Mach's derivatives are the basis of the operating system kernel in GNU Hurd and of Apple's XNU kernel used in macOS, iOS, iPadOS, tvOS, and watchOS.
Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market.
L4 is a family of second-generation microkernels, used to implement a variety of types of operating systems (OS), though mostly for Unix-like, Portable Operating System Interface (POSIX) compliant types.
DragonFly BSD is a free and open-source Unix-like operating system forked from FreeBSD 4.8. Matthew Dillon, an Amiga developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on 16 July 2003.
XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.
Free and Open source Software Developers' European Meeting (FOSDEM) is a non-commercial, volunteer-organized European event centered on free and open-source software development. It is aimed at developers and anyone interested in the free and open-source software movement. It aims to enable developers to meet and to promote the awareness and use of free and open-source software.
These tables provide a comparison of operating systems, of computer devices, as listing general and technical information for a number of widely used and currently available PC or handheld operating systems. The article "Usage share of operating systems" provides a broader, and more general, comparison of operating systems that includes servers, mainframes and supercomputers.
Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.
QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one processor architecture to run on another.
NetSurf is an open-source web browser which uses its own layout engine. Its design goal is to be lightweight and portable. NetSurf provides features including tabbed browsing, bookmarks, and page thumbnailing.
A hybrid kernel is an operating system kernel whose architecture attempts to combine aspects and benefits of microkernel and monolithic kernel architectures used in operating systems.
Minix 3 is a small, Unix-like operating system. It is published under a BSD-3-Clause license and is a successor project to the earlier versions, Minix 1 and 2.
ChibiOS/RT is a compact and fast real-time operating system supporting multiple architectures and released under a mix of the GNU General Public License version 3 (GPL3) and the Apache License 2.0. It is developed by Giovanni Di Sirio.
The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. The kernel is also responsible for preventing and mitigating conflicts between different processes. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of the startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.
NetBSD is a free and open-source Unix-like operating system based on the Berkeley Software Distribution (BSD). It was the first open-source BSD descendant officially released after 386BSD was forked. It continues to be actively developed and is available for many platforms, including servers, desktops, handheld devices, and embedded systems.
The NetBSD rump kernel is the first implementation of the "anykernel" concept where drivers either can be compiled into or run in the monolithic kernel or in user space on top of a light-weight kernel. The NetBSD drivers can be used on top of the rump kernel on a wide range of POSIX operating systems, such as the Hurd, Linux, NetBSD, DragonFly BSD, Solaris kernels and even Cygwin, along with the file system utilities built with the rump libraries. The rump kernels can also run without POSIX directly on top of the Xen hypervisor, an L4 microkernel using the Genode OS Framework or even on "OS-less" bare metal.
OpenZFS is an open-source implementation of the ZFS file system and volume manager initially developed by Sun Microsystems for the Solaris operating system, and is now maintained by the OpenZFS Project. Similar to the original ZFS, the implementation supports features like data compression, data deduplication, copy-on-write clones, snapshots, RAID-Z, and virtual devices that can create filesystems that span multiple disks.
Genode is a free and open-source software operating system (OS) framework consisting of a microkernel abstraction layer and a set of user space components. The framework is notable as one of the few open-source operating systems not derived from a proprietary OS, such as Unix. The characteristic design philosophy is that a small trusted computing base is of primary concern in a security-oriented OS.