Der Autor der Sway-Shell und der Hare-Sprache entwickelt einen neuen Mikrokernel Helios und OC Ares

Drew DeVault stellte sein neues Projekt vor – den Helios-Mikrokernel. In seiner aktuellen Form befindet sich das Projekt in einem frühen Entwicklungsstadium und unterstützt bisher nur das Laden von Demos auf Systemen mit x86_64-Architektur. Und in Zukunft planen sie, Unterstützung für die Architekturen iscv64 und aarch64 zu implementieren. Der Projektcode ist in der C-nahen Systemprogrammiersprache Hare mit Assembly-Einfügungen geschrieben und wird unter der GPLv3-Lizenz vertrieben. Um sich mit dem Entwicklungsstand vertraut zu machen, wurde ein Test-ISO-Image (1 MB) erstellt.

Die Helios-Architektur basiert auf den Konzepten des seL4-Mikrokernels, bei dem Komponenten zur Verwaltung von Kernelressourcen im Benutzerbereich platziert werden und für sie dieselben Zugriffskontrolltools wie für Benutzerressourcen verwendet werden. Der Mikrokernel bietet minimale Mechanismen zur Steuerung des Zugriffs auf physischen Adressraum, Interrupts und Prozessorressourcen, und Abstraktionstreiber auf hoher Ebene für die Interaktion mit Hardware werden separat auf dem Mikrokernel in Form von Aufgaben auf Benutzerebene implementiert.

Helios verwendet ein „fähigkeitsbasiertes“ Zugriffskontrollmodell. Der Kernel stellt Grundelemente für die Zuweisung von Speicherseiten, die Zuordnung von physischem Speicher zum Adressraum, die Verwaltung von Aufgaben und die Verarbeitung von Aufrufen an Hardware-Geräte-Ports bereit. Neben Kernel-Diensten wie der Verwaltung des virtuellen Speichers hat das Projekt auch Treiber für den Betrieb der Konsole über einen seriellen Port und die BIOS-VGA-API vorbereitet. Die nächste Phase der Kernel-Entwicklung umfasst präemptives Multitasking, IPC, PCI, Ausnahmebehandlung, ACPI-Tabellenanalyse und User-Space-Interrupt-Handler. Längerfristig ist geplant, Unterstützung für SMP, IOMMU und VT-x zu implementieren.

Für den Benutzerbereich sind unter anderem die Entwicklung von Low-Level-Diensten und des Mercury-Systemmanagers, einer POSIX-Kompatibilitätsschicht (Luna), einer Sammlung von Venus-Treibern, einer Umgebung für Gaia-Entwickler und einem Framework zum Testen des Vulcan-Kernels geplant. Die Entwicklung erfolgt mit Blick auf den Einsatz auf realer Hardware – in der Anfangsphase ist die Entwicklung von ThinkPad-Treibern geplant, darunter Treiber für Intel HD-GPUs, HD Audio und Intel Gigabit Ethernet. Danach werden voraussichtlich Treiber für AMD-GPUs und Raspberry-Pi-Boards erscheinen.

Das ultimative Ziel des Projekts ist die Schaffung eines vollwertigen Ares-Betriebssystems mit eigenem Paketmanager und grafischer Oberfläche. Der Grund für die Entstehung des Projekts ist die Lust am Experimentieren und an der Arbeit als Unterhaltung (das „Just for Fun“-Prinzip). Drew DeVault setzt sich gerne ehrgeizige Ziele und setzt diese dann trotz allgemeiner Skepsis um. Dies war bei der Sway-Benutzerumgebung, dem Aerc-E-Mail-Client, der kollaborativen Entwicklungsplattform SourceHut und der Programmiersprache Hare der Fall. Aber auch wenn das neue Projekt keine angemessene Verbreitung findet, wird es als Ausgangspunkt für die Entwicklung neuer nützlicher Systeme dienen. Beispielsweise ist geplant, den für Helios entwickelten Debugger auf die Linux-Plattform zu portieren und die Bibliotheken zum Aufbau einer grafischen Oberfläche nicht an die Plattform zu binden.

Der Autor der Sway-Shell und der Hare-Sprache entwickelt einen neuen Mikrokernel Helios und OC Ares


Source: opennet.ru

Kommentar hinzufügen