OS family | Multiserver operating systems |
---|---|
Source model | Open source |
Latest release | 0.6.0 / December 21, 2014 |
Platforms | IA-32, AMD64, IA-64, ARM, MIPS, PowerPC, SPARC V9 |
Kernel type | Microkernel |
License | BSD |
Official website | www |
HelenOS is an operating system based on a multiserver microkernel design. The source code of HelenOS is published under a BSD License.
The microkernel handles multitasking, memory management and inter-process communication. It also provides kernel-based threads and supports symmetric multiprocessing.
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 . 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. 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 licence, while some third-party components are available under the GNU General Public License. Both of these licences are free software licences, making HelenOS free software.