正在加载...

一个叫Fabrice Bellard的程序员写了一段Javascript在Web浏览器中启动Linux原网页,我把这个网页iframe在了下面),目前,你只能使用Firefox 4和Chrome 11运行这个Linux。这不是什么假的模仿Linux的东西,这是实实在在的运行一个Linux。这一举动还引起了很多很牛人的关注,包括Javascript的创建者Brendan Eich

随后,Fabrice Bellard发布了相关的技术说明:http://bellard.org/jslinux/tech.html,从这份文档中我们可以看到:

  • 这个模似器完全由Javascript写成
  • CPU仿真器使用的是QEMU(接近于原古的486),为了装上Linux,其做了一些改动。
  • Javascript的终端本来可以使用termlib,但他还是自己写了一个,因为OS的按键和Web浏览器不一样(here
  • Linux  使用了2.6.20内核,编译配置在这里,并做了一些小改动
  • 磁盘用的是Ram Disk,在启动的时候装载。其文件系统由BuildrootBusyBox产生。
  • 在Home目录下有一个hello.c的程序,你可以使用TinyCC编译(tcc,参看酷壳的这篇文章

从这个事我有这些感触,

  1. 在Web上运行一个Linux的操作系统不是问题。那么在Web上还有什么不能做的吗?
  2. Linux真是性能很高,在Javascript下运行感觉也不慢啊。
  3. 真是Techno-Geek。

如何实现的:

  1. 作者 Fabrice Bellard 使用 JavaScript 编写了一个简单的 PC 模拟器,包含32位 x86 兼容 CPU、8259 可编程中断控制器、8254 可编程中断计时器
  2. 实现 16450 UART 串口设备
  3. 用 JavaScript 实现一个终端
  4. 编译包含 FPU 模拟的 Linux 内核镜像。
  5. 使用 Buildroot 创建文件系统并在启动时载入 RAM。
  6. 添加基本工具集 BusyBox,微型 C 编译器 TinyCC,以及迷你编辑器 QEmacs

根据作者的描述,该模拟器的初衷是了解现在 JavaScript 引擎的工作,尤其是 Firefox 4 的 Jaeger Monkey 和 Chrome 的 V8,这个探索的结果,可以被用来:

  • 通过 Linux 的启动时间反应浏览器的 JavaScript 性能。(作者说目前在 Firefox 4 下比 Chrome 11 要快 2倍,Chrome 12 有 Bug 无法运行)。
  • 实验在用 JavaScript 进行客户端运算时载入 x86 运行库的可能性。
  • 进一步发展从而支持 DOS 游戏的运行。

JS-Linux 主页

技术内涵

来源:http://coolshell.cn/articles/4722.html
http://linuxtoy.org/archives/javascript-pc-emulator.html

: http://www.ha97.com/4103.html

本文相关评论 - 才 12 条评论
pultuo
2011-06-07 08:32:58
Firefox 4.0 Firefox 4.0 Windows 7 Windows 7

这个太强大了.佩服大神…

2011-06-09 17:31:48
Firefox 3.5.8 Firefox 3.5.8 Solaris Solaris

确实,要写出这个东西,需要精通很多领域~~

tom
2011-06-07 18:01:11
Firefox 4.0.1 Firefox 4.0.1 Windows XP Windows XP

这个系统如果还能连接网络,想象一下

2011-06-09 17:33:59
Firefox 3.5.8 Firefox 3.5.8 Solaris Solaris

以后可以的~~

2011-06-07 19:51:03
Google Chrome 13.0.782.10 Google Chrome 13.0.782.10 Windows Server 2003 Windows Server 2003

确实 比较 特别的 强大啊。、。。。。

2011-06-09 17:36:30
Firefox 3.5.8 Firefox 3.5.8 Solaris Solaris

是啊,可以看出云计算很有前途~~

thrth
2011-06-11 00:33:03
Internet Explorer 9.0 Internet Explorer 9.0 Windows 7 x64 Edition Windows 7 x64 Edition

ie9也完全可以~~

2011-07-03 11:50:03
Google Chrome 12.0.742.112 Google Chrome 12.0.742.112 Windows 7 Windows 7

IE9用了几天就卸了,IE8是运行不了这个的。每天都需要使用网银测试充值,还离不开IE内核的浏览器啊。杯具的中国网银~~

netpro
2011-07-17 05:59:52
Google Chrome 12.0.742.124 Google Chrome 12.0.742.124 GNU/Linux GNU/Linux

发现博主 每次所用的操作系统和浏览器都不同。。

2013-01-02 12:16:22
Firefox 22.0.1 Firefox 22.0.1 Chakra Linux x64 Chakra Linux x64

牛屄啊。。。

2013-03-29 21:39:06
Safari 6.0.3 Safari 6.0.3 Mac OS X  10.8.3 Mac OS X 10.8.3

safari也可以,作者还干了很多很牛的事情,真是一朵奇葩!

2015-01-29 16:27:31
Google Chrome 39.0.2171.99 Google Chrome 39.0.2171.99 Windows 8.1 x64 Edition Windows 8.1 x64 Edition

这个好厉害啊