Autor powłoki Sway i języka Hare pracuje nad nowym mikrojądrem Helios i OC Ares

Drew DeVault zaprezentował swój nowy projekt – mikrojądro Helios. W obecnej formie projekt jest na wczesnym etapie rozwoju i na razie umożliwia jedynie ładowanie wersji demonstracyjnych na systemach z architekturą x86_64. W przyszłości planują wdrożyć obsługę architektur iscv64 i aarch64. Kod projektu napisany jest w systemowym języku programowania Hare, zbliżonym do C, z wstawkami asemblera i jest rozpowszechniany na licencji GPLv3. Dla zapoznania się ze stanem rozwoju przygotowano testowy obraz iso (1MB).

Architektura Helios zbudowana jest z myślą o koncepcjach mikrojądra seL4, w którym komponenty służące do zarządzania zasobami jądra umieszczone są w przestrzeni użytkownika i wykorzystywane są do nich te same narzędzia kontroli dostępu, co do zasobów użytkownika. Mikrojądro zapewnia minimalne mechanizmy kontrolowania dostępu do fizycznej przestrzeni adresowej, przerwań i zasobów procesora, a sterowniki abstrakcji wysokiego poziomu do interakcji ze sprzętem są implementowane oddzielnie na mikrojądrze w formie zadań na poziomie użytkownika.

Helios wykorzystuje model kontroli dostępu oparty na „możliwościach”. Jądro zapewnia prymitywy do alokacji stron pamięci, mapowania pamięci fizycznej w przestrzeń adresową, zarządzania zadaniami i obsługi wywołań do portów urządzeń sprzętowych. Oprócz usług jądra, takich jak zarządzanie pamięcią wirtualną, projekt przygotował także sterowniki umożliwiające uruchomienie konsoli poprzez port szeregowy oraz API BIOS VGA. Następna faza rozwoju jądra obejmie wielozadaniowość z wywłaszczaniem, IPC, PCI, obsługę wyjątków, analizowanie tabel ACPI i obsługę przerwań w przestrzeni użytkownika. W dłuższej perspektywie planowane jest wdrożenie wsparcia dla SMP, IOMMU i VT-x.

Jeśli chodzi o przestrzeń użytkownika, w planach jest rozwój usług niskiego poziomu i menedżera systemu Mercury, warstwa kompatybilności z POSIX (Luna), zbiór sterowników Venus, środowisko dla programistów Gaia oraz framework do testowania jądra Vulcan. Rozwój prowadzony jest z myślą o zastosowaniu na prawdziwym sprzęcie - w początkowej fazie planowane jest stworzenie sterowników ThinkPad, w tym sterowników dla procesorów graficznych Intel HD, HD Audio i Intel Gigabit Ethernet. Następnie mają pojawić się sterowniki do procesorów graficznych AMD i płyt Raspberry Pi.

Ostatecznym celem projektu jest stworzenie pełnoprawnego systemu operacyjnego Ares z własnym menedżerem pakietów i interfejsem graficznym. Powodem powstania projektu jest chęć eksperymentowania i pracy w ramach rozrywki (zasada „tylko dla zabawy”). Drew DeVault lubi wyznaczać sobie ambitne cele, a następnie pomimo ogólnego sceptycyzmu je realizuje. Tak było w przypadku środowiska użytkownika Sway, klienta poczty e-mail Aerc, platformy współpracy programistycznej SourceHut i języka programowania Hare. Ale nawet jeśli nowy projekt nie otrzyma odpowiedniej dystrybucji, posłuży jako punkt wyjścia do opracowania nowych, przydatnych systemów. Na przykład planowane jest przeniesienie debugera opracowanego dla Heliosa na platformę Linux, a biblioteki do budowy interfejsu graficznego nie będą powiązane z platformą.

Autor powłoki Sway i języka Hare pracuje nad nowym mikrojądrem Helios i OC Ares


Źródło: opennet.ru

Dodaj komentarz