第359章 FeoniX操作係統構建
項目組動員會開過後,按照日程安排,接下來就是為期一個月的培訓。
培訓的工作肖遠並沒有參加,具體的實施他主要交給了段炎月,劉冬,以及實驗室參與項目的導師王博方和另外幾個研究生,培訓的方式也不是傳統的一個人講大家聽,而是采用了比較新穎的討論組方式進行的,這種方式能夠讓所有的項目組成員,在接受培訓的過程中,充分發揮各自的主動性,以一種更加積極主動的態度來接受新知識,新理念。
對於自己的能力,肖遠有著充分的認識和定位,在Linux係統,以及即將要在其上開發的軟件上,他自認為自己是權威,所以,課程的內容是他製定的。
但是,如何將這些內容傳授出去,讓項目組成員更容易的接受,卻非他的強項,所以在培訓的實施方式上,他充分利用了自己能利用的資源,和段炎月以及劉冬先行研究,製定出初步的培訓方案,然後又和老媽楊靜宸,以及王博方商量後,反複修改,最終才確定下來的。
當培訓工作進入正軌後,肖遠並沒有因為不用參與具體的培訓而輕鬆下來,他還有更重要的工作要做,所以,培訓的一個月時間,他每天的日程都排的滿滿的,出了上課之外,幾乎所有的課餘時間,都在忙碌,甚至陪夏九瀅的時間減少了不少。
夏九瀅也沒有因此產生什麽抱怨情緒,相反她對肖遠的工作非常支持,經常會主動到肖遠的辦公室找他,然後坐在一旁靜靜的看著他忙碌,在他累了的時候,給他添杯茶,幫他按摩一下肩背,緩解一下他的疲勞,所以肖遠在這一個月裏,雖然忙碌,但是卻也過上了夢寐以求的紅袖添香般的日子,十分的愜意。
在這一個月的時間裏,肖遠要把項目正式啟動所需要的環境搭建起來,以便在項目培訓結束後,項目組的人員能夠迅速的投入工作,而不因為編程環境問題而耽誤項目進度。
培訓剛開始的一周,由於隻是理論的學習,肖遠在這一周內,在人工智能實驗室安裝了七台Linux主機,配置著七台主機肖遠花了三天時間,其中主要的時間都花在了對這些主機內所包含硬件的驅動配置之上,之所以用了這麽多時間,卻是因為Linux在99年的時候,針對PC硬件的驅動程序並不是特別豐富,肖遠需要從網絡上尋找相應的驅動,甚至需要對其源碼進行改造,重新編譯,使之能夠更加有效的對硬件進行驅動。
所以,當肖遠把驅動全部調試好,七台Linux主機可以正常運行之時,這七台主機對其硬件的利用率已經達到了一個很高的水平,他為此專門編寫了一個程序,做了一下測試,同樣一段程序在他配置好的Linux主機上編譯運行,運行速度比同等配置下的Windows98主機提高了將近百分之五十,這個結果簡直是個奇跡,讓當時在場的實驗室的師生,以及項目組的成員們為之驚歎了好久。
配置好Linux主機後,肖遠又在其上安裝了相應的C 編譯器,調試器,以及需要用到的C/C 基礎開發庫,這個工作並沒有花費多少時間,隻用了一個上午就全部完成了。
接下來是編程工具的配置,在編程工具上,肖遠選用了他最熟悉的vi。
vi是一個神器級的文本編輯器,是Unix係統,以及類Unix操作係統,諸如Linux,或者BSD上的標配,就像Windows上的記事本一樣,擁有最廣泛的用戶基礎,當然記事本隻是一個簡單的純文本編輯器,而vi除了具備純文本編輯器的基本功能外,通過其支持的腳本擴展,能夠實現的功能幾乎可以說是無限的,因此說它是神器級的編輯器,一點兒也不為過。
七台Linux主機上的vi經過肖遠的精心配置,雖然表麵上和沒經過配置的vi看起來一樣,但是其背後所具備的強大功能,已經和windows下的Visual Studio不相上下,甚至猶有過之,而且vi在保證其功能的前提下,卻能具有記事本一樣的反應速度,這樣的現實讓實驗室裏一直在使用Visual Studio進行工作的研究生們都是躍躍欲試。
所有這些工作花了肖遠五天時間,之後他又花了兩天的時間,專門寫了一個編程環境操作指南,並將之做成了Wiki的形式,暫存在那七台Linux主機之上,以後開源社區的所有的軟件開發文檔,都會以Wiki的形式進行編撰發布。
Wiki是一種自由文檔,屬於Web2.0時代的產物,在Wiki機製下,網絡上每一個人都可以對參與到Wiki文檔的編輯和審核中,並可以對文檔進行批注,後世網絡中最大的百科維基百科就是Wiki文檔應用最成功的例子,而在國內最成功的Wiki案例,當屬百度百科。
而肖遠準備利用這種方式,來構造玄涅社區的技術文檔庫,這是肖遠的另一個龐大的計劃,如果實施成功的話,那麽玄涅Wiki將會在很快的時間內吸引到大量的參與者,並急劇膨脹,甚至有可能成為全球最大的開源技術文檔庫。
把培訓用的所有計算機環境搭建完成,肖遠用了七天時間,七天後,項目組的培訓正好進行到了實踐操作環節,那七台主機正好派上用場,而此時,肖遠的工作開始從實驗室回到了他的辦公室。
接下來的時間,他要做的,是構建他心目中理想的Linux發行版操作係統——FeoniX,在Linux的內核的基礎上,構建一套係統構建機製,以及軟件包管理機製。
在係統構建機製上,他選擇了一種類似於後世Linux發行版Gentoo那樣的機製,這種機製和普通的Linux發行版有所不同,它隻提供一個最小的係統編譯環境,並提供了一套強大而靈活的係統配置工具,通過這套工具,用戶能夠對即將安裝到自己電腦上的Linux係統進行源碼級的完全控製。
這種控製在肖遠來說,是一種自由,而相比於Gentoo的純粹性,肖遠更在意的是FeoniX發行版的包容性,也就是說,雖然FeoniX係統提供的最基本的安裝方法是源碼編譯,但是卻不排斥用戶直接從網絡上獲取已經編譯好的二進製軟件包。
實際上,在肖遠的計劃中,會設計一個極具包容性的二進製軟件包管理機製,這個管理機製將綜合後世非常成功的兩種Linux軟件包管理機製——基於Debian的deb軟件包和基於Redhat的rpm管理機製的優點,並兼容這兩種軟件包,從而使FeoniX係統的軟件包管理達到最大的靈活性。
當然,目前這個軟件包管理機製隻是一個計劃,他並沒有馬上將至實施,隻是將之寫到了FeoniX係統的設計綱要中。
做一個Linux發行版,是一件工作量浩大的係統工程,好在肖遠並不打算一下子就把這個工作全部完成,他隻需要提出FeoniX發行版的哲學理念,將最基本的係統做好,搭好係統框架,然後將之放到開源社區中。
他相信很快就會有認同這種理念的黑客前來,共同幫助他完成這一發行版的構建,這種建設模式隻有在開源軟件的框架下才有可能得到施行,也就是說,已足夠開放的態度,和保障機製來海納百川,共同完成一項偉大的事業,而對於商業閉源軟件,這種建設模式是不可想象的。
FeoniX的基本框架搭建,肖遠並沒有耗費太多的時間,隻用了半個月時間就完成了,這和他原來在他那台Thinkpad600上所做的大量工作是分不開的,如果沒有先前的那些基礎工作,他要從零開始構建一個Linux發行版的基本框架,恐怕需要的時間就不是半個月,而是數個月了。
為了增加FeoniX最初的吸引力,肖遠還基於FeoniX係統平台,建立了一個名為Linux通用驅動程序設計架構的項目(General Linux Device Architecture,簡稱為GLDA),並將自己已經設計出來的Thinkpad600的全部驅動程序的源代碼放到了這個項目中,用以做到拋磚引玉的作用。
所有這些基礎性的工作做好後,項目開發組的培訓工作已經接近了尾聲,在項目組培訓結束的時候,按照計劃,醞釀了將近半年之久的玄涅開源社區教育網內版和與之對應的網外版同時上線了。