Ren metall
Utvecklare | Returnera Infinity |
---|---|
Skrivet i | hopsättning |
Arbetstillstånd | Nuvarande |
Källmodell | Öppen källa |
Initial release | 2008 |
Senaste släppningen | 1.0.0 / 13 november 2017 |
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 |
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
- ReturnInfinity på GitHub
- BareMetal OS Google Group diskussionsforum