BareMetal

For other uses, see Bare metal (disambiguation).
BareMetal
Developer Return Infinity
Written in Assembly
Working state Current
Source model Open source
Initial release 2008
Latest release 0.6.0 / April 30, 2013
Marketing target HPCs, HTC, Cloud computing
Available in English
Platforms x86-64
Kernel type Exokernel, SASOS
Userland Unknown
Default user interface Command-line
License BSD License[1]
Official website www.returninfinity.com/baremetal.html

BareMetal is an exokernel-based single address space operating system (OS) created by Return Infinity.

It's written in assembly to achieve high-performance computing with minimal footprint[2][3] with a JeOS approach,[4] like in virtualized environments for cloud computing, or like a Lightweight Kernel (LWK) approach, for HPCs.

It was inspired by another OS written in assembly, MikeOS,[1] and it's a current-day example of an operating system that is not written in C or C++, nor based on Unix-like kernels.[5]

Hardware requirements[6]

One task per core

BareMetal multitasking is unusual for current OSes: it uses an internal work queue that all CPU cores poll. A task added to the work queue will be processed by any available CPU core in the system and will execute until completion (no context switch overhead).[7]

C standard library

BareMetal OS has a build script to pull the latest code, make the needed changes, and then compile[8] the Newlib C standard library.[9]

C++ standard library

An C++-11 (almost) Standard Library was designed and developed for working in ring 0.[10] The main goal of such library is providing, on a library level, an alternative to hardware memory protection used in classical OSes, with help of carefully designed classes.[11]

TCP/IP stack

A TCP/IP stack was the #1 feature request.[12] A port of lwIP was finally announced in October 2014.[13]

References

  1. 1.0 1.1 Voorsanger, Conrad (June 2, 2011). "Interview With Baremetal OS' Ian Seyler". OSNews. Retrieved May 26, 2014.
  2. Adams, David (July 14, 2010). "BareMetal OS". OSNews. Retrieved May 26, 2014.
  3. Benchoff, Brian (May 27, 2011). "64-bit OS written entirely in assembly". Hack A Day. Retrieved May 26, 2014.
  4. Seyler, Ian. "Return Infinity (home page), The BareMetal advantage". Return Infinity. Retrieved February 2, 2015.
  5. Smith, Jesse (July 19, 2010). "DistroWatch Weekly, Issue 363". DistroWatch. Retrieved May 26, 2014.
  6. "BareMetal OS Requirements". Return Infinity (archived copy at Wayback Machine). Retrieved September 6, 2014.
  7. "BareMetal OS Queue". Retrieved April 28, 2015.
  8. Seyler, Ian (January 17, 2014). "Newlib build script". BeareMetal OS Google Group. Retrieved February 2, 2015.
  9. Seyler, Ian. "newlib.sh". Build scripts for BareMetal OS and its related utilities, GitHub repository. Retrieved February 2, 2015.
  10. Lodyagin, Sergei (November 17, 2013). "Bare C++ library". BeareMetal OS Google Group. Retrieved February 2, 2015.
  11. Lodyagin, Sergei. "The Bare C++ library". The Bare C++ library GitHub repository. Retrieved February 2, 2015.
  12. Seyler, Ian (August 22, 2013). "TCP/IP". BeareMetal OS Google Group. Retrieved February 2, 2015.
  13. Seyler, Ian (October 31, 2014). "BareMetal and lwIP". BeareMetal OS Google Group. Retrieved February 2, 2015.

External links