Prima versione di QSOE, un sistema operativo in stile QNX con due microkernel sostituibili

È stato presentato il primo rilascio del sistema operativo QSOE, progettato in stile QNX e fornito con due microkernel sostituibili, «Skimmer» e «seL4». A livello di kernel vengono eseguite solo la gestione delle risorse, il meccanismo di scambio di messaggi sincrono (QNX IPC) e un kernel minimalista, mentre tutti gli altri componenti sono implementati nello spazio utente. È supportato il funzionamento su CPU a 64 bit con architettura RISC-V. Il sistema operativo è stato testato sulla scheda SiFive HiFive Unmatched e in QEMU. Il codice del progetto è scritto in linguaggio C e distribuito sotto licenza Apache 2.0.

Sono disponibili le seguenti opzioni: QSOE/N con microkernel proprietario Skimmer e QSOE/L basato sul microkernel seL4, dotato di verifica formale dell'affidabilitΓ  per l'architettura RISC-V. Inoltre, si sta sviluppando il bootloader mr-bml basato su GRUB 2.13, la libreria standard libc e un set di programmi quser. Il set di programmi include la shell qsh basata su mksh, il sistema di inizializzazione e un insieme di utilitΓ  unix di base, come ls, cat, ps, lspci e login.

Il microkernel Skimmer utilizza un'implementazione leggera dei thread nel kernel (LWKT, Light Weight Kernel Threads) prelevata dal progetto DragonFly BSD, con code di lavoro legate alla CPU e primitivi di trasferimento messaggi msgport. QSOE consente di utilizzare diversi kernel con un'unica interfaccia utente e un insieme di driver che non cambia al variare del kernel. Per i kernel vengono raccolti solo il gestore dei task (taskman) e la libreria libc, che funge da interfaccia sopra le API simili a QNX fornite dai microkernel.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ qsh + drivers + utils (collegati dinamicamente) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ libc.so (corpo condiviso; cucitura specifica di LQ in lq/libc/) β”‚
β”‚ rtld (derivato da FreeBSD; BSD-2-Clause) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ taskman gestore di processi / memoria / percorsi β”‚
β”‚ libtaskman corpo portabile di taskman (percorso / credenziali / β”‚
β”‚ syscfg / sincronizzazione / relocation / cpio / elf) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ microkernel seL4 (RISC-V Sv39, verificato formalmente) β”‚
β”‚ elfloader (carica kernel + taskman) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Il primo rilascio di QSOE Γ¨ notevole per il raggiungimento della possibilitΓ  di avvio e accesso alla shell sulla scheda reale SiFive Unmatched (FU740) con storage NVMe. L'avvio Γ¨ stato realizzato con successo per configurazioni con entrambe le CPU (QSOE/L e QSOE/N).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server πŸ”₯ Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster