Kernel 就是 OS 的核心。OS 的基本功能都是由 kernel 提供的。建立檔案、傳送封包等動作都是以 kernel 的功能完成。不過建立這些功能並不是單純的工作。儘管平常不會意識到,裡面深藏了許多高階技術。以檔案系統來說,或許會在放置檔案的時候考慮到極力減少磁碟搜尋動作,以網路的部份來說,或許會為路由表項目數龐大的情形做好準備,使得這種情形不會對系統整體造成太大的影響。記憶體管理、process 管理等部份也暗藏了各式各樣的技巧。看懂這些高階技術,正是 kernel hacking 的魅力之一。
不過最近的 Linux kernel 不再只提供基本的功能。隨著功能進化,它不斷實作了為某些領域特化的方便功能、還有許多獨特的功能。就算是 kernel hacker 應該也很少人能全部掌握吧。
本書將從進化至今的 Linux kernel 多數功能之中,選定許多人需要的、或是很有意思的功能,在說明這些工能的過程中,一併解釋內部的運作機制。同時也會討論到善用這些功能所需的工具與設定方法、調整技巧。
「節能」是本書會討論到的主題之一。不僅會說明使用方式,還會談到節能的思考方向、以及它與硬體的關聯。另外也會涵蓋最近受到注目的虛擬化、資源管理、納入標準檔案系統之一的 ext4 等等,廣泛涵蓋各種經典功能與新功能。經典功能的部份會盡可能調查最新的原始碼,討論變更點與新增功能。這部份是文件找不到、不探索 kernel 內部就無法得知的資訊,所以就算已經知道這些功能的讀者,或許也會有新發現。另外本書也會介紹與 kernel 有關的工具,其中包含 gcore 這個對重要的系統來說十分需要的工具。
最新的 Linux kernel 實作了強力的追蹤 (trace)、效能量測 (profiling) 功能。用起來很方便,也提供許多功能。不僅能勝任原先的目的,在 kernel hacking 的時候也大有幫助。對 kernel hacker 老手來說,應該也有參考價值。
本書包含許多在現場也能立刻派上用場的完整實例。如果讀者想完整發揮 kernel 功能的話,本書應該十分具有參考價值。