第190章 移植

林鴻回到自己房間,心情激動地將其中一張軟盤插入光驅之中,然後從命令行進入了軟盤之中。

這裡面有一個名爲“sourcecode”文件夾,林鴻進入這個文件夾,再用dir命令顯示了一下,列出了長長的一個文件夾列表。

林鴻大致的瀏覽了一下,發現這張軟盤裡面保存的全部是源代碼,分門別類地放置在對應的文件夾中,主要分爲內核、內存管理和文件系統三大部分,其他都是一些引導代碼還有驅動程序源代碼之類的。

將這塊軟盤退了出來,林鴻查看了一下另外一張軟盤。

這張軟件裡面的內容纔是minix的鏡像系統,可以直接從這塊軟盤中啓動進行安裝。

現在的軟盤體積已經比以前大多了,再加上linus直接將這個系統做成了壓縮鏡像,所以一張軟盤就裝下了。

林鴻本想立刻就進行安裝,可是轉念一想,自己對這個系統並不是很熟悉,如果將原來的系統給刪掉了,他的很多事情就做不了了,例如上網和進行程序開發。

於是,他決定在硬盤上安裝雙系統,能夠在啓動的時候對系統進行選擇,這樣就可以按照需要進入不同的系統。

不過林鴻暫時對雙系統安裝並不是很瞭解,於是暫時將這事放下,先去各大論壇查一下相關的資料。

在幾個論壇上逛了一圈,林鴻就基本上心中有數了,他原本就已經有紮實的基礎,心中也有一個模糊的概念,只是不想浪費時間再去試驗摸索,學習一下大家的經驗可以節省時間和精力。

雙系統啓動其實很簡單。

在硬盤的第一個扇區上記錄了兩個重要重要的區域,分別是mbr(主要啓動記錄區)和分區表。

這兩個區域都很重要,但是和啓動有關的則是mbr。在這塊區域中,安裝了一個“開機啓動管理程序”,這個程序纔是安裝雙系統的關鍵所在,只要將新系統的“開機啓動管理程序”也寫進硬盤,這樣在開機的時候,就會看到有兩個這樣的管理程序,選擇對應的菜單,就可以進入不同的系統。

這個原理,就好像是在超市門口拜訪兩個指示牌,一個是指向dos系統,另外一個則是指向minix系統。

先去下樓去吃完晚飯之後,林鴻再次回到房間,正式開始安裝minix。

爲了順利將minix的“開機啓動管理程序”寫入mbr,林鴻還廢了一番心思,剛開始的幾次還沒能成功,幸好他之前已經將原來的mbr給備份了,否則原來的系統可能都無法啓動了。

經過幾番嘗試,林鴻終於成功將minix給安裝到了硬盤上。

他迫不及待地重啓計算機,然後選擇minix菜單,回車。

顯示器上立刻出現了許多檢測信息,不斷地向上滾動着,這臺計算機的所有硬件都被檢測了一遍,全部都ok之後,最終才進入了一個字符界面。

由於林鴻在此之前就已經看過了那本《操作系統:設計與實現》,所以對minix的系統命令非常熟悉,他很快就上手了,將所有記住的命令都試驗了一遍。

接着,林鴻在這個操作系統裡面找到了一份詳細的幫助手冊,這是linus撰寫的,裡面詳細地列出了他對這個系統所進行了哪些修改。

其中,令林鴻感到驚訝的是,linus竟然已經順利完成了終端仿真器的編寫。

也就是說,用這個完全可以和一些服務器進行連接了。

林鴻立刻動手試了一下,首先填上網絡賬號和密碼登錄網絡,然後再輸入服務器的sam協會的bbs服務器ip地址,連接之後,再輸入服務器的登錄賬號和密碼。

仿真終端上出現了熟悉的命令行界面。

接下來,林鴻按照linus所列舉的那些功能一個個試用過去,他發現原本只是用來作爲教學用的精簡版系統,功能竟然已經強大如斯,甚至比蘋果計算機前期的幾個版本的系統都要強大。

最讓林鴻動心的功能,是linus竟然在裡面集成了一個名爲bash的shell程序。

這個程序實際上在系統剛啓動的時候就運行了,只不過林鴻並沒有察覺,後來看了文檔之後才發現,原來他看到的命令行界面並不是minix自帶的那個,而是已經被linus成功給替換了。

shell即外殼程序,這是區別於操作系統內核的一個重要部分,通常的表現形式就是一個字符命令行界面,例如dos界面也是一個殼。

通過接受用戶輸入的命令,shell可以調用執行相應的應用程序。

另外,shell也是一種程序設計語言,它可以交互式解釋和執行用戶輸入的命令,或者自動地解釋和執行預先設定好的一連串的命令。作爲程序設計語言,它定義了各種變量和參數,並提供了許多在高階語言中才具有的控制結構,包括循環和分支。

有了這個shell,可以說,這個經過linus改裝過後的系統,功能已經完全可以媲美dos系統了,更重要的是,這個操作系統的源代碼是公開的,林鴻可以查看所有的實現細節,而dos操作系統則是一個黑匣子,完全不知道底層的運行機制,只能有一些有限的被封裝好的api接口和中斷。

林鴻立刻喜歡上了這個系統,linus果然厲害,竟然將一個閹割版的操作系統改造到如此程度!

由於這個系統裡面還沒有類似telcom這樣的網絡程序,也沒有email郵件客戶端可以用來收發電子郵件,林鴻暫時從minix中退了出來,重新選擇了ms-dos系統進入。

他首先收取了電子郵件,發現linus在幾天前就給自己發了一封郵件,詢問是否已經收到了他郵寄的包裹?

林鴻立刻回信,說今天剛剛收到,迫不及待地將其安裝到計算機中,對裡面的功能的強大感到非常的驚歎,他以後也將一起對這個系統進行改造,希望能夠保持聯繫,共享信息。

末了,林鴻還提起自己已經編寫了一個基於irc協議的聊天軟件,他會盡快將這個聊天軟件移植到minix系統下,這樣,他們就可以及時進行在線聯繫。

郵件發送出去之後,不到兩分鐘的時間,還沒等林鴻退出郵件系統,就提示有新郵件到達。

林鴻看到郵件標題之後微微一愣,沒想到linus今天正好在線。

“嗨,朋友,很高興終於收到你的回信!按照時間推算,這個包裹應該早幾天就到達你這裡,看來它在某個地方耽誤了幾天時間。

你說的那個聊天軟件我很感興趣,非常期待你將它移植到這個系統中來,你知道,這個系統中的軟件,目前還是少了一點,過於單調了。而我則由於忙於修復底層的一些bug,暫時沒時間關注這些內容。

對了,在這段時間內,我又對這個系統增加了幾個功能,我想你會用到其中的一個軟件,請查看郵件附件。

你的朋友linus.”

林鴻立刻將這封電子郵件中的兩個附件下載下來。

其中一個附件包很大,而另外一個則是文本文檔。

林鴻將文本文檔打開,閱讀起來。

“gcc?”

他看到這篇文檔,主要是對gcc的一個安裝說明。

“竟然是編程語言編譯器!”

看到這裡的內容,林鴻頓時眼睛一亮。

他正在爲這個問題而煩惱,因爲之前他在熟悉minix操作系統的時候,根本沒有看到可以用來編程的軟件,這樣一來,他就無法在裡面進行編程開發。

因爲操作系統平臺不同,在另外一個平臺上開發的軟件,除非是特別定製模擬,否則根本無法在另外一個操作系統中正常運行。

gcc的全稱是“gnuc語言編譯器”,這是一套以gpl許可證所發行的自由軟件。在許多類unix操作系統中都可以看到它的身影,功能非常強大。

linus將其進行了修改,使其可以順利移植到minix操作系統中,這樣一來,就可以成功的在這個操作系統下直接開發軟件,而不用專門切換到另外的平臺上。

gcc編譯器的移植成功,和bash程序一樣,有着非常重要的意義。

林鴻對此也覺得非常激動,他立刻按照文檔中的說明,將gcc編譯器順利地集成到了原來的minix系統中。

他並沒有停止,而是再次重啓切換到dos平臺下,將自己之前編寫的cqcq源代碼拷貝到軟盤中,再重啓進入minix系統,從軟盤中將源代碼讀取出來,他要立刻將cqcq移植到這個平臺上來!

在dos下,爲了方便菲麗絲的使用,他在原來的基礎上增加了一層圖形界面,讓其顯得更加方便操作。

但是在minix下,暫時還不支持鼠標等操作,圖形化界面完全被拋棄了,只剩下了內部的核心代碼。由於cqcq的源代碼本身就是用c語言編寫的,所以林鴻的移植過程很順利,針對界面進行重新設計之後,他使用gcc將這個平臺下的程序成功給編譯出來了。

林鴻輸入賬號和密碼,進行登錄,結果發現出線了一些由於粗心急促而造成的細微錯誤,進行修正,然後重新編譯。

再次啓動之後,終於一切正常。輸入賬號和密碼,林鴻順利地上線了。

……

第364章 聖女第83章 醫療事故?第301章 ponyma的想法第209章 linux第一版第268章 我是誰第557章 恐怖的跳彈第273章 超腦系統的硬件基礎第679章 實驗事故第393章 形意山莊第395章 褐發美女第529章 戰堂暴龍第488章 符合國際標準第339章 linx v0.1第20章 包圍和反包圍第332章 小王警官第678章 爆炸第672章 安布雷拉的研究成果第203章 遙控第687章 陳青蓮的生意經第237章 MIT無線電協會的項目第132章 三本着作第267章 變故第82章 核磁共振檢查第108章 隱藏在中關村的地下破解世界第113章 奇怪的文件第542章 拍賣師第52章 給他們加點料第491章 玩的可真夠嗨的第259章 生存狂第461章 你們在幹什麼第287章 僞共振第636章 同是天涯淪落人第47章 康柏PC機第374章 ECASH第602章 測試版第3章 我是來賣廢鐵的第639章 外公的建議第394章 三師兄第361章 探視第505章 兩女相見第154章 逃亡中的黑客第420章 世界太瘋狂第261章 等着看好戲第565章 面具殺人色魔第362章 監聽第257章 拯救地球組織第97章 來晚了第239章 到底是誰第672章 安布雷拉的研究成果第556章 反狙擊!第47章 康柏PC機第234章 浮出水面第547章 深水埗的鴨寮街第53章 苦逼的中國火腿族第22章 好東西第96章 研究所所長第3章 我是來賣廢鐵的第601章 副作用?第348章 改變觀念第141章 舞伴第114章 被加密的信息第384章 演示第75章 屬於你了第675章 時間停止第588章 打造第二個超腦第613章 最危險和最安全第681章 求助第233章 戰爭解密第634章 破壞第396章 文件系統第530章 意識空間第539章 橢圓曲線算法第400章 只是路過第633章 春光旖旎第68章 形意秘傳第219章 重要事情第223章 黃金分割第380章 指令集第260章 聚會第643章 司倩的新發現第376章 付出與回報第148章 邀請函第201章 SAM Inc第677章 保護第353章 赴宴第640章 壞消息第680章 頻率第139章 棧緩衝區溢出第404章 跳樑小醜第437章 美麗的大眼睛第53章 苦逼的中國火腿族第439章 像是打鼓第10章 記名弟子第342章 意外驚喜第447章 修機器第467章 路由器的密碼第9章 算你贏了第294章 中國互聯網的早期替代品cfido第451章 發現落單坦克第654章 屏蔽
第364章 聖女第83章 醫療事故?第301章 ponyma的想法第209章 linux第一版第268章 我是誰第557章 恐怖的跳彈第273章 超腦系統的硬件基礎第679章 實驗事故第393章 形意山莊第395章 褐發美女第529章 戰堂暴龍第488章 符合國際標準第339章 linx v0.1第20章 包圍和反包圍第332章 小王警官第678章 爆炸第672章 安布雷拉的研究成果第203章 遙控第687章 陳青蓮的生意經第237章 MIT無線電協會的項目第132章 三本着作第267章 變故第82章 核磁共振檢查第108章 隱藏在中關村的地下破解世界第113章 奇怪的文件第542章 拍賣師第52章 給他們加點料第491章 玩的可真夠嗨的第259章 生存狂第461章 你們在幹什麼第287章 僞共振第636章 同是天涯淪落人第47章 康柏PC機第374章 ECASH第602章 測試版第3章 我是來賣廢鐵的第639章 外公的建議第394章 三師兄第361章 探視第505章 兩女相見第154章 逃亡中的黑客第420章 世界太瘋狂第261章 等着看好戲第565章 面具殺人色魔第362章 監聽第257章 拯救地球組織第97章 來晚了第239章 到底是誰第672章 安布雷拉的研究成果第556章 反狙擊!第47章 康柏PC機第234章 浮出水面第547章 深水埗的鴨寮街第53章 苦逼的中國火腿族第22章 好東西第96章 研究所所長第3章 我是來賣廢鐵的第601章 副作用?第348章 改變觀念第141章 舞伴第114章 被加密的信息第384章 演示第75章 屬於你了第675章 時間停止第588章 打造第二個超腦第613章 最危險和最安全第681章 求助第233章 戰爭解密第634章 破壞第396章 文件系統第530章 意識空間第539章 橢圓曲線算法第400章 只是路過第633章 春光旖旎第68章 形意秘傳第219章 重要事情第223章 黃金分割第380章 指令集第260章 聚會第643章 司倩的新發現第376章 付出與回報第148章 邀請函第201章 SAM Inc第677章 保護第353章 赴宴第640章 壞消息第680章 頻率第139章 棧緩衝區溢出第404章 跳樑小醜第437章 美麗的大眼睛第53章 苦逼的中國火腿族第439章 像是打鼓第10章 記名弟子第342章 意外驚喜第447章 修機器第467章 路由器的密碼第9章 算你贏了第294章 中國互聯網的早期替代品cfido第451章 發現落單坦克第654章 屏蔽