在 Unix 系統中,像是你的程式與硬體的一個仲裁者. 首先,它為所有執行中的程式(程序)做記憶體管理, 並且確保它們都能夠平均(或不平均,如果你願意)的分享處理機的運算資源. 此外,它還提供了一個良好的介面讓剛剛提到的程式能透過它與你的硬體溝通.
其實核心所處理的工作比這還要更複雜一些,不過這些基本的功能是最必要知道的.
比較新的核心一般來說會提供更強的能力來與更多種奇奇怪怪的硬體溝通(也就是說,它們擁有更多的設備驅動程式), 它們能夠有更好的行程管理,它們能夠執行的比舊的版本更有效率,它們可能比舊的版本來的更穩定,而且它們修正了舊版裡的一些錯誤. 大部分的人是因為他們需要那些新的設備驅動程式以及錯誤修正的部份而更新核心.
請看
Hardware-HOWTO 文件.
另一個方法是,你可以查看 Linux 原始程式碼中的 `config.in
' 檔,
或者就在當你試著去 `make config
' 時找出來.
`make config
' 將會讓你看到標準的核心原始程式碼支援的所有硬體,但這並不是 Linux 所支援的全部硬體;
許多普通的設備驅動程式(像是 PCMCIA 驅動程式以及某些磁帶機的驅動程式)是個別維護及發行的可載入模組.
Linus 對這個問題的建議放在 Linux 原始程式的 README
檔案裏頭.
如果你沒有該版本或是更新的版本,新版的 gcc 應該會告訴你是否需要更新 libc 的版本.
這兩個操作都不會有什麼問題,只要照著說明做就可以了.
它們是核心的一部分(通常是設備驅動程式),但是並沒有編譯到核心裡面去. 它們被分別編譯,然後幾乎可以在任何時候將它們插入運作中的核心或從中取出. 由於它的便利性,這已經成為一種增加東西到核心裡去的較好方式. 許多常用的設備驅動程式,例如 PCMCIA 驅動程式以及 QIC-80/40 磁帶機的驅動程式就是可載入模組.
這與你系統的特殊配置有關.首先,壓縮過後的 Linux 原始程式碼在 2.0.10 版時約佔 6 MB. 許多站台在解壓縮後仍會保留一份.解壓縮以後這將佔掉約 24 MB. 但這還不是全部 ─ 你將會需要更多的磁碟空間來實際編譯這些東西. 這與你配置多少東西到你的核心裡頭去有關.例如,在某部機器上,我有網路,3Com 3C503 的驅動程式, 並且配置了三種檔案系統,而這全部共需要 30 MB.加上壓縮過的 linux 原始程式碼,這個配置大概需要用掉你 36MB . 在另外一個系統上,不需要支援網路設備(但仍然需要支援網路),加上音效卡,結果吃掉更多空間. 還有,一個新版本的核心幾乎總是比舊版本的佔更大的空間. 所以,一般來說,如果你有許多種硬體設備的話,確定你有足夠的硬碟空間來容納這個配置. (以今日的價格來說,對於儲存空間的問題我不能不建議你再買一台磁碟機.)
對大部份的人而言,答案是``很久''.你的處理機速度有多快,以及你擁有的記憶體數量有多少將是決定所需時間的主要因素, 但是,在把多少東西配置到核心裡頭去這方面還是可以做點努力. 在一台有 16 MB 記憶體的 486DX4-100 電腦上,一個有五種檔案系統、支援網路、以及音效卡驅動程式的 1.2 版核心可以在二十分鐘以內完成. 類似的配置,在一台 386DX/40(8 MB 記憶體)上大約需要要 1.5 個小時. 在編譯核心時通常一些好的建議是去喝一點咖啡,看點電視,織些毛線,或任何你喜歡的事. 如果你的機器真的很慢的話你也該換台較快的機器.