Starten Sie Linux in einem Browser - der jor1k-Emulator hilft (mit integriertem Monkey Island, Doom und Frontier Elite II)

Im Material sprechen wir über die Fähigkeiten dieses offenen Tools und seine technischen Parameter. Wir werden auch über ähnliche Projekte sprechen, die in diesem Bereich entwickelt werden.

In früheren Serien:



Fotos - Faris Mohammed - Unsplash

Was ist das für ein Tool


Jor1k ist ein Mikroprozessor-Emulator, der auf der OpenRISC 1000- Mikroarchitektur basiert . Dies ist ein 32-Bit-Chip, den die Open Community unter der LGPL-Lizenz entwickelt. Das Gerät wurde bei der NASA zur Herstellung des TechEdSat-Nanosatelliten verwendet.

Der Emulator ist in JavaScript geschrieben und funktioniert über den Browser. Jor1k wurde 2013 veröffentlicht und wird seitdem vom Autor unterstützt. Sie wurden von Sebastian Macke gemacht. Er wurde von mehreren Kollegen im Workshop unterstützt, darunter Gerard Braad , ein führender Software-Ingenieur bei Red Hat. Die Autoren des Projekts gaben an, es gestartet zu haben, um die Fähigkeiten von JavaScript zu demonstrieren.

Das Tool kann als Bildungsplattform an Universitäten eingesetzt werden. Es dient auch als Benchmark für das Testen von JS-Engines und kann eine alternative Möglichkeit sein, alte Software auf moderne Systeme zu portieren. Es wird angenommen, dass jor1k als Knoten für das TAILS-System fungieren kann , sodass keine separate Maschine zugewiesen werden muss.

Was kann er tun?


Es gibt mehrere System-Images als Demo - ihre Liste wird im Unterabschnitt Demos auf GitHub angezeigt. Die meisten von ihnen basieren auf Linux 3.16 und ermöglichen die Arbeit mit X.Org und Wayland / Weston sowie die Ausführung verschiedener Anwendungen. In jor1k gibt es beispielsweise zwei integrierte Benchmarks - nbench und coremark. Die erste wurde in den 90er Jahren von Spezialisten des inzwischen geschlossenen Magazins für Mikrocomputer BYTE entwickelt. Mit nbench können Sie die Leistung des Arbeitsspeichers sowie der CPU und der FPU bewerten. Bei der Kernmarke handelt es sich um eine Reihe von Benchmarks für den Prozessor in eingebetteten Systemen. Zu den Aufgaben für die Tests gehören: Verarbeiten von verknüpften Listen und Matrizen sowie Berechnen der CRC- Menge.

Außerdem können Sie in jor1k mehrere Videos und Computerspiele spielen. Unter ihnen sind Monkey Island , Doom und Frontier Elite II . Monkey Island wird insbesondere mit dem Dienstprogramm ScummVM gestartet, das speziell zum Herunterladen von Spielen von LucasArts entwickelt wurde.

Auch wenn die Leistung der Spiele zu wünschen übrig lässt - der Cursor reagiert eher langsam auf Mausbewegungen und es kommt zu einer Verzögerung nach dem Klicken.



Das Bild wird mit einem emulierten Framebuffer mit einer Auflösung von 640 x 400 und Unterstützung für den Touchscreen LPC32xx angezeigt. Das System speichert Daten auf einer virtuellen ATA- Festplatte von 64 Kilobyte und verarbeitet sie mit 32 Megabyte RAM. Die Eingabe wird über den virtuellen Tastaturtreiber organisiert. Jor1k verfügt über einen integrierten Ethernet-Controller, mit dem Sie von einer browsersimulierten Umgebung aus auf das Internet zugreifen können. Einer der Bewohner von Hacker News stellt in einem thematischen Thread fest, dass Entwickler in diesem Fall alle Anfragen über ihren eigenen Server umleiten.

Der Emulator unterstützt Multithreading mit zwei, vier, acht und sechzehn Kernen. Jede Version des Emulators wird über einen separaten Link heruntergeladen. Sie finden sie im Unterabschnitt Demos des offiziellen Repositorys. Beachten Sie, dass das System mit zunehmender Anzahl von Kernen instabil wird. In Zukunft planen Entwickler, dieses Problem zu lösen. Gleichzeitig stellen Benutzer von Hacker News fest, dass der Emulator in Firefox schneller ist als in anderen Browsern. Dieses Verhalten des Systems ist mit einer besseren Optimierung des JIT-Compilers verbunden.

Andere Emulatoren


Das JSLinux-Projekt entwickelte auch einen JavaScript-Emulator für eine 32-Bit-CPU (x86). Sein Autor war der französische Mathematiker Fabrice Bellard, der eine Bibliothek zum Dekodieren von Audio- und Videodateien libavcodec schrieb .

Der Emulator basiert auf dem dynamischen Übersetzer aus dem QEMU- Projekt. Das System verwendet auch typisierte JavaScript-Arrays, die die Leistung steigern und den Speicherverbrauch bei der Arbeit mit Daten mit fester Größe verringern.


Fotos - Ivy Barn - Unsplash

An dem Linux-basierten JavaScript-Emulator haben auch Ingenieure der RISC-V Foundation gearbeitet. Ihr System hieß riscv-angel und ermöglichte es Ihnen, riscv-linux mit einer Reihe von BusyBox- Dienstprogrammen auszuführen.

Man kann mit Sicherheit sagen, dass solche Lösungen, wenn sie sich weiter verbessern, zu einer neuen Runde in der Entwicklung von Terminal-Technologien und Cloud-Lösungen werden können. Besonders relevante Systeme wie jor1k werden für große Unternehmen sein. So können ihre Mitarbeiter mit einem normalen Browser auf Remote-Desktops zugreifen.


Bei 1cloud.ru bieten wir virtuelle Infrastrukturvermietung an . Auf der Website befindet sich ein Taschenrechner, mit dessen Hilfe die geschätzten Kosten der Ressourcen geschätzt werden können.

Spezialisten unseres Kompetenzzentrums beantworten gerne weitere Fragen - sie können angerufen oder an die Post geschrieben werden .


Was haben wir noch auf Habré:

Source: https://habr.com/ru/post/de480858/


All Articles