HelenOS

Last updated
HelenOS
Helenos.png
Helenos-0.11.1-gui.png
Example applications
Written in C
OS familyMultiserver operating systems
Source model Open source
Initial releaseJune 11, 2006;18 years ago (2006-06-11)
Latest preview 0.14.1 [1]   OOjs UI icon edit-ltr-progressive.svg / 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.org

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]

Contents

The system is described as a “research development open-source operating system”. [9]

Technical overview

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.

Development

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.

Hardware support

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.

Research and academic use

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]

Related Research Articles

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.

<span class="mw-page-title-main">QNX</span> Real-time operating system (RTOS) software

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.

<span class="mw-page-title-main">DragonFly BSD</span> Free and open-source Unix-like operating system

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.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

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.

<span class="mw-page-title-main">FOSDEM</span> Annual event in Brussels centered on free and open source software development

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.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

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.

<span class="mw-page-title-main">NetSurf</span> Web browser

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.

<span class="mw-page-title-main">Minix 3</span> Unix-like operating system

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.

<span class="mw-page-title-main">ChibiOS/RT</span> Real-time operating system

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.

<span class="mw-page-title-main">Kernel (operating system)</span> Core of a computer operating system

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.

<span class="mw-page-title-main">NetBSD</span> Free and open-source Unix-like operating system

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.

<span class="mw-page-title-main">Rump kernel</span> Software run in userspace that offers kernel functionality

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.

<span class="mw-page-title-main">OpenZFS</span> Open-source implementation of the ZFS file system

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.

<span class="mw-page-title-main">Genode</span> Free and open-source software operating system

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.

References

  1. "Release Notes for HelenOS 0.14.1". 19 May 2024.
  2. "HelenOS". GitHub . 22 April 2022.
  3. 1 2 3 "License – HelenOS". Archived from the original on 2016-03-10. Retrieved 2021-06-18.
  4. hpr1447 :: HPR Coverage at FOSDEM 2014 Part 1/5
  5. HelenOS Micro-Kernel OS Still Marching On
  6. HelenOS - the operating system that launched a thousand processes, DistroWatch Weekly, Issue 350, 19 April 2010
  7. HelenOS nikdy nebude dokončený, říká jeho autor Jakub Jermář
  8. Architecting Critical Systems. Springer Berlin Heidelberg. 2010. p. 74. ISBN   9783642135569.
  9. https://www.facebook.com/HelenOS [ user-generated source ]
  10. "HelenOS Contributors measured by Ohloh". Archived from the original on 2010-04-12. Retrieved 2012-03-15.
  11. List of projects accepted into Google Summer of Code 2011
  12. List of projects accepted into Google Summer of Code 2012
  13. List of projects accepted into Google Summer of Code 2014
  14. "Selected mentoring organizations". Archived from the original on 2017-07-16. Retrieved 2020-01-11.
  15. "HelenOS analysis by Ohloh". Archived from the original on 2011-04-01. Retrieved 2012-03-15.
  16. FOSDEM (2019-02-11), Lessons learned from porting HelenOS to RISC-V Pros and cons of RISC-V from a microkernel OS point …, archived from the original on 2021-12-22, retrieved 2019-02-25
  17. Institutional research plan MSM0021620838 - Modern methods, structures and systems of computer science (2005-2011, MSM)
  18. Research @ D3S
  19. Defended HelenOS theses at Faculty of Mathematics and Physics, Charles University in Prague [ permanent dead link ]