Veröffentlichung des Betriebssystems ToaruOS 2.3

Die Ausgabe des unixähnlichen Betriebssystems ToaruOS 2.3 wurde veröffentlicht, das von Grund auf neu entwickelt wurde und mit seinem eigenen Kernel, Bootloader, Standard-C-Bibliothek, Paketmanager, Komponenten des Benutzerspace und einer grafischen Benutzeroberfläche mit einem kompositorischen Fenstermanager geliefert wird. Das Projekt wurde ursprünglich an der Universität Illinois als Forschungsarbeit zur Erstellung neuer kompositorischer grafischer Schnittstellen entwickelt, hat sich jedoch zu einem eigenständigen Betriebssystem entwickelt. Der Code des Projekts ist in C geschrieben und wird unter einer BSD-Lizenz vertrieben. Ein Live-Image mit einer Größe von 7,4 MB wurde zum Download bereitgestellt, das in QEMU, VMware oder VirtualBox getestet werden kann. Veröffentlichung des Betriebssystems ToaruOS 2.3

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 kompositorischen Fenstermanager ausgestattet, unterstützt dynamisch verlinkbare ausführbare Dateien im ELF-Format, Multitasking, einen grafischen Stack und kann Python 3 und GCC ausführen. Als Dateisystem wird ext2 verwendet. Der Bootloader unterstützt BIOS und EFI. Der Netzwerkstack ermöglicht die Verwendung von BSD-stil Socket-APIs 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:

  • Der Terminalemulator hat eine Tab-Unterstützung erhalten, zwischen denen man mit der Sequenz Alt-Zahl wechseln kann. Die Emulation von fetten Schriftarten wurde durch doppelte Überlagerung von Glyphen implementiert. Es wurden Untermenüs "Terminalzustand" für die Anzeige des Status verschiedener Modi und "Signal senden" zum Senden von Signalen an Hintergrundprozesse hinzugefügt. Veröffentlichung des Betriebssystems ToaruOS 2.3
  • Ein Systemhandbuchbetrachter wurde implementiert, der man-Seiten im roff-Format unterstützt. Veröffentlichung des Betriebssystems ToaruOS 2.3
  • Dem Kontextmenü wurde ein Untermenü hinzugefügt, um die Kachelanordnung der Fenster zu steuern. Veröffentlichung des Betriebssystems ToaruOS 2.3
  • Im Kernel wurden neue Systemaufrufe implementiert, darunter pread/pwrite, sigsuspend, sigqueue, lchown, pipe2, dup3, getrusage und fcntl. Unterstützung für die Flags FD_CLOEXEC und FD_CLOFORK wurde hinzugefügt. Die Unterstützung für die Randomisierung der Kernel-Ladeadresse wurde realisiert. Das ABI der Systemaufrufe wurde auf die Verwendung der Anweisungen syscall/sysret umgestellt.
  • Die Funktionen der virtuellen Konsole (TTY) wurden erheblich erweitert, eine Emulation des Textmodus VGA auf Basis des Framebuffers wurde bereitgestellt.
  • In der Version für die Architektur Aarch64 wurde die Möglichkeit des Starts in virtuellen Maschinen auf Basis von QEMU implementiert.
  • Im Netzwerkstack wurde die Unterstützung für die gleichzeitige Verwendung mehrerer ICMP-Sockets eingeführt.
  • In die Standardbibliothek libc wurden die Funktionen getdelim, getline, scandir, telldir, rewinddir, seekdir, ftruncate, fchmod, fchown, popen, pclose, sig2str, str2sig aufgenommen.
  • Neue Standard-Utilities rmdir, uniq, cmp, zcat, realpath, id, nohup, cksum wurden hinzugefügt. Neue Optionen wurden für ls, grep und fgrep hinzugefügt. Die Utilities ps, top, pstree, killall und pidof wurden neu geschrieben und auf die neue Bibliothek libtoaru_procfs portiert, die die Arbeit mit dem Pseudo-Dateisystem /proc vereinheitlicht. Der Kommandozeileninterpreter esh wurde erweitert.
  • Das Utility check-image wurde hinzugefügt, um die Möglichkeit der Bildladung durch die grafische Bibliothek zu überprüfen und die Bildgröße auszugeben.
  • Die Programmiersprache Kuroko wurde auf Version 1.5rc2 aktualisiert.
  • Der Texteditor Bim wurde auf Version 3.2 aktualisiert, der mit Blick auf Vim entwickelt wurde. In der neuen Version wurde die Syntaxhervorhebung verbessert, die Unterstützung für Skripte in der Sprache Kuroko erweitert und ein neues Autocomplete-System für die Eingabe hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4