今天,当我看到Javascript中的Linux emulator时,我有一个激动人心的时刻:

它编译C程序,有vi和emacs,支持所有shell命令等等.

它是如何工作的?

推荐答案

起初,我还以为这只是一个终端模拟器,将你连接到一个虚拟机,但事实并非如此.如果你观察网络连接,你会发现,启动后,不再传输数据.

所以这是真的.

CPU不是什么神奇的东西;实际上,它所做的只是从内存中读取字节,并根据命令的含义修改RAM.

在本例中,CPU模拟器基于qemu代码.他所做的是创建一个函数数组,其中索引是PC(程序计数器)的下一个字节.

现在,您只需要一个简单的linux发行版,它不需要任何外来的CPU命令,比如浮点算术或MMX代码.

有趣的是野兽的速度.整个过程有点迟钝,但接下来就是浏览器中的JavaScript.

结论:令人印象深刻.迫不及待地想看到C64模拟器:-)

Linux相关问答推荐

ShellScript,有更好的方法来查找具有特定名称和日期的文件吗?

如何使用正则表达式在 LINux 中查找具有不同结尾的多个文件?

在 bash 中解析变量

所有进程的Linux环境变量

如何使用 Bash 将随机数据块写入文件

查找更高版本的文件

跨多台计算机管理用户配置文件

使用 AWS CLI 进行 Bash - 无法找到凭证

如何在 UNIX 上的 $PATH 中转义冒号 (:)?

如何搜索文件并将它们压缩到一个 zip 文件中

命令列出除 . (点)和..(点点)

在 Linux 上用 C 语言读写串口

try 使用 sudo 将文件附加到根拥有的文件时权限被拒绝

C++:使用 longjmp 和 setjmp 安全吗?

可以通过 SSH 连接的所有用户的列表

如何让 cron 每N分钟运行一次,其中 n % 5 == 1?

在 Unix 上计算每行/字段的字符出现次数

Hierarchical分层 ldd(1)

如何始终以 GB 为单位获取 df linux 命令输出

学习内核编程