今天,当我看到用Javascript 编写的 Linux模拟器时,我感到非常震惊:http : //bellard.org/jslinux/
它编译C程序,具有vi和emacs,支持所有shell命令,等等。
它是如何工作的?
起初,我还认为这只是将您连接到VM的终端仿真器,但并非如此。如果观察网络连接,则可以看到启动后不再传输任何数据。
所以这是真实的。
CPU并不是魔术。实际上,它所做的只是从内存中读取字节并根据命令的含义修改RAM。
在这种情况下,CPU仿真器基于qemu代码。他要做的是创建一个函数数组,其中索引是PC(程序计数器)的下一个字节。
现在,您只需要一个简单的linux发行版,不需要任何特殊的CPU命令,例如浮点算术或MMX代码和voila。
有趣的是野兽的速度。整个过程有点迟钝,但是然后是浏览器中的JavaScript。
结论:令人印象深刻。等不及要看C64模拟器了:-)