在Web上运行Linux—js/linux模拟器

来源:互联网 发布:linux 激活网卡 编辑:程序博客网 时间:2024/05/16 15:10

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

==============================================================================

csdn怎么用iframe?

<p align=center><button id="jslinux-stop" style="display: none" onclick="document.getElementById('jslinux').src='about:blank';document.getElementById('jslinux-stop').style.display='none';document.getElementById('jslinux-start').style.display='block';">清除启动</button><button  id="jslinux-start" onclick="document.getElementById('jslinux').src='http://bellard.org/jslinux/';document.getElementById('jslinux-start').style.display='none';document.getElementById('jslinux-stop').style.display='block';">开始启动</button></p><p align=center><iframe id="jslinux" frameborder="0" style="background:#000;border:0" width="700" height="540" src=""></iframe></p>

 

==============================================================================

 

运行截图:

 

js/linux 在web下运行linux

 

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

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

从这个事我有这些感触,

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

 

链接:土豆上安装linux:08年 Hackers Successfully Install Linux on a Potato

真是不可思议,unbelievably!

 

又想起那个网页版的windows3.1 。。  http://michaelv.org/

还能嵌套的。。


网页版win3.1

 

 

PS:js/linux作者神人Fabrice Bellard 的简介

 

Fabrice Bellard1972年生于法国,曾就读于巴黎高等综合理工学院和法国电信研究院。对计算机有着浓厚兴趣的他,高中时就崭露头角,编写出了 LZEXE ,这是 DOS 上第一个广泛使用的文件压缩程序。


Fabrice Bellard是一位计算机奇才,在业界有着重要的影响。 1996 年他编写了一个简洁但是完整的 C 编译器和一个 Java 虚拟机 Harissa  Fabrice Bellard发明的 TinyCC  GNU/Linux 环境下最小的 ANSI C 语言编译器,是目前号称编译速度最快的 C 编译器。 Fabrice Bellard 杰作众多且涉及广泛, 1998 年编写了一个简洁的 OpenGL 实现TinyGL  2003 年开发了 Emacs 克隆 QEmacs  2005 年还设计了一个廉价的数字电视系统。


Fabrice Bellard的一个重要杰作是在 Linux 内核上写了一个 CPU 模拟器 QEMU ,这套开放源码的模拟器软件与Bochs  PearPC 近似,但具有后两者所不具备的高速度及跨平台等特性。 QEMU 可以在不同的机器上运行独自开发的操作系统与软件,经由 KQEMU 这个开源的加速器,能模拟至接近真实电脑的速度。 QEMU 构思巧妙, 效率极高, 在借助核心态的 KQEMU 加速器之后,模拟代码的执行速度甚至能够接近真实机器。 QEMU 已成为目前使用最广泛的模拟器, KVM  Google Android 的模拟器都是基于 QEMU 的。


Fabrice Bellard 可谓博学多才,他另外一个重量级项目是 FFmpeg  F Fmp e g 单词中的 F F 指的是 F a s tForward FFmpeg 这个 2000 年发起著名的开源多媒体播放器项目, 是 MPlayer 的姊妹项目。这是一个如此重要的成就,没有这个项目,就没有我们今天广为使用的暴风影音等播放器。这个多平台、多功能的多媒体编码解码器由Fabrice Bellard 发起并管理,现在是由 Michael Niedermayer 在进行维护。


天才的创新经常是离经叛道式的超越,Fabriced Bellard 的一些项目让人感觉疯狂。比如他曾有一个项目是将带有 VGA 显卡的 PC 改装成 DVB-T 的信号发射器。这样一来,为了防止泄密,公司不仅要封声卡插口,还要焊上显卡插口。


Fabrice Bellard在圆周率算法方面也有着惊人的成就, 1997  FabriceBellard 提出最快圆周率算法公式。在计算圆周率的过程中, Fabrice Bellard 使用改良后的查德诺夫斯基方程算法来进行圆周率的计算,并使用贝利 - 波温 - 劳夫算法来验证计算的结果。为了纪念他对圆周率算法所作出的杰出贡献, Fabrice Bellard 所使用的改良型算法被命名为 Fabrice Bellard 算法,这种算法是目前所有圆周率算法中最快的一种,这个计算 N  PI 的公式比传统的 BBQ算法要快 47% 


2009年的最后一天, Fabr ice Bellard宣布另一重大突破:他用桌面电脑打破了由超级计算机保持的圆周率运算记录。这是一个壮举, 他将 PI 计算到了小数点后 2.7 万亿位!更令人惊讶的是, 他使用的不过是价格不到 2000 欧元的个人 PC ,仅用了 116 天,就计算出了 PI 的小数点后第 2.7 万亿位,超过了由目前排名世界第 47 位的T2K Open 超级计算机于 2009  8  17 日创造的世界纪录。新纪录比原纪录多出 1200 亿位,然而,他使用的这台桌面电脑的配置仅为: 2.93GHz Core i7 CPU  6GB 内存, 7.5TB 硬盘 !


不过这次为了加快计算完成的速度保住排名第一的位置,Fabrice Bel lard使用了 9 台联网的电脑来对数据进行验证, 若使用一台电脑来验证计算结果的话, 则需要额外增加 13 天的计算时间。


Fabrice Bellard在圆周率方面的辉煌成就, 使他创造多次圆周率单一位计算的世界纪录(计算 10 的整次幂位) , 也曾因此而登上《科学美国人》法文版。

0 0