Jump to content

HelenOS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
update version and release date
use ia32 category
 
(41 intermediate revisions by 29 users not shown)
Line 1: Line 1:
{{Primary sources|date=March 2012}}
{{Infobox OS
{{Infobox OS
| name = HelenOS
| name = HelenOS
| logo = [[Image:Helenos.png]]
| logo = [[File:Helenos.png|200px]]
| screenshot = <!-- [[Image:HelenOS-screenshot.png|250px]] Screenshot removed. -->
| screenshot = [[File:Helenos-0.11.1-gui.png|250px]]
| caption =
| caption = Example applications
| family = Multiserver operating systems
| family = Multiserver operating systems
| released = {{Start date and age|mf=yes|2006|06|11}}
| latest_release_version = 0.7.2
| latest release version = {{wikidata|property|preferred|references|edit|Q3243004|P348|P548=Q2804309}}
| latest_release_date = {{release date|2018|7|15}}
| latest release date = {{wikidata|qualifier|preferred|single|Q3243004|P348|P548=Q2804309|P577}}
| latest preview version = {{wikidata|property|preferred|references|edit|Q3243004|P348|P548=Q51930650}}
| latest preview date = {{wikidata|qualifier|preferred|single|Q3243004|P348|P548=Q51930650|P577}}
| programmed in = [[C (programming language)|C]]
| kernel_type = [[Microkernel]]
| kernel_type = [[Microkernel]]
| supported_platforms = [[IA-32]], [[x86-64|AMD64]], [[Itanium|IA-64]], [[ARM architecture|ARM]], [[MIPS architecture|MIPS]], [[PowerPC]], [[SPARC]] V9
| supported_platforms = [[IA-32]], [[x86-64|AMD64]], [[Itanium|IA-64]], [[ARM architecture|ARM]], [[MIPS architecture|MIPS]], [[PowerPC]], [[SPARC]] V9, [[RISC-V]]
| package_manager = coastline packages<ref>{{Cite web|url=https://github.com/HelenOS/helenos/blob/master/uspace/app/pkg/pkg.c|title = HelenOS|website = [[GitHub]]|date = 22 April 2022}}</ref>
| license = [[BSD licenses|BSD]]
| license = [[BSD-3-Clause]]<ref name="license">{{cite web|title=License – HelenOS|url=http://www.helenos.org/wiki/License|access-date=2021-06-18|archive-date=2016-03-10|archive-url=https://web.archive.org/web/20160310125017/http://www.helenos.org/wiki/License|url-status=live}}</ref>
| working_state =
| working_state =
| website = {{url|http://www.helenos.org}}
| website = {{URL|http://www.helenos.org}}
| source_model = [[Open source]]
| source_model = [[Open-source software|Open source]]
}}
}}


'''HelenOS'''<ref>[http://hackerpublicradio.org/eps.php?id=1447 hpr1447 :: HPR Coverage at FOSDEM 2014 Part 1/5]</ref><ref>[https://www.phoronix.com/scan.php?page=news_item&px=MTI5ODk HelenOS Micro-Kernel OS Still Marching On]</ref><ref>[http://distrowatch.com/weekly.php?issue=20100419#feature HelenOS - the operating system that launched a thousand processes, DistroWatch Weekly, Issue 350, 19 April 2010]</ref><ref>[http://www.root.cz/clanky/helenos-nikdy-nebude-dokonceny-rika-jeho-autor-jakub-jermar/ HelenOS nikdy nebude dokončený, říká jeho autor Jakub Jermář]</ref> is an [[operating system]] based on a multiserver [[microkernel]] design. The [[source code]] of HelenOS is published under a BSD License.
'''HelenOS'''<ref>[http://hackerpublicradio.org/eps.php?id=1447 hpr1447 :: HPR Coverage at FOSDEM 2014 Part 1/5]</ref><ref>[https://www.phoronix.com/scan.php?page=news_item&px=MTI5ODk HelenOS Micro-Kernel OS Still Marching On]</ref><ref>[http://distrowatch.com/weekly.php?issue=20100419#feature HelenOS - the operating system that launched a thousand processes, DistroWatch Weekly, Issue 350, 19 April 2010]</ref><ref>[http://www.root.cz/clanky/helenos-nikdy-nebude-dokonceny-rika-jeho-autor-jakub-jermar/ HelenOS nikdy nebude dokončený, říká jeho autor Jakub Jermář]</ref> is an [[operating system]] based on a multiserver [[microkernel]] design.<ref>{{Cite book |title=Architecting Critical Systems |publisher=[[Springer Berlin Heidelberg]] |year=2010 |isbn=9783642135569 |pages=74}}</ref> The [[source code]] of HelenOS is written in [[C (programming language)|C]] and published under the [[BSD licenses|BSD-3-Clause]] license.<ref name="license" />

The system is described as a “research development open-source operating system”.<ref>https://www.facebook.com/HelenOS {{User-generated source|certain=yes|date=August 2022}}</ref>


== Technical overview ==
== Technical overview ==
Line 25: Line 31:
Each process (called ''task'') can contain several [[Thread (computer science)|threads]] (preemptively scheduled by the kernel) which, in turn, can contain several [[Fiber (computer science)|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.
Each process (called ''task'') can contain several [[Thread (computer science)|threads]] (preemptively scheduled by the kernel) which, in turn, can contain several [[Fiber (computer science)|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 [[wikt:asynchronous|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.
Tasks communicate via HelenOS IPC, which is [[connection oriented]] and [[wikt:asynchronous|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 ==
== 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.<ref>[http://www.ohloh.net/p/helenos/contributors HelenOS Contributors measured by Ohloh]</ref> In 2011, 2012 and 2014, HelenOS participated in the Google Summer of Code as a mentoring organization.<ref>[http://www.google-melange.com/gsoc/projects/list/google/gsoc2011 List of projects accepted into Google Summer of Code 2011]</ref><ref>[http://www.google-melange.com/gsoc/projects/list/google/gsoc2012 List of projects accepted into Google Summer of Code 2012]</ref><ref>[http://www.google-melange.com/gsoc/projects/list/google/gsoc2014 List of projects accepted into Google Summer of Code 2014]</ref> In 2013, the project was a mentoring organization in the [[ESA]] Summer of Code in Space 2013 program.<ref>[http://sophia.estec.esa.int/socis2013/?q=node/13 Selected mentoring organizations]</ref>
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.<ref>{{Cite web |url=http://www.ohloh.net/p/helenos/contributors |title=HelenOS Contributors measured by Ohloh |access-date=2012-03-15 |archive-date=2010-04-12 |archive-url=https://web.archive.org/web/20100412002404/http://www.ohloh.net/p/helenos/contributors |url-status=dead }}</ref> In 2011, 2012 and 2014, HelenOS participated in the [[Google Summer of Code]] as a mentoring organization.<ref>[http://www.google-melange.com/gsoc/projects/list/google/gsoc2011 List of projects accepted into Google Summer of Code 2011]</ref><ref>[http://www.google-melange.com/gsoc/projects/list/google/gsoc2012 List of projects accepted into Google Summer of Code 2012]</ref><ref>[http://www.google-melange.com/gsoc/projects/list/google/gsoc2014 List of projects accepted into Google Summer of Code 2014]</ref> In 2013, the project was a mentoring organization in the [[ESA]] Summer of Code in Space 2013 program.<ref>{{Cite web |url=http://sophia.estec.esa.int/socis2013/?q=node%2F13 |title=Selected mentoring organizations |access-date=2020-01-11 |archive-url=https://web.archive.org/web/20170716044813/http://sophia.estec.esa.int/socis2013/?q=node%2F13 |archive-date=2017-07-16 |url-status=dead }}</ref>


The [[source code]] of HelenOS is published under the [[BSD licence]], while some third-party components are available under the [[GNU General Public License]].<ref>[http://www.ohloh.net/p/helenos/analyses/latest HelenOS analysis by Ohloh]</ref> Both of these licences are [[free software licences]], making HelenOS [[free software]].
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]].<ref name="license" /><ref>{{Cite web |url=http://www.ohloh.net/p/helenos/analyses/latest |title=HelenOS analysis by Ohloh |access-date=2012-03-15 |archive-date=2011-04-01 |archive-url=https://web.archive.org/web/20110401225643/http://www.ohloh.net/p/helenos/analyses/latest |url-status=dead }}</ref> Both of these licences are [[free software licenses]], making HelenOS [[free software]].


== Hardware support ==
== Hardware support ==
HelenOS runs on several different [[Instruction set architecture|CPU architectures]] including [[ARM architecture|ARM]], [[x86-64]], [[IA-32]], IA-64 ([[Itanium]]), [[MIPS architecture|MIPS]], [[PowerPC]] (32-bit only), and [[SPARC]] V9. 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 runs on several different [[Instruction set architecture|CPU architectures]] including [[ARM architecture|ARM]], [[x86-64]], [[IA-32]], IA-64 ([[Itanium]]), [[MIPS architecture|MIPS]], [[PowerPC]] (32-bit only), [[SPARC]] V9 and [[RISC-V]].<ref>{{Citation|last=FOSDEM|title=Lessons learned from porting HelenOS to RISC-V Pros and cons of RISC-V from a microkernel OS point …|date=2019-02-11|url=https://www.youtube.com/watch?v=evnahBRjwKQ |archive-url=https://ghostarchive.org/varchive/youtube/20211222/evnahBRjwKQ |archive-date=2021-12-22 |url-status=live|access-date=2019-02-25}}{{cbignore}}</ref> At some point in time{{explain|date=January 2019}}, various versions of HelenOS ran on real hardware from each architecture (as opposed to running only in a simulator of that architecture).


HelenOS supports [[Parallel ATA|PATA]], [[Serial ATA|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 supports [[Parallel ATA|PATA]], [[Serial ATA|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 ==
== Research and academic use ==
HelenOS is being used for research<ref>[http://www.isvav.cz/researchPlanDetail.do?rowId=MSM0021620838 Institutional research plan MSM0021620838 - Modern methods, structures and systems of computer science (2005-2011, MSM)]</ref><ref>[http://d3s.mff.cuni.cz/research/ Research @ D3S]</ref> 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.<ref>[http://is.cuni.cz/eng/studium/dipl_st/index.php?fak=11320&fulltext=HelenOS&fulltext_kde%5b%5d=nazev&fulltext_kde%5b%5d=ostatni&full_or_like=1&kterep=obh&f=find&do=main&f=Search Defended HelenOS theses at Faculty of Mathematics and Physics, Charles University in Prague]</ref>
HelenOS is being used for research<ref>[http://www.isvav.cz/researchPlanDetail.do?rowId=MSM0021620838 Institutional research plan MSM0021620838 - Modern methods, structures and systems of computer science (2005-2011, MSM)]</ref><ref>[http://d3s.mff.cuni.cz/research/ Research @ D3S]</ref> 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.<ref>[http://is.cuni.cz/eng/studium/dipl_st/index.php?fak=11320&fulltext=HelenOS&fulltext_kde%5b%5d=nazev&fulltext_kde%5b%5d=ostatni&full_or_like=1&kterep=obh&f=find&do=main&f=Search Defended HelenOS theses at Faculty of Mathematics and Physics, Charles University in Prague]{{Dead link|date=January 2020 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>


==References==
==References==
{{Reflist}}
<references/>


==External links==
==External links==
{{Portal|Free software}}
{{Portal|Free and open-source software}}
* [http://www.helenos.org HelenOS home page]
* [http://www.helenos.org HelenOS home page]

==Further reading==
* [http://www.helenos.org/documentation HelenOS theses, papers and documentation.]
* [http://www.helenos.org/documentation HelenOS theses, papers and documentation.]
* [https://github.com/HelenOS/helenos HelenOS] on GitHub

{{Microkernel}}
{{Hobbyist operating systems}}


<!-- Categories -->
<!-- Categories -->
[[Category:Free software operating systems]]
[[Category:Free software operating systems]]
[[Category:Microkernel-based operating systems]]
[[Category:Microkernel-based operating systems]]
[[Category:ARM operating systems]]
[[Category:MIPS operating systems]]
[[Category:MIPS operating systems]]
[[Category:X86 operating systems]]
[[Category:IA-32 operating systems]]
[[Category:X86-64 operating systems]]
[[Category:Microkernels]]
[[Category:Microkernels]]
[[Category:Software using the BSD license]]
{{MicroKernel}}
[[Category:Hobbyist operating systems]]

Latest revision as of 15:05, 20 October 2024

HelenOS
Example applications
Written inC
OS familyMultiserver operating systems
Source modelOpen source
Initial releaseJune 11, 2006; 18 years ago (2006-06-11)
Latest preview0.14.1[1] Edit this on Wikidata / 19 May 2024
Repository
Package managercoastline packages[2]
PlatformsIA-32, AMD64, IA-64, ARM, MIPS, PowerPC, SPARC V9, RISC-V
Kernel typeMicrokernel
LicenseBSD-3-Clause[3]
Official websitewww.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]

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

Technical overview

[edit]

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

[edit]

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

[edit]

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

[edit]

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]

References

[edit]
  1. ^ "Release Notes for HelenOS 0.14.1". 19 May 2024.
  2. ^ "HelenOS". GitHub. 22 April 2022.
  3. ^ a b c "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]
[edit]