Die Veröffentlichung des Betriebssystems ToaruOS 2.1

Die Veröffentlichung von ToaruOS 2.1, einem Unix-ähnlichen Betriebssystem, wurde bekannt gegeben, das von Grund auf neu geschrieben wurde und mit einem eigenen Kernel, Bootloader, Standard-C-Bibliothek, Paketmanager, Komponenten für den Benutzerspace und einer grafischen Benutzeroberfläche mit einem zusammengesetzten Fenster-Manager geliefert wird. Ursprünglich entwickelte sich das Projekt an der Universität Illinois als Forschungsarbeit im Bereich der Entwicklung neuer zusammengesetzter grafischer Benutzeroberflächen, hat sich jedoch später zu einem eigenständigen Betriebssystem gewandelt. Der Code des Projekts ist in C geschrieben und wird unter der BSD-Lizenz veröffentlicht. Ein Live-Abbild mit einer Größe von 14,4 MB, das in QEMU, VMware oder VirtualBox getestet werden kann, steht zum Download bereit.

Die Veröffentlichung des Betriebssystems ToaruOS 2.1

Im Kern von ToaruOS steckt ein Kernel, der eine hybride modulare Architektur verwendet, die monolithische Grundlagen und Mittel zur Verwendung von ladbaren Modulen kombiniert, in denen die meisten vorhandenen Gerätetreiber gestaltet sind, wie zum Beispiel Treiber für Festplatten (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 VirtualBox-Erweiterungen für Gastbetriebssysteme. Der Kernel unterstützt Unix-Threads, TTY, virtuelle Dateisysteme, das Pseudo-Dateisystem /proc, Multithreading, IPC, Ramdisk, ptrace, Shared Memory, Multitasking und andere Standardfunktionen.

Das System ist mit einem zusammengesetzten Fenster-Manager ausgestattet, unterstützt dynamisch verknüpfbare ausführbare Dateien im ELF-Format, Multitasking, einen grafischen Stack und kann Python 3 und GCC ausführen. Als Dateisystem kommt ext2 zum Einsatz. Der Bootloader unterstützt BIOS und EFI. Der Netzwerk-Stack ermöglicht die Verwendung einer BSD-stil Socket API und unterstützt Netzwerkinterfaces, einschließlich Loopback.

Unter den eigenen Anwendungen sticht der Code-Editor Bim hervor, der dem Vi ähnelt und in den letzten Jahren zur Entwicklung von spezifischen Anwendungen für ToaruOS verwendet wird, wie etwa einem Dateimanager, einem Terminalemulator, einer grafischen Leiste mit Widget-Unterstützung, einem Paketmanager sowie Bibliotheken zur Unterstützung von Bildern (PNG, JPEG) und TrueType-Schriften. Für ToaruOS wurden Programme wie Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo Emulator, Bochs usw. portiert.

Das Projekt entwickelt auch eine eigene dynamische Programmiersprache Kuroko, die als Ersatz für Python bei der Entwicklung von Utilities und Benutzeranwendungen für das System gedacht ist. Die Sprache ähnelt in ihrer Syntax Python (positioniert als kompaktes Dialekt von Python mit expliziter 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 gemeinsame Bibliothek (~500 KB) gebündelt werden, die mit anderen Programmen integriert und über eine C-API erweitert werden kann. Neben ToaruOS kann die Sprache auch unter Linux, macOS, Windows verwendet und in Browsern mit WebAssembly-Unterstützung ausgeführt werden.

In der neuen Version:

  • Die anfängliche Unterstützung für die AArch64 (ARMv8)-Architektur wurde hinzugefügt, einschließlich der experimentellen Möglichkeit, ToaruOS auf der Raspberry Pi 400-Platine und im QEMU-Emulator zu verwenden.
  • Die Verarbeitung und Übertragung von Signalen an Prozesse im Benutzermodus wurde überarbeitet. Es wurden die Aufrufe sigaction, sigprocmask, sigwait und sigsuspend implementiert.
  • Das Speichermanagement im Benutzermodus wurde verbessert. Ein Systemaufruf munmap wurde hinzugefügt.
  • Im Kompositionsmanager wurde der Unschärfe-Effekt realisiert und die Ereignisverarbeitung beim Ändern der Fenstergröße überarbeitet.
  • Die Darstellung des Terminals wurde verbessert, eine verzögerte Darstellung implementiert und ein Glyphen-Cache für TrueType-Schriftarten hinzugefügt.
  • Die Funktionen des Layout-Managers wurden erweitert.
  • Mechanismen zur Einstellung der Uhr wurden hinzugefügt, einschließlich des Systemaufrufs settimeofday und erweiterten Funktionen des date-Utilities.
  • Der Netzwerk-Stack wurde verbessert. Der Utility ifconfig unterstützt jetzt die Konfiguration von IPv4-Adressen und Routing-Einstellungen. Die Funktionalität von ICMP-Sockets wurde sichergestellt. Unterstützung für die Funktion recvfrom für UDP- und ICMP-Sockets wurde hinzugefügt.
  • Im Bootloader wurde die Möglichkeit hinzugefügt, mit USB-Tastaturen zu arbeiten.
  • Das Kontextmenü des Dateimanagers wurde um einen Punkt zum Löschen von Dateien erweitert.
  • Die Anzeige von Grafiken im Systemmonitor wurde verbessert.
  • Das Utility grep mit Unterstützung für reguläre Ausdrücke wurde hinzugefügt.
  • Die Ausgabe des Befehls ps wurde verbessert (zusätzliche Spalten hinzugefügt).

Die Veröffentlichung des Betriebssystems ToaruOS 2.1


Quelle: opennet.ru
60GB SSD 8Gb DDR4