在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>
==============================================================================
執行截圖:
- 這個模似器完全由Javascript寫成
- CPU模擬器使用的是QEMU (接近於原古的486),為了裝上Linux,其做了一些改動。
- Javascript的終端本來可以使用termlib ,但他還是自己寫了一個,因為OS的按鍵和Web瀏覽器不一樣(here)
- Linux 使用了2.6.20核心,編譯配置在這裡 ,並做了一些小改動 。
- 磁碟用的是Ram Disk,在啟動的時候裝載。其檔案系統由Buildroot 和
- 在Home目錄下有一個hello.c的程式,你可以使用TinyCC 編譯(tcc,參看酷殼的這篇文章 )
從這個事我有這些感觸,
- 在Web上執行一個Linux的作業系統不是問題。那麼在Web上還有什麼不能做的嗎?
- Linux真是效能很高,在Javascript下執行感覺也不慢啊。
- 真是Techno-Geek。
真是不可思議,unbelievably!
還能巢狀的。。
PS:js/linux作者神人Fabrice Bellard 的簡介
Fabrice Bellard1972年生於法國,曾就讀於巴黎高等綜合理工學院和法國電信研究院。對計算機有著濃厚興趣的他,高中時就嶄露頭角,編寫出了
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 的整次冪位) , 也曾因此而登上《科學美國人》法文版。