1. 程式人生 > >在Web上執行Linux—js/linux模擬器

在Web上執行Linux—js/linux模擬器

一個叫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

  • 這個模似器完全由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。 

真是不可思議,unbelievably!

還能巢狀的。。


網頁版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 的整次冪位) , 也曾因此而登上《科學美國人》法文版。