Lancez Linux dans un navigateur - l'émulateur jor1k vous aidera (avec Monkey Island, Doom et Frontier Elite II intégrés)

Dans le matériel, nous parlons des capacités de cet outil ouvert et de ses paramètres techniques. Nous parlerons également de projets similaires en cours de développement dans ce domaine.

Dans la série précédente:



Photos - Faris Mohammed - Unsplash

Quel est cet outil


Jor1k est un émulateur à microprocesseur construit sur la base de la microarchitecture OpenRISC 1000 . Il s'agit d'une puce 32 bits que la communauté ouverte développe sous la licence LGPL. L'appareil a été utilisé à la NASA pour créer le nanosatellite TechEdSat.

L'émulateur est écrit en JavaScript et fonctionne depuis le navigateur. Jor1k a été libéré en 2013 et a depuis été soutenu par l'auteur. Ils ont été réalisés par Sebastian Macke. Il était assisté de plusieurs collègues de l'atelier, dont Gerard Braad , un ingénieur logiciel de premier plan chez Red Hat. Les auteurs du projet disent l' avoir lancé pour démontrer les capacités de JavaScript.

L'outil peut être utilisé comme plateforme éducative dans les universités. Il sert également de référence pour tester les moteurs JS et peut être un moyen alternatif de porter d'anciens logiciels sur des systèmes modernes. On pense que jor1k pourra servir de nœud pour le système TAILS , éliminant ainsi la nécessité d'allouer une machine distincte.

Que peut-il faire


Il existe plusieurs images système en tant que démonstration - leur liste est présentée dans la sous-section Démos sur GitHub. La plupart d'entre eux sont construits sur Linux 3.16, il vous permet de travailler avec les graphiques X.Org et Wayland / Weston et d'exécuter diverses applications. Par exemple, dans jor1k, il y a deux benchmarks intégrés - nbench et coremark. Le premier a été développé dans les années 90 par des spécialistes du magazine désormais fermé sur les micro-ordinateurs BYTE. nbench vous permet d'évaluer les performances de la mémoire, ainsi que du CPU et du FPU. Quant à coremark , il s'agit d'un ensemble de références pour le processeur dans les systèmes embarqués. Parmi les tâches des tests figurent: le traitement des listes et matrices liées ainsi que le calcul de la quantité de CRC .

Également dans jor1k, vous pouvez lire plusieurs vidéos et jouer à des jeux informatiques. Parmi eux, Monkey Island , Doom et Frontier Elite II . En particulier, Monkey Island est lancé à l'aide de l'utilitaire ScummVM, développé spécifiquement pour télécharger des jeux depuis LucasArts.

Bien qu'il soit intéressant de noter que les performances des jeux laissent beaucoup à désirer - le curseur répond assez lentement aux mouvements de la souris, en plus il y a un retard après le clic.



L'image est affichée à l' aide d'un tampon d'image émulé avec une résolution de 640x400 et la prise en charge de l'écran tactile LPC32xx. Le système stocke les données sur un disque ATA virtuel de 64 kilo-octets et les traite avec 32 mégaoctets de RAM. L'entrée est organisée à l'aide du pilote de clavier virtuel. Jor1k possède un contrôleur Ethernet intégré qui vous permet d'accéder à Internet à partir d'un environnement simulé par navigateur. L'un des résidents de Hacker News dans un fil de discussion thématique note que dans ce cas, les développeurs redirigent toutes les demandes via leur propre serveur.

L'émulateur prend en charge le travail multithread avec deux, quatre, huit et seize cœurs. Chaque version de l'émulateur est téléchargée via un lien distinct - ils peuvent être trouvés dans la sous-section Démos du référentiel officiel. Notez qu'avec une augmentation du nombre de cœurs, le système commence à fonctionner de manière instable - à l'avenir, les développeurs prévoient de résoudre ce problème. Dans le même temps, les utilisateurs de Hacker News notent que l'émulateur est plus rapide dans Firefox que dans les autres navigateurs. Ce comportement du système est associé à une meilleure optimisation pour son compilateur JIT.

Autres émulateurs


Le projet JSLinux a également développé un émulateur JavaScript pour un processeur 32 bits (x86). Son auteur était le mathématicien français Fabrice Bellard, qui a écrit une bibliothèque de décodage de fichiers audio et vidéo libavcodec .

L'émulateur est basé sur le traducteur dynamique du projet QEMU . Le système utilise également des tableaux JavaScript typés, qui augmentent les performances et réduisent la consommation de mémoire lorsque vous travaillez avec des données de taille fixe.


Photos - Ivy Barn - Unsplash

L'émulateur JavaScript basé sur Linux a également été travaillé par des ingénieurs de la Fondation RISC-V. Leur système s'appelait riscv-angel et vous permettait d'exécuter riscv-linux avec un ensemble d'utilitaires BusyBox .

Il est sûr de dire que si ces solutions continuent de s'améliorer, elles peuvent devenir un nouveau cycle dans le développement de technologies de terminaux et de solutions cloud. Les systèmes particulièrement pertinents comme jor1k seront destinés aux grandes entreprises. Ainsi, leurs employés pourront accéder aux bureaux distants à l'aide d'un navigateur standard.


Chez 1cloud.ru, nous proposons des services de location d'infrastructures virtuelles . Il y a une calculatrice sur le site qui permet d'estimer le coût estimé des ressources.

Les spécialistes de notre centre de compétence sont prêts à répondre à des questions supplémentaires - ils peuvent être appelés ou écrits par courrier .


Qu'avons-nous d'autre sur Habré:

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


All Articles