十年磨一劍,Peter的新書上市了!

今天,新書開啟了 5 折優惠,滿滿的乾貨,高顏值,雙色印刷,手感厚實,新書原價 139 元,限時半價,只要 69.5 元,趕緊抄底!
放幾張實拍圖,前 1000 本下單的都是親筆簽名版,這其中又有幾十本會包含隨機寄語作為彩蛋:
為了保證體驗,咱們這本採用的是彩色印刷,再加上圖非常多,整書體驗非常的棒,大家可以看下面影片裡的實際體驗:

為什麼寫本書

畢業後我一直從事於底層技術開發,從最初的驅動開發、核心開發、安卓 Framework 開發、再到片級的系統開發,一直對底層的本質原理有著濃厚的興趣,十多年的工作沉澱對作業系統和晶片級的軟體開發有著一定的理解。希望透過某種方式把自己的一些總結記錄下來。另外我一直認為,如果把人比作計算機的話,人的大腦更像是 CPU,並不適合用來儲存記憶,特別是隨著時間的推移,經驗也會遺忘,所以需要有像硬碟一樣的東西把內容記錄下來,這也是我選擇寫書的原因之一。
為什麼選擇寫打通作業系統和晶片開發的內容?我們知道計算機是個變化極快的行業,特別是從事網際網路行業的朋友,經常面對技術的更新,開發語言的迭代,每天過的都很焦慮,隨著新人的入職,技術的變化,老人的技術經驗似乎無法得到發揮,這也是為什麼都說程式設計師有35歲失業的根本原因。那麼技術更新不那麼快的行業是不是就好點了呢?的確如此,比如更加底層的嵌入式行業,作業系統行業,晶片行業等都會比網際網路行業好很多,特別是同時懂軟體和硬體的工程師,甚至隨著時間的推移,越老越吃香,而且國家越來越重視底層技術的開發。即便是在網際網路行業,如果你對底層技術有著深厚的積累,依然可以很有競爭力,就相當是擁有了武俠片中的內功,一旦有了雄厚的內功,其它武功你一看就明白,一學就會,任何招式你和別人打出去的威力就不是一個級別。這種幫助無論對嵌入式開發者,還是對網際網路程式設計師都是非常明顯的。
學習最重要的是什麼?其實很簡單,好的資料加好的老師,然後花時間投入進去。現在人工智慧發展很快,特別是大模型的出現,幾乎每個人都可以擁有自己的智慧助手,完全可以利用人工智慧充當好的老師。好的老師有了,那學習資料呢?我剛畢業那會學習資料很少,更不用說偏向底層的計算機書籍,只能透過閱讀程式碼的方式一邊理解,一邊猜測背後的邏輯,很痛苦。很羨慕現在的學生,無論是影片、圖文,還是自媒體、紙質書,市面上的學習資料很多,大大降低了學習的門檻。但這也是最大的問題,資料太多帶來的篩選成本和學習成本也很高。而且我發現,市場上雖然有很多作業系統、Linux 核心、晶片開發的書籍,但彼此內容都是隔離的,晶片、硬體開發者想了解軟體開發的人很多,但還是無法找到合適的書籍。軟體開發者想了解底層硬體技術原理,也是無法找到合適的內容,這一度讓有志於挖掘底層技術原理的工作者無從下手。這也是我選擇寫此書的原因之一,希望《打通作業系統和晶片開發》能幫助一些人找到提升內功的把手,藉此機會在技術的道路上更上一層。

權威認證

很榮幸,《打通Linux作業系統和晶片開發》得到業界權威認證,受到了“鴻蒙之父”陳海波、RT-Thread創始人熊譜翔、飛漫科技創始人魏永明、嵌入式大咖韋東山、核心大佬宋寶華等良師益友的重磅推薦!

本書主要內容

全書共 13 章內容,作業系統部分涉及記憶體管理,程序管理,檔案系統,同步管理,以及系統呼叫。晶片 SoC 部分涉及 SoC bringup 的過程,裝置模型,裝置樹原理,電源模組,時鐘模組,引腳模組,時間模組以及中斷模組,這些模組都是晶片執行作業系統的基本要求。站在一線開發者的角度先剖析 Kernel 6.6 的實現原理,然後結合恩智浦 i.MX9 晶片的 SoC 硬體原理,由淺入深的講解作業系統和 SoC 的不解之謎。本書涵蓋以下主要內容。

第1章介紹記憶體管理,包括記憶體管理的機制,CPU訪問記憶體的過程,記憶體架構和記憶體模型,memblock物理記憶體初始化和對映,物理記憶體的軟體劃分,頁幀分配器的實現,快速分配之水位控制,快速分配之夥伴系統,慢速分配之記憶體碎片整理。
第2章介紹程序管理,包括核心對程序的描述,使用者態程序、執行緒的建立,do_fork 函式的實現,程序的排程,SMP的負載均衡等內容。
第3章介紹檔案系統,包括磁碟的物理結構,檢視檔案系統,查詢 ext4 檔案系統的過程,虛擬檔案系統的原理。
第4章介紹同步管理,包括原子操作、 自旋鎖,訊號量 、互斥鎖,RCU等內容。
第5章介紹系統呼叫,包括系統呼叫的定義,從核心態和使用者態講解系統呼叫的處理流程。
第6章介紹 SoC bringup,從 Uboot 啟動前,到 Uboot 的初始化,再到 Kernel 的初始化。內容包括 SPL 的工作流程,ATF 的工作流程,Uboot 的過程,以及 Kernel 各個子系統的初始化流程。
第7章介紹裝置模型,這是進入研究裝置驅動的基礎,內容包括裝置模型的基石,裝置模型的探究,最後手把手和大家一起定製一塊開發板。
第8章介紹裝置樹原理,涉及裝置樹的基本用法,裝置樹的深度解析。
第9章介紹電源模組,這是作業系統在SoC上執行的動力來源,內容涉及電源 Power Domain 的軟硬體實現,電源 Runtime PM 的軟硬體實現。
第10章介紹時鐘模組,這是作業系統在 SoC 上執行的心跳,內容涉及時鐘控制器的硬體實現,時鐘子系統的實現,時鐘控制器的驅動實現。
第11章介紹引腳模組,這是作業系統在 SoC 上執行的四肢,用來連線其它外設,內容涉及 IOMUX 控制器的硬體實現,IOMUX 控制器的驅動實現,以及引腳裝置的驅動實現。
第12章介紹時間模組,這是作業系統在 SoC 上執行時的計時,內容涉及時間子系統的架構,定時器和時鐘源的初始化,高解析度定時器 hrtimer,底解析度定時器,sched_timer。
第13章介紹中斷模組,這是作業系統在 SoC 上執行時對外界的反饋,內容涉及中斷控制器的硬體實現,中斷控制器的驅動實現,中斷下半部的實現過程。

學習本書的好處

在人工智慧時代,作業系統和晶片開發的技術廣度大幅擴充套件。AI 晶片的普及和邊緣計算、物聯網等新興技術的興起,要求硬體與軟體深度協同。例如,在邊緣裝置上執行AI模型時,開發者需要同時最佳化作業系統的資源管理和晶片的能耗控制。這種跨領域能力是 AI 時代技術發展的關鍵。

從技術深度看,作業系統和晶片開發的學習能幫助讀者深入理解底層原理,提升效能最佳化、安全性和可靠性設計能力。例如,如何透過最佳化作業系統的排程演算法和晶片的快取機制來加速 AI 推理?如何設計安全的系統以保護隱私?這些問題的解決需要紮實的底層技術功底,為未來的技術創新奠定基礎。此外還可以助我們:
  1. 順利透過大廠面試。大廠面試通常非常注重技術深度。對於底層技術的考查,能夠有效篩選出真正有實力的候選人。在面試中,很多應聘者可能對應用層技術有一定了解,但深入到作業系統原理、晶片架構等底層知識時,掌握這些知識的人相對較少。例如,在作業系統方面,能夠深入講解程序排程演算法(如 CFS – 完全公平排程演算法)、記憶體管理機制(如分頁和分段機制)的應聘者會給面試官留下深刻印象。 在晶片開發領域,瞭解晶片常用驅動等底層知識,能夠在面試相關崗位時展現出自己的專業度。這是因為大廠往往有自己的底層技術研發需求,大廠在實際專案中會遇到很多與底層技術相關的問題。例如,軟體在執行時出現效能瓶頸,可能與作業系統的記憶體分配不合理或者 CPU 排程策略不最佳化有關。掌握底層技術的人能夠從根源上分析和解決這些問題,這在面試中透過案例分析等環節可以很好地體現出來。
  2. 拓寬技術職業方向。作業系統和晶片開發等底層技術的變化相對緩慢。與應用層技術頻繁更新換代不同,底層技術的核心原理和架構在較長時間內保持穩定。例如,Linux 作業系統的核心架構雖然在不斷發展,但基本的程序管理、記憶體管理等核心機制變化不大。學習這些底層技術可以讓從業者在較長的職業生涯中保持技術的有效性和競爭力。而且掌握底層技術能夠使從業者更容易實現技術遷移。無論是從不同行業領域之間的擇業,還是從一種作業系統平臺轉向另一種,底層技術知識都能提供堅實的基礎。例如,一個熟悉作業系統底層的開發者,在從傳統 PC 作業系統開發轉向移動作業系統開發時,能夠更快地理解和適應新的開發環境,因為移動作業系統的很多底層原理(如程序管理、資源排程)與傳統作業系統是相通的。在人工智慧時代亦是如此。
  3. 緩解“35 歲失業“焦慮。在技術行業,35 歲左右往往面臨年輕從業者的競爭壓力。學習作業系統和晶片開發等底層技術可以建立起較高的技術壁壘。這些底層技術需要長時間的學習和實踐才能掌握,相比年輕從業者普遍掌握的應用層技術,底層技術更能體現資深從業者的價值。例如,在企業裁員時,能夠對作業系統核心進行最佳化或者對晶片設計進行改進的技術人員,因其不可替代的技術能力,被裁掉的風險相對較低。
最後,新書定價 139 元,但我幫大家爭取到了 5 折優惠,現在只要 69.5 元,優惠暫時還不知道能持續多久,想入手的朋友建議趁早,前1000名有簽名和彩蛋哦!點選下方卡片即可購買:

相關文章