next up previous
Next: UNIX是強大的 Up: 完全用Linux工作 Previous: UNIX是簡單的

UNIX是永恆的

有人說:``Plan9會取代 UNIX, Mach會取代 Linux內核。''

但是你如果是一個深入體會了 UNIX的人,你就會知道: UNIX的思想是永恆的,不管時過境遷, Plan9是否代替 UNIX, UNIX的靈魂都會在 Plan9身上現形!

我為同一個設備寫過 Linux內核和 Windows VxD驅動程序。寫 Linux驅動程序時,我對 UNIX設計的完美的一致性,遠見性所折服。 UNIX用同樣界面的 read(), write()系統調用就可以對不同的對象:普通文件,設備文件,管道,管道文件, socket,……進行統一的讀寫操作。我跟本不需要寫一個測試用的應 用程序就可以對我的設備驅動進行測試,因為 cat, cp, dd, 它們也使用了同樣的 read(), write(),設備和普通文件在應用程序眼裡沒有區別。在那個還沒有 Smalltalk, 沒有 C++ 的年代, UNIX的設計者已經使用了所謂的 ``面向對象方法''。對, C語言也可以實現面向對象。

UNIX的系統調用幾十年都沒有很大變化,這非但不是頑固,不進步的象征,反而是 UNIX的遠見卓識的體現!這就跟 TeX程序幾十年都不變的情況差不多。這些才是真正的永恆的 master piece! 你應該改變所有軟件都必需從 0.1, 1.0, 1.1, 1.2, 2.0,..., 3.0, 3.1, 95, 98, 2000, XP, ... 不斷升級的想法。

Windows就不同了,它在最開頭只是一個 DOS之上的圖形包裝而已。後來為了兼容以前的糟糕設計,不得不加上很多累贅。我寫 VxD驅動程序的時候就深有體會, Windows 95程序對設備的操作只有用 DeviceIoControl,我不得不寫了兩個應用程序來對設備驅動進行測試。 Windows內核的不一致性和隱密性使我非常惱火。不過 Windows WDM驅動程序現在也有了 ReadFile, WriteFile,…… 那說明什麼?那說明 Windows在向 UNIX學習,或者有可能是某個 UNIX設計人員在微軟打了幾天臨工,順手加了幾個 UNIX的東西進去。這樣做是沒有用的, Windows從一開始就是非常糟糕的設計,它的歷史的包袱太沉重了,縫縫補補有什麼用?它只能永遠的被 UNIX甩在身後!



2012-02-21