První vydání QSOE, operačního systému ve stylu QNX se dvěma vyměnitelnými mikrojádry

Je představena první verze operačního systému QSOE, navrženého ve stylu QNX a dodávaného se dvěma vyměnitelnými mikrojádry, „Skimmer“ a „seL4“. Na úrovni jádra je implementován pouze systém alokace zdrojů, mechanismus synchronního zasílání zpráv (QNX IPC) a minimalistické jádro, všechny ostatní komponenty jsou implementovány v uživatelském prostoru. Systém podporuje 64bitové CPU s architekturou RISC-V. Operační systém byl testován na desce SiFive HiFive Unmatched a v QEMU. Kód projektu je napsán v jazyce C a je distribuován pod licencí Apache 2.0.

K dispozici jsou následující varianty: QSOE/N s vlastním mikrojádrem Skimmer a QSOE/L založené na mikrojádru seL4, které má formální ověření spolehlivosti pro architekturu RISC-V. Dále se vyvíjí bootloader mr-bml založený na GRUB 2.13, standardní knihovna libc a sada programů quser. Sada programů zahrnuje příkazový shell qsh založený na mksh, inicializační systém a sadu standardních unixových utilit, jako jsou ls, cat, ps, lspci a login.

Mikrojádro Skimmer používá implementaci lehkých vláken jádra (LWKT) převzatou z projektu DragonFly BSD s pracovními frontami vázanými na CPU a primitivy pro předávání zpráv msgport. QSOE umožňuje použití různých jader s jedním uživatelským prostředím a sadou ovladačů, které zůstávají napříč jádry nezměněny. Sestavení specifická pro jádro zahrnují pouze správce úloh (taskman) a knihovnu libc, která funguje jako obal kolem API podobných QNX poskytovaných mikrojádry.

┌─ ...�
│ qsh + ovladače + utility (dynamicky propojené) │
├────────────────────────────────────────────────────────────────────────────────┤
│ libc.so (sdílené tělo; LQ-specifický šev v lq/libc/) │
│ rtld (odvozeno z FreeBSD; klauzule BSD-2) │
├────────────────────────────────────────────────────────────────────────────────┤
│ správce procesů / paměti / cest v nástroji Taskman │
│ tělo přenositelného souboru taskmana libtaskman (cesta / cred / │
│ syscfg / sync / reloc / cpio / elf) │
├────────────────────────────────────────────────────────────────────────────────┤
│ mikrojádro seL4 (RISC-V Sv39, formálně ověřeno) │
│ elfloader (načte jádro + taskman) │
└──────────────────────────────────────────────────── ─────────────────────────────────────────────────┘

První verze QSOE je pozoruhodná tím, že umožňuje bootování a vstup do shellu na skutečné desce SiFive Unmatched (FU740) s NVMe diskem. Úspěšného bootování bylo dosaženo u konfigurací s oběma jádry (QSOE/L a QSOE/N).

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster