Veröffentlichung des Betriebssystems ToaruOS 1.14 und der Programmiersprache Kuroko 1.1

Die neueste Version von ToaruOS 1.14 ist jetzt verfügbar. Dabei handelt es sich um ein von Grund auf neu entwickeltes Unix-ähnliches Betriebssystem mit eigenem Kernel, Bootloader, Standard-C-Bibliothek, Paketmanager, Benutzerschnittstellenelementen und einem grafischen Interface mit einem kompositen Fenster-Manager. Der aktuelle Entwicklungsstand ermöglicht die Ausführung von Python 3 und GCC. Der Projektcode ist in C geschrieben und wird unter der BSD-Lizenz veröffentlicht. Ein Live-Abbild mit einer Größe von 14 MB steht zum Download bereit und kann in QEMU, VMware oder VirtualBox getestet werden.

Veröffentlichung des Betriebssystems ToaruOS 1.14 und der Programmiersprache Kuroko 1.1

Das Projekt wurde 2010 an der Universität Illinois ins Leben gerufen und entwickelte sich zunächst als Forschungsarbeit zur Erstellung neuer compositiver grafischer Schnittstellen. Seit 2012 hat sich die Entwicklung in das Betriebssystem ToaruOS gewandelt, das anfangs als Studentenprojekt begann und später zu einem Wochenend-Hobby wurde, unterstützt von einer rund um das Projekt entstandenen Gemeinschaft. In seiner aktuellen Form verfügt das System über einen compositiven Fenstermanager, unterstützt dynamisch verknüpfte ausführbare Dateien im ELF-Format, Mehrbenutzerbetrieb sowie grafische und Netzwerk-Stacks.

Im Lieferumfang ist ein Port der Programmiersprache Python 3.6 enthalten, die bei der Entwicklung einiger spezifischer grafischer Anwendungen für ToaruOS verwendet wurde, wie ein Paketmanager, ein Grafikeditor, ein PDF-Viewer, ein Taschenrechner und einfache Spiele. Zu den für ToaruOS portierten Drittanwendungen zählen Vim, GCC, Binutils, FreeType, MuPDF, SDL, Cairo, Doom, Quake, Super Nintendo Emulator, Bochs usw.

ToaruOS basiert auf einem Kernel, der eine hybride modulare Architektur verwendet. Diese vereint einen monolithischen Kern mit Mechanismen zur Nutzung von ladbaren Modulen, in denen die meisten verfügbaren Gerätetreiber gestaltet sind, wie z.B. Festplattentreiber (PATA und ATAPI), das EXT2-Dateisystem und ISO9660, Framebuffer, Tastaturen, Mäuse, Netzwerkkarten (AMD PCnet FAST, Realtek RTL8139 und Intel PRO/1000), Audiokarten (Intel AC’97) sowie VirtualBox-Erweiterungen für Gastsysteme.

Zu den im Kernel bereitgestellten Primitiven gehören Unix-Threads, TTY, ein virtuelles Dateisystem, Multiplexing, IPC, gemeinsam genutzter Speicher, Multitasking und andere typische Funktionen. Das ext2-Dateisystem wird verwendet. Für die Interaktion mit dem Kernel wird eine Implementierung des Pseudo-Dateisystems /proc bereitgestellt, die nach dem Vorbild von Linux geschaffen wurde.

Die Pläne für 2021 beinhalten die Unterstützung der 64-Bit-Architektur x86-64 (derzeit werden nur Builds für 32-Bit-Systeme x86 erstellt) sowie die Unterstützung von Mehrprozessorsystemen (SMP). Weitere Ziele umfassen die Verbesserung der Kompatibilität mit den POSIX-Spezifikationen im Bereich der Signalverarbeitung und Synchronisationsmethoden, die Anhebung der Standard-C-Bibliothek auf das Niveau von Newlib sowie die Implementierung eines eigenen C-Compilers und Entwicklungstools.

Das Projekt entwickelt auch eine eigene dynamische Programmiersprache namens Kuroko, die als Ersatz für Python bei der Entwicklung von Dienstprogrammen und Benutzeranwendungen für das System konzipiert ist. Die Sprache unterstützt die Kompilierung von Bytecode und die Interpretation, hat eine Syntax, die an Python erinnert (sie wird als abgekürzter Dialekt von Python mit klarer Variablendefinition positioniert) und zeichnet sich durch eine sehr kompakte Implementierung aus. Der Bytecode-Interpreter bietet einen Garbage Collector, unterstützt Multithreading ohne Anwendung von globalen Sperren. Der Compiler und der Interpreter können in Form einer kleinen Shared Library (~500KB) kompiliert werden, die mit anderen Programmen integriert werden kann und über eine C-API erweiterbar ist. Neben ToaruOS kann die Sprache auch in Linux, macOS, Windows verwendet werden und in Browsern mit Unterstützung für WebAssembly ausgeführt werden.

In der neuesten Ausgabe von ToaruOS lag der Fokus auf der Weiterentwicklung der Standard-C-Bibliothek und der Programmiersprache Kuroko. Beispielsweise wurden in libc mathematische Funktionen hinzugefügt, die für die korrekte Berechnung der Lichtparameter im Spiel Quake erforderlich sind. Zudem wurde die Unterstützung für das Booten in VirtualBox im EFI-Modus ermöglicht. Die Größe des ISO-Abbilds wurde durch die Anwendung von RAM-Image-Kompression reduziert.

In der neuen Version der Programmiersprache Kuroko 1.1 wurde die Unterstützung für async und await hinzugefügt, es wurde Multithreading implementiert, die Kompatibilität mit Python 3 verbessert, die Unterstützung für multiple Wertzuweisungen erweitert, die Werkzeuge zur Erstellung von Handlers in C wurden ausgeweitet, die Unterstützung für Typannotationen in Funktionen hinzugefügt, die Schlüsselwörter „yield“ und „yield from“ integriert, sowie die Module os, dis, fileio und time eingebettet. Neue Methoden wurden in str, list, dict und bytes implementiert, die Unterstützung für die VorCompilation in Bytecode hinzugefügt und die Lizenz auf MIT geändert (früher war es eine Kombination aus MIT und ISC).

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster