BareMetal

редактировать
BareMetal
Developer Return Infinity
Написано на сборке
Рабочее состояниеТекущая
Исходная модельОткрытый исходный код
Первоначальный выпуск2008; 12 лет назад (2008 г.)
Последний выпуск 1.0.0 / 13 ноября 2017 г.; 2 года назад (13.11.2017)
Маркетинговая цельHPC, HTC, Облачные вычисления
Доступно на английском
Платформахx86-64
Ядро типExokernel, SASOS
Userland Неизвестно
По умолчанию пользовательский интерфейс Командная строка
Лицензия Лицензия BSD
Официальный веб-сайтwww.returninfinity.com

BareMetal - это exokernel -based единое адресное пространство операционная система (ОС), созданная с помощью Return Infinity.

. Она написана на сборке для достижения высокопроизводительных вычислений с минимальными затратами при использовании Just Enough Operating System (JeOS ) подход. Операционная система в первую очередь предназначена для виртуализированных сред для облачных вычислений или высокопроизводительных вычислений из-за своей конструкции как легкое ядро ​​ (LWK). Его можно использовать как unikernel.

. Он был вдохновлен другой ОС, написанной на ассемблере, MikeOS, и представляет собой современный пример операционной системы, которая не написана на C или C ++ и не основана на Unix. -подобные ядра.

Содержание
  • 1 Обзор
    • 1.1 Аппаратные требования
    • 1.2 Одна задача на ядро ​​
  • 2 Программирование
    • 2.1 API
    • 2.2 C
    • 2.3 C ++
    • 2.4 Rust
  • 3 Сеть
    • 3.1 Стек TCP / IP
  • 4 Ссылки
  • 5 Внешние ссылки
Обзор

Требования к оборудованию

  • 64-битный компьютер на базе AMD / Intel
  • Память: 4 МБ (плюс 2 МБ на каждое дополнительное ядро)
  • Жесткий диск: 32 МБ

Одна задача на каждое ядро ​​

Многозадачность в BareMetal необычна для операционных систем в наши дни. BareMetal использует внутреннюю рабочую очередь , которую опрашивают все ядра ЦП. задача, добавленная в рабочую очередь, будет обрабатываться любым доступным ядром ЦП в системе и будет выполняться до завершения, что не приведет к переключению контекста накладных расходов.

Программирование

API

API задокументирован, но, в соответствии с его философией, ОС не применяет точки входа для системных вызовов (например: нет шлюзов вызова или другие механизмы безопасности).

C

BareMetal OS имеет сценарий сборки, который извлекает последний код, вносит необходимые изменения и затем компилирует код C с использованием стандартной библиотеки Newlib C.

C ++

В основном -complete Стандартная библиотека C ++ 11 была спроектирована и разработана для работы в кольце 0. Основная цель такой библиотеки - предоставить на уровне библиотеки альтернативу аппаратной защите памяти, используемой в классических ОС, с помощью тщательно разработанных классов.

Rust

Демонстрация программы на Rust была добавлена ​​в программ в ноябре 2014 года, продемонстрировав способность писать программы на Rust для BareMetal OS.

Сеть

Стек TCP / IP

A Стек TCP / IP был запросом функции №1. Порт lwIP, написанный на C, был анонсирован в октябре 2014 года.

minIP, минималистичный IP-стек на ANSI C, способный обеспечить достаточное количество функций для обслуживания простой статической веб-страницы, разрабатывается как доказательство концепции, позволяющее изучить основы подготовки к перезаписи сборки x86-64, запланированной на будущее.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-11 12:07:11
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте