# БМПОС: Базовая Модульная Платформа Операционных Систем [![CI сборка](https://github.com/0Nera/BMOSP/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/0Nera/BMOSP/actions/workflows/build.yml) [![Github pages сайт](https://github.com/0Nera/BMOSP/actions/workflows/pages/pages-build-deployment/badge.svg?branch=pages)](https://github.com/0Nera/BMOSP/actions/workflows/pages/pages-build-deployment) БМПОС - Базовая Модульная Платформа Операционных Систем для платформы x86_64 (BIOS/UEFI). Это отечественное программное обеспечение, созданное при поддержке Синапс ОС на языке программирования C. БМПОС не является операционной системой. Это платформа для изучения. Философия БМПОС - "всё есть модуль". ![Скриншот вывода ядра в эмуляторе Qemu](https://0nera.github.io/BMOSP/assets/0_0.1.231.png) ## Реализовано Ядро: - [x] Менеджер памяти - [x] Менеджер видеопамяти - [ ] Менеджер потоков - [x] Загрузчик модулей - [ ] Буферы ввода-вывода Модули: - [ ] Оболочка ввода-вывода Драйвера: - [ ] PS/2 (Клавиатура) - [ ] SATA (AHCI) (Чтение) - [ ] EXT2 Документация: - [X] Системные вызовы - [ ] Ядро - [ ] Стандартная библиотека Вебсайт: - [X] Домен - [X] Движок сайта - [ ] Документация - [ ] Статьи - [ ] Примеры Примеры: - [ ] Пример модуля - [ ] Пример драйвера - [ ] Пример программы-модуля - [ ] Пример модуля ввода-вывода Общая работа: - [ ] Ядро - [ ] Модули - [ ] Драйвера - [ ] Документация - [ ] Вебсайт - [ ] Примеры - [ ] Видеоуроки ### Второстепенные задачи Модули: - [ ] Отладчик - [ ] JavaScript - [ ] Lua - [ ] SQLite - [ ] Криптограф Драйвера: - [ ] PS/2 (Мышь) - [ ] SATA (AHCI) (Запись) - [ ] SIMD (SSE, SSE2, SSE3, SSE4, AVX) - отдельный драйвер для инициализации SIMD инструкций Видеоуроки: - [ ] Основы языка C - [ ] Основы ассемблера GAS - [ ] Настройка окружения - [ ] Сборка из исходного кода - [ ] Привет мир! - [ ] Написание драйвера ## Партнеры - ООО "НПО ТЕ-ОН" ## Сборка из исходного кода ### Ubuntu 18.04+ ```bash 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`, просто уберите его при запуске ```bash 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 Модули грузятся с ошибкой ```bash 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 ```bash qemu-system-x86_64 -name "БМПОС" -cpu max -m 128M -smp 1 -bios ovmf/OVMF.fd -hda bmosp.hdd ``` Стандартная конфигурация загрузки с ISO образа ```bash qemu-system-x86_64 -name "БМПОС" -cpu max -m 128M -smp 1 -cdrom bmosp.iso -boot d --no-reboot ``` Или ```bash chmod +x run.sh ./run.sh ``` ## Предупреждение Использовать на свой страх и риск. Система расчитана на работу в эмулируемой среде Qemu под процессоры x86_64. Мы не несем ответственности за нанесенный ущерб. ## Ресурсы - Страница вконтакте - Телеграм (активный форум) - Вебсайт (в процессе) - Страница на вики ### Зеркала Для отправки своих изменений вы можете использовать следующие зеркала: - - доверенный сервер(главный репозиторий) - - зеркало с CI - - зеркало - - неактивное зеркало ### Использованные ресурсы - (BSD 2-Clause) - (MIT, Общественное достояние) - - (NCSA) - -