時間可能只有五分之一甚至十分之一。
linus於是便開始尋找到底哪裡出現問題,為什麼會導致編譯速度如此緩慢。
最終他發現,原來這是minix檔案系統設計方面的原因,他覺得有必要對這點進行改變了,他可不想將這樣一個檔案系統移植到linux裡面,那簡直就像是在美餐一頓的時候吃了一隻蒼蠅那麼噁心。
身為技術宅linus是絕對不允許這樣的情況出現在linux中的。
林鴻也覺得這個問題的確很重要,檔案系統是作業系統的基石,如果地基不打好,會直接影響到上層建築的高度。
【linus:我最近這段時間都在想這個問題,接下來會正是著手開始設計了。不過在此之前,我會先解決一件更為重要的事情。】
【stone:更為重要的事情?】
【linus:每一個男人都要經歷過的事情啊,你懂的,哈哈!】
【stone:不懂。】
【linus:……差點忘記你的年齡似乎比我要小不少了。我要去追求一位心儀的女孩,這該懂了吧?】
林鴻看到linus的話,頓時有些汗顏。他剛剛的確沒有反應過來,這也不能怪他,剛剛他們還在討論技術方面的問題,突然之間就跳躍到追求女孩的話題上,作為一個世紀年齡才十四歲的中國籍技術宅來說,能想到這個問題才怪。
【stone:原來如此。那預祝你馬到成功,早日抱得美人歸。】
【linus:哈哈,謝謝!】
【linus:對了,之前忘記跟你說了,你移植bash的時候最好是按照posix的標準來,這樣可以讓我們的系統獲得更大的相容性,以後那些unix的使用者轉移到我們的linux中來也不會有任何障礙。】
【stone:posix標準?】
【linus:這是ieee組織為要在各種unix作業系統上執行的軟體而定義api的一系列互相關聯的標準的總稱,最初起源於185年的一個專案……】
接著,linus開始給林鴻詳細介紹了一下這個標準的有關內容。
實際上,linus之前也對這個標準一點都不清楚,只是聽學校的老師曾經說起過,因為這個標準是unix下的標準,統一規定了所有系統命令的實現細節。
於是,剛開始的時候,他便在minix的郵件討論組中釋出了一個求助帖子,尋求有關posix的相關標準下載地址,可是這個帖子並沒有獲得幾個人的關注和回應,他沒有找到posix的相關資料。
於是,他只好退而求其次,找來一份sun伺服器的unix使用手冊,按照上面的命令呼叫一個個對這些系統命令進行實現。
但是,這份unix手冊上並沒有詳細說明這些命令所實現的內部細節,只描寫了結果。
例如ls命令,手冊上只描寫了這個命令的結果,以及可以加上哪些引數實現,如“ls…all”可以將當前目錄下所有的檔案,包括隱藏檔案在內,都顯示出來。
具體的實現方式,則是linus按照檔案系統中的原理自己想出來的,例如首先要找到當前目錄的引導區,然後再分析裡面的檔案節點,從這些節點中讀出每一個檔案的名稱,大小以及建立日期等資訊,然後再將其顯示在顯示器螢幕上。…;要實現這些系統呼叫的功能,必須對底層的基本原理非常瞭解,當然這並不能難倒linus,否則他還談什麼編寫自己的作業系統?
他按照unix手冊和《作業系統:設計與實現》中所提及到的資料,總共實現了二十來個系統呼叫,這正是林鴻在linux中所實現的那些。