Google醞釀中名叫Fuchsia的神秘新系統

  計算機與汽車都很多相似的地方,消費者無需懂得底層的紛繁復雜,隻要它能開啟並使用就行瞭——Android、Windows、OS X、以及Linux,也都是如此。當然,在開發出來之後,它們仍需經過多年的磨礪,才會變得更加成熟。不過Google正在神秘開發的、名叫“Fuchsia”的新系統,卻不是這麼一回事。

  外媒Android Authority在幾天前撰寫瞭一篇介紹Fuchsia的文章,其中包含瞭一個指向編譯指南的鏈接,感興趣的網友可以到那裡查看如何構建一個可啟動的系統。

  打造Fuchsia的最簡單的方法,就是使用基於64位英特爾平臺的Ubuntu Linux機器(當然也支持在OS X和Debian等其它Linux發行版上編譯)。

  如果你對Linux不熟悉,接觸命令行的技能也相對有限,那麼這份工作可能並不是很適合。當前Fuchsia主要由兩大部分組成——Magenta內核,以及工具組、庫、程序等。

  Magenta是個小內核(LK),所以Fuchsia也是個功能相對有限的小系統。其主要面向嵌入式設備和bootloaders,支持連接諸多外設的驅動、還有一個“用戶模式”。

  要構建Fuchsia,你需要註意兩個方面。首先是打造在用戶空間運行所需的工具和庫,包括一個名叫“mxsh”的小型shell程序;其次是構建LK/Magenta。

  搞定瞭上述部分之後,你就可以在一個文件系統上啟動Magenta,然後用上Fuchsia的可執行用戶空間。

  想要運行Fuchsia,最簡單的方法是使用熱門開源機器模擬器“qemu”。事實上,Fuchsia的source tree中就已經包含瞭一個qemu副本。

  當你啟動Fuchsia的時候,可以看到很多內核級的調試信息,告訴你與系統啟動相關的各種細節 —— 第一句話是“welcome to lk/MP”,然後是舒適化各個子系統(如線程/計時器)。

  再接著是CPU檢測、計劃任務、設備管理器、以及網絡組件部分。引導完成之後,你可以看到一個名叫mxsh的簡單shell程序。

  mxsh自帶瞭一些指令,包括cd(進出目錄)、cp(復制)、echo(打印變量或字符串)、ls(顯示目錄下的文件)和rm(刪除文件或目錄)。

  如果鍵入瞭非shell自帶的指令,那麼它會試圖運行 /boot/bin/ 路徑下的同名程序。該路徑下包含瞭許多不同的可執行文件,大多面向Fuchsia的測試和進一步開發。

  以“thread-depth-test”為例,它主要用來測試Fuchsia的現成創建能力。此外還有一些簡單的可執行文件,比如 fortune 和 cowsay 。

  當然,Fuchsia最重要的是支持Dart。作為Google自傢的腳本語言,其最初意在取代JavaScript)。但隨著不斷的發展,Dart已經是一款成熟的解釋語言(Google甚至將它用到瞭AdWords系統中)。

  Dart有兩種工作方式,要麼便以為Javascript(然後通過一個javascript解釋器來運行)、要麼直接通過單獨的Dart VM來“解釋”(Fuchsia用的就是後者)。

  要在Fuchsia上測試Dart,隻需執行 /boot/apps 路徑下的 “hello_fuchsia.dart”—— 輸入“dart /boot/apps/hello_fuchsia.dart”即可。(隻會在控制臺上顯示Hello,Fuchsia!)

  看到“Hello, Fuchsia!”,意味著Fuchsia已能夠運行復雜的解釋環境和運行腳本,如進程管理、線程管理、內存管理、文件I/O等。(這肯定讓很多人想到瞭Linux pre v1.0發佈的時候)

  Fuchsia OS將讓Dart發揮重要的作用,因為當前版本並未包含C編譯器和其它高級語言(比如Java)。

  鑒於Google已在Dart上投入瞭不少,這可能意味著該公司正在打造一款運行Fuchsia的設備、且會通過Dart進行編程。

  當然,我們知道Fuchsia並不面向那些隻有幾KB內存的嵌入式設備。這可能是一款虛擬現實裝置、傢庭自動化產品、或者可以訪問巨大的基礎設施的AI智能設備。

  有觀點認為,Fuchsia可能是一款欲與Windows或OS X展開競爭的桌面操作系統,但在小編看來是有些荒謬的,畢竟已有Android和Chrome OS在前。

  [編譯自:Android Authority]

Comments are closed.