
推薦序
當 Linux 核心開發者情緒不好的時候,總喜歡丟出一句話:「用戶空間只是核心的一個
試驗負荷。」
核心開發者之所以會這麼說,目的在有任何用戶空間程式碼執行失敗的時候,儘量撇清
所有責任。當所發生的問題絕對不是核心的過錯時,他們所關切的是,用戶空間開發者
應該去修正他們自己的程式碼。
為了證明這通常不是核心的過錯,多年前(至少超過了三年),一位具領導地位的 Linux
核心開發者,曾在擠滿人的會議室裡,以「Why User Space Sucks」(為何用戶空間程式
很糟糕)為題發表演講,他舉出實例說明我們每個人每天使用了哪些可怕的用戶空間程
式碼。其他的核心開發者則以自己所建立工具來展示,差勁的用戶空間程式如何濫用硬
體,並耗盡無預警之筆記型電腦上電池的電力。
儘管用戶空間程式對嘲笑它的核心開發者而言可能只是一個“實驗負荷”(test load),
不過這些核心開發者也是每天都得依靠這些用戶空間程式。如果沒有用戶空間程式可
用,所有的核心充其量也只能在螢幕上交替印出 ABABAB 樣式的訊息。
現在,Linux 已成為有史以來最具彈性及威力的作業系統,隨處都可以看到它的蹤跡,
不僅最小型的手機和嵌入式裝置執行它,全世界前 500 台速度最快的超級電腦中也有 90
% 以上在執行它。其他作業從未曾有過這麼好的規模,也不會遭遇各種硬體和環境的
挑戰。
如同核心,於 Linux 之用戶空間中執行的程式碼也得運作在各種平台上,以人們所仰賴
的應用程式和公用程式提供給全世界使用。
本書中,Robert Love ...