HelenOS is an
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
based on a multiserver
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
design. The
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
of HelenOS is written in
C and published under the
BSD-3-Clause 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. 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
Connection-oriented communication is a network communication mode in telecommunications and computer networking, where a communication session or a semi-permanent connection is established before any useful data can be transferred. The establish ...
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
)
, image_name = Carolinum_Logo.svg
, image_size = 200px
, established =
, type = Public, Ancient
, budget = 8.9 billion CZK
, rector = Milena Králíčková
, faculty = 4,057
, administrative_staff = 4,026
, students = 51,438
, undergr ...
, and a number of contributors around the world. In 2011, 2012 and 2014, HelenOS participated in the
Google Summer of Code
The Google Summer of Code, often abbreviated to GSoC, is an international annual program in which Google awards stipends to contributors who successfully complete a free and open-source software coding project during the summer. , the program is ...
as a mentoring organization. In 2013, the project was a mentoring organization in the
ESA
, owners =
, headquarters = Paris, Île-de-France, France
, coordinates =
, spaceport = Guiana Space Centre
, seal = File:ESA emblem seal.png
, seal_size = 130px
, image = Views in the Main Control Room (120 ...
Summer of Code in Space 2013 program.
The
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the w ...
of HelenOS is published under the
BSD-3-Clause license, while some third-party components are available under the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
.
Both of these licences are
free software licenses
A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
, making HelenOS
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
.
Hardware support
HelenOS runs on several different
CPU architectures including
ARM
In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
,
x86-64
x86-64 (also known as x64, x86_64, AMD64, and Intel 64) is a 64-bit version of the x86 instruction set, first released in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging ...
,
IA-32
IA-32 (short for "Intel Architecture, 32-bit", commonly called i386) is the 32-bit version of the x86 instruction set architecture, designed by Intel and first implemented in the 80386 microprocessor in 1985. IA-32 is the first incarnation o ...
, IA-64 (
Itanium
Itanium ( ) is a discontinued family of 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). Launched in June 2001, Intel marketed the processors for enterprise servers and high-performance comput ...
),
MIPS,
PowerPC (32-bit only),
SPARC
SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system develope ...
V9 and
RISC-V
RISC-V (pronounced "risk-five" where five refers to the number of generations of RISC architecture that were developed at the University of California, Berkeley since 1981) is an open standard instruction set architecture (ISA) based on estab ...
. 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
Pata or PATA may refer to:
Places
* Pata, Sulu, a Philippine municipality
* Pata, Galanta District, a village in Slovakia
* Pata, Central African Republic, a village
* Pata village (Samoa), a village in Samoa
* Pontrilas Army Training Area, a ...
,
SATA
SATA (Serial AT Attachment) is a computer bus interface that connects host bus adapters to mass storage devices such as hard disk drives, optical drives, and solid-state drives. Serial ATA succeeded the earlier Parallel ATA (PATA) standard t ...
,
USB mass storage
The USB mass storage device class (also known as USB MSC or UMS) is a set of computing communications protocols, specifically a USB Device Class, defined by the USB Implementers Forum that makes a USB device accessible to a host computing devi ...
,
USB HID
In computing, the USB human interface device class (USB HID class) is a part of the USB specification for computer peripherals: it specifies a device class (a type of computer hardware) for human interface devices such as keyboard (computing), key ...
, an Atheros USB
WiFi
Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio wa ...
dongle, several
Ethernet
Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 1 ...
network cards,
SoundBlaster 16
The Sound Blaster 16 is a series of sound cards by Creative Technology. They are add-on boards for IBM PC compatible, PCs with an industry standard architecture, ISA or conventional PCI, PCI slot.
Sound Blaster 16
Sound Blaster 16 (June 1992 ...
and
Intel HDA 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