Die Veröffentlichung der Unix-ähnlichen Betriebssystemversion ToaruOS 2.0 wurde veröffentlicht. Dieses Betriebssystem wurde von Grund auf neu entwickelt und wird mit einem eigenen Kernel, Bootloader, Standard-C-Bibliothek, Paketmanager, Benutzerraumkomponenten und einer grafischen Benutzeroberfläche mit einem kompositorischen Fenstermanager geliefert. Der Quellcode des Projekts ist in C geschrieben und wird unter der BSD-Lizenz verteilt. Ein Live-Image mit einer Größe von 14,4 MB steht zum Download bereit und kann in QEMU, VMware oder VirtualBox getestet werden.

Das Projekt wurde 2010 an der University of Illinois ins Leben gerufen und anfangs als Forschungsarbeit im Bereich der Entwicklung neuer kompositorischer Grafikschnittstellen durchgeführt. Ab 2012 entwickelte sich das Projekt zu dem Betriebssystem ToaruOS, das von einer interessierten Entwicklergemeinschaft weitergeführt wird. In seiner aktuellen Form verfügt das System über einen kompositorischen Fenstermanager, unterstützt dynamisch gebundene ausführbare Dateien im ELF-Format, Multitasking, einen Grafikstapel und kann Python 3 sowie GCC ausführen.
ToaruOS basiert auf einem Kern, der eine hybride modulare Architektur verwendet, welche die monolithische Basis mit Mechanismen zur Nutzung von ladbaren Modulen kombiniert. In diesem Format sind die meisten verfügbaren Gerätetreiber gestaltet, darunter Festplattentreiber (PATA und ATAPI), das Dateisystem EXT2 und ISO9660, Framebuffer, Tastaturen, Mäuse, Netzwerkadapter (AMD PCnet FAST, Realtek RTL8139 und Intel PRO/1000), Soundchips (Intel AC’97) sowie erweiterungen für VirtualBox zur Unterstützung von Gastsystemen. Der Kern unterstützt Unix-Streams, TTY, ein virtuelles Dateisystem, das Pseudo-Dateisystem /proc, Multithreading, IPC, Ramdisk, ptrace, Shared Memory, Multitasking und andere gängige Funktionen.
Als Dateisystem wird ext2 verwendet. Der Bootloader unterstützt BIOS und EFI. Der Netzwerkstack ermöglicht die Nutzung von BSD-ähnlichen Socket-APIs und unterstützt Netzwerkinterfaces, einschließlich Loopback. Für ToaruOS wurden Programme wie Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo Emulator, Bochs usw. portiert. Besonders hervorzuheben ist die Anwendung Bim, ein vi-ähnlicher Code-Editor, der in den letzten Jahren zur Entwicklung spezifischer ToaruOS-Anwendungen wie einem Dateimanager, einem Terminalemulator, einer grafischen Benutzeroberfläche mit Widget-Unterstützung und einem Paketmanager sowie Bibliotheken zur Unterstützung von Bildformaten (PNG, JPEG) und TrueType-Schriften verwendet wird.
Das Projekt entwickelt auch eine eigene dynamische Programmiersprache namens Kuroko, die als Ersatz für Python bei der Entwicklung von Tools und Benutzeranwendungen für das System gedacht ist. Die Syntax ähnelt Python (positioniert als eine verkürzte Dialektversion von Python mit klarer Variablenzuweisung) und zeichnet sich durch eine sehr kompakte Implementierung aus. Es wird sowohl die Kompilierung als auch die Interpretation von Bytecode unterstützt. Der Bytecode-Interpreter bietet einen Garbage Collector und unterstützt Multithreading ohne globale Sperren. Der Compiler und der Interpreter können als kleine, gemeinsam genutzte Bibliothek (~500 KB) erstellt werden, die in andere Programme integriert und über eine C-API erweitert werden kann. Neben ToaruOS kann die Sprache auch in Linux, macOS, Windows verwendet werden und in Browsern mit WebAssembly-Unterstützung ausgeführt werden.
In der neuen Version von ToaruOS:
- Im Kern Misaka wurde eine Funktionalität hinzugefügt, die die Implementierung von benutzerdefinierten Tools wie top, strace, dbg, ping und cpuwidget ermöglicht.
- Die Möglichkeiten der Grafikbibliothek wurden erweitert, einschließlich affiner Transformationen.
- Die Funktionalität des Fenster-Frameworks wurde verbessert.
- Ein Rasterisierer für Text mit Unterstützung für das TrueType-Format wurde hinzugefügt.
- Eine Bibliothek zum Formatieren von Text mit Markdown-Unterstützung wurde hinzugefügt.
- Der BIOS-Bootloader wurde verbessert und bietet erweiterte Unterstützung für Hardwarekonfigurationen. Der EFI-Bootloader wurde neu geschrieben. Beide Bootloader unterstützen jetzt die Bearbeitung von Kernel-Befehlszeilen.
- Die Gestaltung des Panels wurde modernisiert. Widgets unterstützen jetzt ladbare Bibliotheken, dynamische Layouts und neue Pop-up-Fenster.
- Der Viewer wurde neu geschrieben und bietet jetzt neue Farbpaletten.
- Eine neue Implementierung des Rechners wurde hinzugefügt.
- Die Standardbibliothek unterstützt jetzt Zeitzonen.
- Ein Treiber für den Ensoniq ES1371 Chipsatz, der in VMware emuliert wird, wurde hinzugefügt.
- In der nächsten bedeutenden Veröffentlichung 2.1 wird Unterstützung für AHCI-, xHCI- und USB-HID-Geräte erwartet. In der Version 2.2 ist die Unterstützung für die Architektur AArch64 geplant.



Quelle: opennet.ru
