今天,我們要來學習下Unix系統的特點的知識。先說Unix系統的一個最重要的特點——“高內聚,低藕合”!也就是說,Unix下的各種應用程序都和別人不相干。這就是貫穿整個Unix的思維——模塊和程序的高度獨立性。
這樣的設計和做法,會讓你的系統比較的穩定,也會讓你的系統特別地容易管理和維護。Unix下的應用程序們就像一支正規軍一樣排列地整整齊齊,只要司令(內核)還在,系統是不會因為某個軍隊的損失而無法自舉的。
而Windows的應用程序們就像一片樹林一樣,從地表上看過去,樹木們排列地整整齊齊,但是他們的樹根在地下卻相互纏繞在一起,剪不斷,理還亂,異常地復雜。
“高內聚,低藕合”的給Unix系統造成的結果是,其系統中基本上都是功能單一的小程序,這些小程序就像積木一樣,當我們需要構造建一個自定義的建築時,大多數情況下,我們只需要做的只是一個“搭積木”的簡單游戲。
Windows建設得富麗堂皇,可惜,別人的“積木”你幾乎不可能拿到自己的建築中來。總是要你模仿或重寫。
(插一句:你是否注意到在網上下載Windows的軟件時,會有一種所謂的“綠色軟件”?這就是對Windows的最大諷刺,Windows下裝一個軟件,N個DLL放到Windows系統目錄下,注冊表裡寫入N個鍵值,還有很多你不知道的動作。
而在Unix系統裝軟件,你不用擔心你的系統目錄下會莫明其妙地多出些亂七八糟的文件。就是copy那麼簡單,那怕是rpm自動安裝,安裝完後,你也能夠查詢到軟件安裝後對系統所做的改變。所以,你在Unix系統下分發你的軟件時,你會覺得比Windows下要做得簡單了許多許多。)
再說說Unix系統的另一個最重要的特點——“所有的設備都可以像文件一樣地操作”。簡單吧。所有的調備,文件、打印機、顯示器、終端、網絡、軟盤、磁帶、USB、CDROM、等等的I/O操作,都以文件描述符的方式進行操作。
兩個Unix系統下最重要的系統調用read/write就可以勝任所有設備的I/O了。Unix早就在/dev目錄下為你建好了這些文件。使用起來很簡單。