Английская Википедия:BareMetal
BareMetal is an exokernel-based single address space operating system (OS) created by Return Infinity.
It is written in assembly to achieve high-performance computing with minimal footprint[1][2] with a "just enough operating system" (JeOS) approach.[3] The operating system is primarily targeted towards virtualized environments for cloud computing, or HPCs due to its design as a lightweight kernel (LWK). It could be used as a unikernel.
It was inspired by another OS written in assembly, MikeOS,[4] and it is a recent example of an operating system that is not written in C or C++, nor based on Unix-like kernels.[5]
Overview
Hardware requirements
- AMD/Intel based 64-bit computer
- Memory: 4 MB (plus 2 MB for every additional core)
- Hard Disk: 32 MB[6]
One task per core
Multitasking on BareMetal is unusual for modern operating systems. BareMetal 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, which results in no context switch overhead.[7]
Programming
API
An API is documented[8] but, in line with its philosophy, the OS does not enforce entry points for system calls (e.g.: no call gates or other safety mechanisms).
C
BareMetal OS has a build script to pull the latest code, make the needed changes, and then compile C code using[9] the Newlib C standard library.[10]
C++
A mostly-complete C++11 Standard Library was designed and developed for working in ring 0.[11] 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.[12]
Rust
A Rust program demonstration was added to the programs in November 2014, demonstrating the ability to write Rust programs for BareMetal OS.[13]
Networking
TCP/IP stack
A TCP/IP stack was the #1 feature request.[14] A port of lwIP written in C was announced in October 2014.[15]
minIP,[16] a minimalist IP stack in ANSI C able to provide enough functionalities to serve a simple static webpage, is being developed as a proof of concept to learn the fundamentals in preparation for an x86-64 assembly re-write planned for the future.
References
External links
- Шаблон:GitHub
- BareMetal OS Google Group discussion forum
Шаблон:Hobbyist operating systems
- ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокosnews-baremetalos
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокhackday-entirely
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокJeOS-approach
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокosnews-interview
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокdistrowatch-weekly
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокri-baremetal
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокBMO-queue
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокAPI-doc
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокnewlib-announce
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокnewlib
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокBareC++-announced
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокBareC++
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокrust-commit
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокtcpip-request
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокlwIP-announced
не указан текст - ↑ Ошибка цитирования Неверный тег
<ref>
; для сносокminIP
не указан текст
- Английская Википедия
- Free software operating systems
- Hobbyist operating systems
- Microkernels
- Software using the BSD license
- Assembly language software
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Английской Википедии
- Страницы с ошибками в примечаниях