HelenOS is an
operating system based on a multiserver
microkernel design. The
source code of HelenOS is written in
C and published under the
BSD-3-Clause
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
license.
The system is described as a “research development open-source operating system”.
Technical overview
The microkernel handles
multitasking, memory management and
inter-process communication
In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categori ...
. It also provides kernel-based
thread
Thread may refer to:
Objects
* Thread (yarn), a kind of thin yarn used for sewing
** Thread (unit of measurement), a cotton yarn measure
* Screw thread, a helical ridge on a cylindrical fastener
Arts and entertainment
* ''Thread'' (film), 2016 ...
s and supports
symmetric multiprocessing
Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
.
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
Thread may refer to:
Objects
* Thread (yarn), a kind of thin yarn used for sewing
** Thread (unit of measurement), a cotton yarn measure
* Screw thread, a helical ridge on a cylindrical fastener
Arts and entertainment
* ''Thread'' (film), 2016 ...
(preemptively scheduled by the kernel) which, in turn, can contain several
fibers
Fiber or fibre (from la, fibra, links=no) is a natural or artificial substance that is significantly longer than it is wide. Fibers are often used in the manufacture of other materials. The strongest engineering materials often incorporate ...
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
Asynchrony is the state of not being in synchronization.
Asynchrony or asynchronous may refer to:
Electronics and computing
* Asynchrony (computer programming), the occurrence of events independent of the main program flow, and ways to deal with ...
. 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. In 2011, 2012 and 2014, HelenOS participated in the
Google Summer of Code as a mentoring organization. In 2013, the project was a mentoring organization in the
ESA Summer of Code in Space 2013 program.
The
source code of HelenOS is published under the
BSD-3-Clause
BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lic ...
license, while some third-party components are available under the
GNU General Public License.
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
PowerPC (with the backronym Performance Optimization With Enhanced RISC – Performance Computing, sometimes abbreviated as PPC) is a reduced instruction set computer (RISC) instruction set architecture (ISA) created by the 1991 Apple Inc., App ...
(32-bit only),
SPARC V9 and
RISC-V. At some point in time, 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
Intel High Definition Audio (IHDA) (also called HD Audio or development codename Azalia) is a specification for the audio sub-system of personal computers. It was released by Intel in 2004 as the successor to their AC'97 PC audio standard.
Featur ...
audio devices, serial ports, keyboards, mice and framebuffers.
Research and academic use
HelenOS is being used for research 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.
Defended HelenOS theses at Faculty of Mathematics and Physics, Charles University in Prague
/ref>
References
External links
HelenOS home page
HelenOS theses, papers and documentation.
HelenOS
on GitHub
{{Hobbyist operating systems
Free software operating systems
Microkernel-based operating systems
MIPS operating systems
X86 operating systems
Microkernels
Software using the BSD license
Hobbyist operating systems