L'autore della shell Sway e del linguaggio Hare sta sviluppando un nuovo microkernel Helios e OC Ares

Drew DeVault ha presentato il suo nuovo progetto: il microkernel Helios. Nella sua forma attuale, il progetto è in una fase iniziale di sviluppo e finora supporta solo il caricamento di demo su sistemi con architettura x86_64. E in futuro prevedono di implementare il supporto per le architetture iscv64 e aarch64. Il codice del progetto è scritto nel linguaggio di programmazione di sistema Hare, che è vicino al C, con inserti in assembly ed è distribuito sotto la licenza GPLv3. Per familiarizzare con lo stato di sviluppo, è stata preparata un'immagine ISO di prova (1 MB).

L'architettura Helios è costruita tenendo conto dei concetti del microkernel seL4, in cui i componenti per la gestione delle risorse del kernel sono collocati nello spazio utente e per essi vengono utilizzati gli stessi strumenti di controllo degli accessi delle risorse utente. Il microkernel fornisce meccanismi minimi per controllare l'accesso allo spazio degli indirizzi fisici, agli interrupt e alle risorse del processore, mentre i driver di astrazione di alto livello per l'interazione con l'hardware sono implementati separatamente sopra il microkernel sotto forma di attività a livello utente.

Helios utilizza un modello di controllo degli accessi basato su “capacità”. Il kernel fornisce primitive per allocare pagine di memoria, mappare la memoria fisica nello spazio degli indirizzi, gestire attività e gestire chiamate alle porte dei dispositivi hardware. Oltre ai servizi del kernel, come la gestione della memoria virtuale, il progetto ha anche preparato i driver per far funzionare la console tramite una porta seriale e l'API VGA del BIOS. La prossima fase di sviluppo del kernel includerà multitasking preventivo, IPC, PCI, gestione delle eccezioni, analisi delle tabelle ACPI e gestori di interruzioni dello spazio utente. A lungo termine si prevede di implementare il supporto per SMP, IOMMU e VT-x.

Per quanto riguarda lo spazio utente, i piani includono lo sviluppo di servizi di basso livello e del system manager Mercury, un livello di compatibilità POSIX (Luna), una raccolta di driver Venus, un ambiente per gli sviluppatori Gaia e un framework per testare il kernel Vulcan. Lo sviluppo viene effettuato con un occhio all'utilizzo sull'hardware reale: nella fase iniziale si prevede di creare driver ThinkPad, inclusi driver per GPU Intel HD, HD Audio e Intel Gigabit Ethernet. Successivamente dovrebbero apparire i driver per le GPU AMD e le schede Raspberry Pi.

L'obiettivo finale del progetto è creare un sistema operativo Ares completo con un proprio gestore di pacchetti e un'interfaccia grafica. Il motivo della creazione del progetto è il desiderio di sperimentazione e di lavoro come intrattenimento (il principio “just for fun”). Drew DeVault ama porsi obiettivi ambiziosi e poi, nonostante lo scetticismo generale, li realizza. Questo è stato il caso dell'ambiente utente Sway, del client di posta elettronica Aerc, della piattaforma di sviluppo collaborativo SourceHut e del linguaggio di programmazione Hare. Ma anche se il nuovo progetto non riceverà un'adeguata distribuzione, servirà da punto di partenza per lo sviluppo di nuovi sistemi utili. Ad esempio, è previsto il porting sulla piattaforma Linux del debugger sviluppato per Helios e le librerie per la creazione di un'interfaccia grafica non saranno legate alla piattaforma.

L'autore della shell Sway e del linguaggio Hare sta sviluppando un nuovo microkernel Helios e OC Ares


Fonte: opennet.ru

Aggiungi un commento