Il progetto ExectOS ha tentato di creare da zero un nuovo sistema operativo, dotato di un microkernel con architettura XT, ispirato al kernel di Windows NT. I componenti del kernel in ExectOS sono separati dalla sottosistema che gestisce i driver di periferica, ciò consente di aggiornare il kernel principale senza la necessità di ricompilare i driver per il nuovo kernel. Il codice del progetto è scritto in linguaggio C e distribuito con licenza GPLv3.
Il sistema operativo si sviluppa tenendo conto della possibilità di fornire uno strato per l'esecuzione di applicazioni esistenti che utilizzano l'API Win32, nonché la capacità di utilizzare driver forniti per Windows. Nella sua attuale forma, simili strati sono ancora solo in fase di pianificazione, mentre per il funzionamento vengono utilizzate applicazioni e driver proprietari. Le differenze rispetto a ReactOS consistono nel fatto che ExectOS sviluppa un sistema operativo autonomo con la propria architettura XT, fornendo uno strato di compatibilità con le applicazioni per Windows, mentre ReactOS cerca di replicare Windows.
L'architettura del kernel XT garantisce la multitasking in esecuzione e include due strati di base: il microkernel e i componenti che operano nello spazio utente. I componenti del livello kernel vengono eseguiti in un'area di memoria protetta e hanno accesso completo all'hardware e alle risorse di sistema. Tuttavia, a differenza del kernel NT, XT non ha un livello HAL (Hardware Abstraction Layer) separato che funge da strato tra l'hardware e il resto del sistema operativo.
Il livello utente include sotto-sistemi che consentono l'esecuzione di applicazioni scritte per diversi sistemi operativi. Ad esempio, tali sotto-sistemi possono implementare strati per supportare un ambiente compatibile con POSIX o per garantire l'esecuzione di programmi basati sull'API Win32. Il progetto sviluppa inoltre un bootloader XT Boot Loader, che supporta UEFI, e un toolkit di compilazione XTChain basato su LLVM/Clang/LLD.
Nella sua forma attuale, il sistema supporta solo i processori basati sulle architetture i686 e x86_64, ma gli strumenti di assemblaggio supportano anche l'architettura ARM64. Il progetto è in sviluppo dal 2022, ma la fase di sviluppo non è ancora uscita dallo stadio iniziale. Per testare lo stato attuale, vengono periodicamente create build di prova che possono essere eseguite in QEMU o caricate su sistemi con EFI da un'unità USB.
Come motivo per la creazione di un nuovo sistema operativo viene indicato il desiderio di liberarsi da limiti e restrizioni che potrebbero ostacolare l'attuazione di idee fondamentalmente nuove nella costruzione dei sistemi operativi. Alcune idee che gli autori di ExectOS cercano di realizzare si distaccano significativamente dall'architettura di altri progetti e sono più facili da implementare senza tenere conto del codice esistente. Gli sviluppatori di ExectOS volevano anche avere piena libertà negli esperimenti e la possibilità, nella fase iniziale, di non preoccuparsi della compatibilità e del rispetto di eventuali requisiti.
Fonte: opennet.ru
