Kernel 與 Shell:內核心 與 外殼層
走 Unix 風的系統中有個分配機器資源、並和硬體對話的程式,稱之為 Kernel;而在 Kernel 之外,介於 Kernel 和人類之間的程式,則稱為 Shell。 這是個比喻,就是果仁(Kernel)和果核/果殼(Shell)的關係。如果要探究一個果核,由外而內就是殼與仁。 在漢語中,所謂「核」,是指果實內部的硬質部分,例如橄欖核、蘋果核;至於硬殼內的相較軟質部分,則稱為「仁」,例如杏仁、桃仁、薏仁、蝦仁。 對應上,內部裡層的 Kernel 是仁、心,外部表層的 Shell 是核、殼。 心與核在此情境下應分開表述的。不過可能當初譯者不是很瞭解 kernel、shell 的漢語對應用法,或是為了方便,畢竟「仁/心」會讓人誤解,抑或是從果實觀點由外往內看,所以將 kernel 對應了核心(當然也可以解讀為核的心,或是解讀為「重點、中心」)。總之原因不甚清楚,Kernel 便混譯成了「核心」,普遍流通。爾後,若要和繁體字/正體中文使用者溝通,就必須講核心才能明白了。 Kernel 翻譯成核心之後,Shell 很難再譯為核,若說是「核殼」不知道是否會讓人覺得怪?若要避開已經用過的核字,約莫得用「殼」。得繼續推敲怎麼翻譯會更好。 核心有個意思是事物的中心,但殼卻沒有這個對應。此外,核心的相反是外部、周遭、表面。 以下羅列 Kernel 與 Shell 的性質, Kernel 內,核心,仁,心 Shell 外,周遭,殼,表 思索了一下。我想,若將 Kernel 說是「內核心」(內部的核心),而 Shell 說是「外殼層」(外部的殼層),或許更能反映出兩者之間的對比關係、以及比喻果核的關係;如果更簡單用口語的詞彙說,Kernel 和 Shell 就是「核心」和「殼層」。