Ren metall

Ren metall
Utvecklare Returnera Infinity
Skrivet i hopsättning
Arbetstillstånd Nuvarande
Källmodell Öppen källa
Initial release 2008 ; 15 år sedan ( 2008 )
Senaste släppningen 1.0.0 / 13 november 2017 ; 5 år sedan ( 2017-11-13 )
Marknadsföringsmål HPC , HTC , Cloud computing
Tillgänglig i engelsk
Plattformar x86-64
Typ av kärna Exokernel , SASOS
Användarland Okänd

Standardanvändargränssnitt _
Kommandorad
Licens BSD-licens
Officiell hemsida www .returninfinity .com

BareMetal är ett exokernelbaserat operativsystem med ett enda adressutrymme ( OS) skapat av Return Infinity .

Det är skrivet i assembly för att uppnå högpresterande datoranvändning med minimalt fotavtryck med ett "bara tillräckligt operativsystem" ( JOS ) tillvägagångssätt. Operativsystemet är främst inriktat på virtualiserade miljöer för cloud computing , eller HPCs på grund av dess design som en lättviktskärna (LWK). Den skulle kunna användas som en unikernel .

Det var inspirerat av ett annat operativsystem som skrivits i assembly, MikeOS, och det är ett färskt exempel på ett operativsystem som inte är skrivet i C eller C++, och inte heller baserat på Unix-liknande kärnor.

Översikt

Hårdvarukrav

  • AMD/Intel-baserad 64-bitars dator
  • Minne: 4 MB (plus 2 MB för varje extra kärna)
  • Hårddisk: 32 MB

En uppgift per kärna

Multitasking på BareMetal är ovanligt för moderna operativsystem. BareMetal använder en intern arbetskö som alla CPU-kärnor pollar. En uppgift som läggs till i arbetskön kommer att bearbetas av alla tillgängliga CPU-kärnor i systemet och kommer att köras tills den är klar, vilket resulterar i ingen kontextbyteoverhead .

Programmering

API

Ett API är dokumenterat men, i linje med dess filosofi, upprätthåller inte operativsystemet ingångspunkter för systemanrop (t.ex. inga anropsgrindar eller andra säkerhetsmekanismer).

C

BareMetal OS har ett byggskript för att hämta den senaste koden, göra de nödvändiga ändringarna och sedan kompilera C-kod med hjälp av Newlib C-standardbiblioteket.

C++

Ett mestadels komplett C++11 Standard Library designades och utvecklades för att arbeta i ring 0 . Huvudmålet med ett sådant bibliotek är att tillhandahålla, på biblioteksnivå, ett alternativ till hårdvaruminnesskydd som används i klassiska operativsystem, med hjälp av noggrant designade klasser.

Rost

En demonstration av Rust-program lades till programmen i november 2014, vilket visar förmågan att skriva Rust-program för BareMetal OS.

Nätverk

TCP/IP-stack

En TCP/IP- stack var den #1 funktionsbegäran. En port av lwIP skriven i C tillkännagavs i oktober 2014.

minIP, en minimalistisk IP-stack i ANSI C som kan tillhandahålla tillräckligt med funktioner för att tjäna en enkel statisk webbsida, utvecklas som ett proof of concept för att lära sig grunderna som förberedelse för en x86-64-assembly-omskrivning planerad för framtiden.

externa länkar