Първият выпуск на QSOE, операционна система в стил QNX с две сменяеми микроядра.

Представен е първият релиз на операционната система QSOE, проектирана в стил QNX и доставяна с две заменяеми микроядра «Skimmer» и «seL4». На ниво ядро функционират само системата за разпределение на ресурсите, механизмът за синхронен обмен на съобщения (QNX IPC) и минималистично ядро, а всички останали компоненти са реализирани в потребителското пространство. Поддържа работа на 64-битови CPU с архитектура RISC-V. ОС е тествана на платката SiFive HiFive Unmatched и в QEMU. Кодът на проекта е написан на езика Си и се разпространява под лиценза Apache 2.0.

Предлагани са варианти: QSOE/N със собствено микроядро Skimmer и QSOE/L на база микроядро seL4, което има формална верификация на надеждността за архитектура RISC-V. Освен това, се развива загрузчикът mr-bml на база GRUB 2.13, стандартната библиотека libc и комплектът от програми quser. В комплекта от програми влиза командният интерпретатор qsh на база mksh, системата за инициализация и набор от типични unix-утилити, като ls, cat, ps, lspci и login.

Микроядрото Skimmer използва заимствана от проекта DragonFly BSD реализация на леките потоци в ядрото (LWKT, Light Weight Kernel Threads) с привързани към CPU работни опашки и примитиви за предаване на съобщения msgport. QSOE позволява използването на различни ядра с едно и също потребителско пространство и набор от драйвери, който не се променя при смяна на ядрото. Заедно с ядрата се събират само мениджърът на задачи (taskman) и библиотеката libc, която играе ролята на обвивка над QNX-подобните API, предоставяни от микроядрата.

┌──────────────────────────────────────────────────────────┐
│ qsh + драйвери + утилити (динамично свързани) │
├──────────────────────────────────────────────────────────┤
│ libc.so (споделено тяло; LQ-специфичен шев в lq/libc/) │
│ rtld (произведен от FreeBSD; BSD-2-Clause) │
├──────────────────────────────────────────────────────────┤
│ taskman мениджър на процеси / памет / път │
│ libtaskman преносимо тяло на taskman (път / удостоверяване / │
│ syscfg / синхронизация / преместване / cpio / elf) │
├──────────────────────────────────────────────────────────┤
│ seL4 микроядро (RISC-V Sv39, формално проверено) │
│ elfloader (зарежда ядро + taskman) │
└──────────────────────────────────────────────────────────┘

Първият брой на QSOE е забележителен с реализирането на възможността за зареждане и достъп до командния интерфейс на реална платка SiFive Unmatched (FU740) с NVMe устройство. Успешното зареждане е постигнато за конфигурации с двата ядра (QSOE/L и QSOE/N).

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster