Veröffentlichung des Betriebssystems ToaruOS 2.1

Die Veröffentlichung des Unix-ähnlichen Betriebssystems ToaruOS 2.1 wurde veröffentlicht, von Grund auf geschrieben und mit eigenem Kernel, Bootloader, Standard-C-Bibliothek, Paketmanager, User-Space-Komponenten und einer grafischen Oberfläche mit einem zusammengesetzten Fenstermanager geliefert. Das Projekt wurde ursprünglich an der University of Illinois als Forschungsarbeit im Bereich der Erstellung neuer zusammengesetzter grafischer Schnittstellen entwickelt, dann aber in ein separates Betriebssystem umgewandelt. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz vertrieben. Zum Download wurde ein 14.4 MB großes Live-Image vorbereitet, das in QEMU, VMware oder VirtualBox getestet werden kann.

Veröffentlichung des Betriebssystems ToaruOS 2.1

ToaruOS basiert auf einem Kernel, der eine hybride modulare Architektur verwendet, die ein monolithisches Framework und Tools zur Verwendung ladbarer Module kombiniert, die die Mehrheit der verfügbaren Gerätetreiber bilden, wie z. B. Festplattentreiber (PATA und ATAPI), EXT2- und ISO9660-Dateisysteme, Framebuffer , Tastaturen, Mäuse, Netzwerkkarten (AMD PCnet FAST, Realtek RTL8139 und Intel PRO/1000), Soundchips (Intel AC'97) sowie VirtualBox-Erweiterungen für Gastsysteme. Der Kernel unterstützt Unix-Threads, TTY, virtuelles Dateisystem, Pseudo-Dateisystem /proc, Multithreading, IPC, Ramdisk, Ptrace, Shared Memory, Multitasking und andere Standardfunktionen.

Das System ist mit einem Composite Window Manager ausgestattet, unterstützt dynamisch verknüpfte ausführbare Dateien im ELF-Format, Multitasking, einen Grafikstack, kann Python 3 und GCC ausführen. Als Dateisystem wird Ext2 verwendet. Der Bootloader unterstützt BIOS und EFI. Der Netzwerkstapel ermöglicht die Verwendung von Socket-APIs im BSD-Stil und unterstützt Netzwerkschnittstellen, einschließlich Loopback.

Unter den nativen Anwendungen sticht der Vi-ähnliche Code-Editor Bim hervor, mit dem seit einigen Jahren ToaruOS-spezifische Anwendungen wie ein Dateimanager, ein Terminalemulator, ein Grafikpanel mit Widget-Unterstützung und ein Paketmanager entwickelt werden als Bibliotheken zur Unterstützung von Bildern (PNG, JPEG) und TrueType-Schriftarten. Programme wie Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo Emulator, Bochs usw. wurden auf ToaruOS portiert.

Das Projekt entwickelt außerdem eine eigene dynamische Programmiersprache, Kuroko, die Python bei der Entwicklung von Dienstprogrammen und benutzerdefinierten Anwendungen für das System ersetzen soll. Die Sprache erinnert in der Syntax an Python (positioniert als verkürzter Python-Dialekt mit expliziter Definition von Variablen) und verfügt über eine sehr kompakte Implementierung. Die Kompilierung und Interpretation von Bytecode wird unterstützt. Der Bytecode-Interpreter stellt einen Garbage Collector bereit und unterstützt Multithreading ohne Verwendung globaler Sperren. Der Compiler und Interpreter können in Form einer kleinen gemeinsam genutzten Bibliothek (~500 KB) kompiliert, in andere Programme integriert und über die C-API erweiterbar werden. Zusätzlich zu ToaruOS kann die Sprache unter Linux, macOS und Windows verwendet und in Browsern ausgeführt werden, die WebAssembly unterstützen.

In der neuen Version:

  • Erste Unterstützung für die AArch64 (ARMv8)-Architektur hinzugefügt, einschließlich der experimentellen Möglichkeit, ToaruOS auf dem Raspberry Pi 400-Board und im QEMU-Emulator zu verwenden.
  • Die Verarbeitung und Übertragung von Signalen an Prozesse im Benutzerraum wurde neu gestaltet. Sigaction-, Sigprocmask-, Sigwait- und Sigsuspend-Aufrufe implementiert.
  • Verbesserte Speicherverwaltung im Benutzerbereich. Munmap-Systemaufruf hinzugefügt.
  • Der Composite-Manager implementiert einen Unschärfeeffekt und überarbeitet die Behandlung von Ereignissen, wenn die Fenstergröße geändert wird.
  • Das Terminal-Rendering wurde verbessert, Lazy Rendering wurde implementiert und ein Glyphen-Cache für TrueType-Schriftarten wurde hinzugefügt.
  • Die Composer-Funktionen wurden erweitert.
  • Mechanismen zum Einstellen der Uhr wurden hinzugefügt, einschließlich des Systemaufrufs settimeofday und erweiterter Funktionen des Datumsdienstprogramms.
  • Verbesserter Netzwerk-Stack. Das Dienstprogramm ifconfig bietet jetzt Unterstützung für das Festlegen von IPv4-Adressen und Routing-Einstellungen. Aktivierter Betrieb von ICMP-Sockets. Unterstützung für die recvfrom-Funktion für UDP- und ICMP-Sockets hinzugefügt.
  • Der Bootloader hat die Möglichkeit hinzugefügt, mit USB-Tastaturen zu arbeiten.
  • Dem Kontextmenü des Dateimanagers wurde ein Element zum Löschen von Dateien hinzugefügt.
  • Verbesserte Darstellung von Diagrammen im Systemmonitor.
  • grep-Dienstprogramm mit Unterstützung für reguläre Ausdrücke hinzugefügt.
  • Verbesserte ps-Befehlsausgabe (zusätzliche Spalten hinzugefügt).

Veröffentlichung des Betriebssystems ToaruOS 2.1


Source: opennet.ru

Kommentar hinzufügen