Comment fonctionne l'émulateur Linux dans Javascript De Fabris Bellard?

Aujourd'hui j'ai grondé la mâchoire quand j'ai vu l'émulateur Linux dans Javascript:
http://bellard.org/jslinux/
/

Il compile C programmes, il a vi et emacs, Il supporte tout shell Équipes, etc.

Comment ça fonctionne?
Invité:

Charles

Confirmation de:

D'abord, j'ai aussi pensé que c'était juste un émulateur terminal, Vous connecter S. VM, Mais ce n'est pas. Si vous regardez les connexions réseau, vous verrez qu'après le téléchargement des données ne sont plus transmises.

Donc c'est réel.

A CPU n'est pas quelque chose de magique; En fait, tout ce qu'il fait est de lire des octets de la mémoire et des changements RAM Conformément à ce que signifient les commandes.

Dans ce cas, émulateur CPU Basé sur le code qemu. Ce qu'il fait, c'est comment cela crée une gamme de fonctions où l'index est l'octet suivant dans PC /Programme/.

Maintenant tout ce dont vous avez besoin, - Ceci est une simple distribution linux, qui n'a pas besoin d'équipes exotiques CPU, comme l'arithmétique de points flottants ou le code MMX, et voila.

Ce qui est intéressant est la vitesse de la bête. Tout cela est légèrement légèrement légèrement, mais d'autre part, il est JavaScript Dans le navigateur.

Conclusion: impressionnant. Je ne peux pas attendre de voir l'émulateur C64 :-/

Christian

Confirmation de:

Cm
http://www.quora.com/CPU-Emula ... -work
Explication simplifiée

Jslinux est en fait un ordinateur à part entière mis en œuvre dans des logiciels, à savoir JavaScript. Ceci, bien sûr, est connu comme un émulateur. Cette version particulière est configurée pour lancer Linux, mais théoriquement, elle peut fonctionner avec d'autres systèmes d'exploitation.

Émulateur /JavaScript, ~90KB réduit ~7000 Chaîne formatée/ Chargement dans le navigateur. Version Linux, précédemment compilé dans le code de la machine pour le processeur x86, chargé et copié dans un grand nombre d'entiers qui agissent comme RAM Ordinateur émulé. Puis émulateur CPU Indique la première instruction du code de la machine et dit de commencer interpréter les instructions /Par exemple, lire/Record RAM, Effectuer des opérations arithmétiques et logiques, transition vers diverses instructions, etc./. Parfois, il écrit des données /Par exemple, un journal système ou une ligne de commande shell/ dans "terminal" à travers un autre code d'extraction JavaScript, qui imite le port série et terminal Avec navigateur DOM. Vos frappes de frappe sont également renvoyées à Linux À travers ce port série imité ...

Pour répondre aux questions, connectez-vous ou registre