BMOSP/README.md

5.5 KiB
Raw Blame History

БМПОС: Базовая Модульная Платформа Операционных Систем

CI сборка Github pages сайт

БМПОС - Базовая Модульная Платформа Операционных Систем для платформы x86_64 (BIOS/UEFI). Это отечественное программное обеспечение, созданное при поддержке Синапс ОС на языке программирования C.

БМПОС не является операционной системой. Это платформа для изучения.

Философия БМПОС - "всё есть модуль".

Скриншот вывода ядра в эмуляторе Qemu

Реализовано

Ядро:

  • Менеджер памяти
  • Менеджер видеопамяти
  • Менеджер потоков
  • Загрузчик модулей
  • Буферы ввода-вывода

Модули:

  • Оболочка ввода-вывода

Драйвера:

  • PS/2 (Клавиатура)
  • SATA (AHCI) (Чтение)
  • EXT2

Документация:

  • Системные вызовы
  • Ядро
  • Стандартная библиотека

Вебсайт:

  • Домен
  • Движок сайта
  • Документация
  • Статьи
  • Примеры

Примеры:

  • Пример модуля
  • Пример драйвера
  • Пример программы-модуля
  • Пример модуля ввода-вывода

Общая работа:

  • Ядро
  • Модули
  • Драйвера
  • Документация
  • Вебсайт
  • Примеры
  • Видеоуроки

Второстепенные задачи

Модули:

  • Отладчик
  • JavaScript
  • Lua
  • SQLite
  • Криптограф

Драйвера:

  • PS/2 (Мышь)
  • SATA (AHCI) (Запись)
  • SIMD (SSE, SSE2, SSE3, SSE4, AVX) - отдельный драйвер для инициализации SIMD инструкций

Видеоуроки:

  • Основы языка C
  • Основы ассемблера GAS
  • Настройка окружения
  • Сборка из исходного кода
  • Привет мир!
  • Написание драйвера

Партнеры

  • ООО "НПО ТЕ-ОН"

Сборка из исходного кода

Ubuntu 18.04+

sudo apt install clang-format python3 git qemu-system-x86 gdisk dos2unix xorriso
git clone https://git.synapseos.ru/Aren/BMOSP.git
cd BMOSP/
chmod +x build.sh
./build.sh

Astra Linux

На текущий момент доступна только сборка ISO образов В qemu недоступен флаг -cpu max, просто уберите его при запуске

sudo apt install clang-format python3.7 git qemu-system-x86 gdisk dos2unix xorriso
git clone https://git.synapseos.ru/Aren/BMOSP.git
cd BMOSP/
python3.7 pbuild.py

ArchLinux

Модули грузятся с ошибкой

yay -S clang-format
sudo pacman -S python3 git qemu-system-x86 xorriso
git clone https://git.synapseos.ru/Aren/BMOSP.git
cd BMOSP/
chmod +x build.sh
./build.sh

Запуск

Qemu

Стандартная конфигурация загрузки с HDD

qemu-system-x86_64 -name "БМПОС" -cpu max -m 128M -smp 1 -bios ovmf/OVMF.fd -hda bmosp.hdd

Стандартная конфигурация загрузки с ISO образа

qemu-system-x86_64 -name "БМПОС" -cpu max -m 128M -smp 1 -cdrom bmosp.iso -boot d --no-reboot

Или

chmod +x run.sh
./run.sh

Предупреждение

Использовать на свой страх и риск. Система расчитана на работу в эмулируемой среде Qemu под процессоры x86_64. Мы не несем ответственности за нанесенный ущерб.

Ресурсы

Зеркала

Для отправки своих изменений вы можете использовать следующие зеркала:

Использованные ресурсы