2017年9月《奔跑吧 Linux內核》一書出版後得到了廣大Linux從業人員和愛好者(特別是從事Linux相關產品開發的工程師)的好評,也有不少高校採用該書作為研究生的Linux內核課程的參考書目。《奔跑吧 Linux內核》以實際工程中的問題為導向來分析Linux內核,很多讀者認為它不太適合Linux初學者。因此,作者重新編寫了一本適合Linux初學者學習Linux內核的入門教程。

2018年,中興事件讓晶元技術和操作系統變得火熱起來,越來越多的人關注操作系統等基礎學科。特別是Linux內核開源項目,已經成為操作系統研究和使用的典範。很多讀者反映在看完《鳥哥的Linux私房菜》一書後已經能夠熟練使用Linux系統,但是對Linux內核以及更深層次的技術問題仍一頭霧水。《奔跑吧 Linux內核 入門篇》希望能幫助已經熟悉Linux系統使用的讀者深入學習Linux內核。

今天我們有幸邀請到了《奔跑吧Linux內核 入門篇》作者笨叔叔,一起來看下他的所思所想。

Q :非同步社區:可以介紹一下自己嗎?目前正在做哪些事情?

笨叔叔:大家好,我是笨叔叔,我現在在上海紫竹一家小晶元公司做FAE,FAE就是客戶支持。我自己從大學畢業到現在工作已經有15個年頭了。我基本上是從第一份工作到現在的工作,都是和Linux相關的工作崗位。我的第一份工作是客戶支持,當時Intel的xscale移動處理器很熱門,我們那個時候就是做xscale處理器的開發板。在這之後,我做過一段時間的研發,現在又回到客戶支持的老本行。

Q:非同步社區: 恭喜您《奔跑吧Linux內核》出版1年多實現了銷售與口碑雙豐收,這本書出版後帶給您最大的變化是什麼?又是什麼初衷開始創作《奔跑吧 Linux內核 入門篇》這本書,兩次寫書心態有什麼變化嗎?

笨叔叔:首先要感謝非同步社區這個平台,讓我可以實現自己的一個小心愿。寫第一本《奔跑吧Linux內核》的初衷是想把自己多年的工作經驗和總結用文字的方式記錄下來。因為工作的關係,因為我是FAE嘛,常常需要面對客戶的「蹂躪」。通常客戶會給你一些刁鑽的問題,而這些問題, FAE工作人員的通常做法是把它轉發後端的研發同事來回答,而我喜歡自己研究代碼,自己解決,當然不是所有的問題都能一個人解決。但是與研發同事的討論會讓自己學到很多東西。

另外,我自己有記筆記的習慣,是手寫的筆記,我會把一些思考的問題和思路記錄下來,這麼多年來,我記錄了兩大本。《奔跑吧Linux內核》這本書通過奔跑卷和思考題的方式把我多年來遇到的問題、思考和總結都分享出來了,所以我感到很開心,因為這本書體現了一個FAE應有的獨立思考和堅韌的品質。

《奔跑吧Linux內核》出版後得到了很多Linux工程師的喜歡,這令我感到很欣慰。但是有不少小夥伴紛紛給我留言,說這本書起點有點高,很多內容看不懂。另外也有大學老師反映書太厚,不適合作為大學本科教材,希望我可以出一本難度低一點、薄一點的書。《奔跑吧 Linux內核 入門篇》融入了很多老師給我的建議,特別是南昌大學的陳悅老師、大連理工的吳國偉老師,以及國防科大的余傑老師。還有一點就是,國內學Linux的小夥伴中有相當的一部分都學習了Linux運維相關的知識,但是從Linux運維到Linux專家之間還有一個巨大的鴻溝。希望讀者在閱讀完《鳥哥的Linux私房菜》之後,可以通過閱讀《奔跑吧 Linux內核 入門篇》進入Linux內核的世界裡,從而提升自己對Linux的理解,也為自己後面的職業發展增加實力。

第一次寫《奔跑吧Linux內核》的時候,完全沒有想到要出版,只是為了把自己東西用電子檔案的方式記錄下來。後來寫的差不多了,才聯繫上非同步社區,所以要非常感謝非同步社區這個平台。第二次寫書,也就是這本《奔跑吧 Linux內核 入門篇》,就是帶著任務來的,反而有點忐忑不安,生怕辜負了讀者和老師們的期望,也衷心希望各位讀者朋友可以毫不留情地給我批評和建議,以便後續修改再版的時候可以做到更好。

Q:非同步社區:《奔跑吧 Linux內核 入門篇》您最想將這本書推薦給誰看?怎麼看?

笨叔叔:《奔跑吧 Linux內核 入門篇》最適合已經會安裝Linux系統的讀者,比如通過《鳥哥的Linux私房菜》這本書學會了安裝和配置常用的Linux工具和軟體服務。但如果把Linux當作產品開發平台和伺服器運維平台,是遠遠不夠的,因為我們知道國內的大公司,比如BAT,都有很強大的內核團隊在維護著他們的伺服器。因此,我們需要了解Linux內核的方方面面,入門篇這本書最適合Linux運維的小夥伴繼續深入學習Linux系統和內核的入門教程。

另外,入門篇也適合高等院校操作系統課程的參考教材,這本書配套了70多個動手實驗和將近500頁的教學使用的PPT課件,以及全套的實驗環境和參考代碼。這本書出來之後,已經被多家高校選作操作系統課程的參考教材,比如大連理工大學、上海交通大學、南昌大學等。

同時這本書也適合各大企業作為新員工的培訓教材,在出版之初,已經有多家國內的公司的研發部門經理表示採用這本書作為新員工培訓教材。

自中興事件後,國家對晶元和操作系統都非常重視。去年工信部組織了國產Linux相關的廠商進行了操作系統自主可控的資格考試,裡面的考題與入門篇的實驗題目相類似,所以這本書也非常適合作為Linux相關從業人員進修和考試的參考書籍。

Q:非同步社區:我們關注到您也在創辦自己的視頻課程,寫書與錄製視頻課程哪個挑戰更大?

笨叔叔:視頻課程,算是一個意外的事情。當時《奔跑吧Linux內核》出版後,不少讀者紛紛留言表示對書中的內容理解起來比較困難,希望我可以出視頻課程,這樣方便閱讀和理解書上的內容。基於這個原因,我開始嘗試錄製配套視頻課程。視頻課程和書中內容配套的,後來根據讀者的需求,不斷增加新的內容,比如Linux內核代碼解讀和導讀、Vim 8工具的使用、git工具的使用,以及Kdump+crash挑戰死機黑屏專題等。

Q:非同步社區:國內外眾多的公司和行業都採用Linux作為首選的操作系統,學習Linux操作系統的人員也越來越多。Linux 內核開發是一個讓人聽起來就覺得很了不起的工作,成為Linux 內核開發領域的程序員,最大的挑戰是什麼?職業發展路徑是怎樣的?

笨叔叔:沒錯,現在Linux系統是操作系統的絕對霸主。除了傳統的伺服器領域和嵌入式領域,我們可以看到越來越多的產業都在用Linux,包括工業4.0、IoT、人工智慧、物聯網等。可以說Linux才是操作系統的第一,不僅是裝機量第一,而且參與開發的人數和公司數量也是第一。Linux的產業生態會帶來很多的職位需求,Linux內核開發在這些職位當中是最有含金量的,薪水最高,發展前景也是最好的。

最新的Linux內核代碼量已經遠遠超過了2000萬行,龐大的代碼量給Linux內核的學習帶來了前所未有的挑戰。有挑戰,意味著機遇。有時我們需要問一下自己,如果沒有不斷挑戰的能力,我們憑什麼要求老闆給高薪?或者說僅僅會安裝Linux系統和配置一些服務,老闆為什麼要給我們高薪?所以,我覺得Linux內核對學習者來說充滿了挑戰和機遇。在中國製造2025、人工智慧、物聯網等發展的大趨勢下,少不了Linux,大家一起加油奔跑吧!

Q:非同步社區:你覺得工作中最重要的軟技能是什麼?為什麼?

笨叔叔:軟技能這個詞,我是最有感觸了,我現在公司的第一個老闆就經常教導我們要在公司里build 自己的soft skill,在這裡我要特別感謝他。這裡說的soft skill包含很多,比如怎麼在一個team里建立自己的leadership、怎麼和自己的老闆建立信任、怎麼在客戶和其他team里體現自己的能力,等等。在我們IT工程師的思維里,常常以技術為主導,以技術能力來評價一個人,而忽略軟技能。公司是由很多人建立的群體,技術能力本身很重要,但並不是唯一的。所以,我的建議是,程序員不要以技術能力為一切來看待問題,還需要關注技術以外的一些東西。

Q:非同步社區:Linux程序員的自我修養,需要哪些硬核本領?

笨叔叔:Linux涉及的東西很多,比如體系結構、C語言編程、操作系統、編譯原理、彙編語言、外設晶元匯流排(如USB、PCIe)等。我們需要學習東西很多很多,大家加油吧!

Q:非同步社區:棄 Windows 而擁抱 Linux 之後,有人預測2019年可能會是Linux年?您怎麼看待這個預測?

笨叔叔:在我看來,早已經是Linux年了。Linux系統除了在PC領域被Windows打得「潰不成軍」,在其他任何領域都絕對是老大,比如伺服器、超級計算機、手機、嵌入式、IoT等。在操作系統領域,很難有其他的OS可以超越Linux。我覺得有兩個原因,一是Linux的生態是完善的,支持的硬體是最多的,比如很多硬體廠商出來一些新東西,最先要支持的操作系統就是Linux;二是Linux的開發人員是最多的,也是最活躍的社區,有人氣、有眾多大公司的支持、有資金投入,這是其他任何一個社區都無法比擬的。

Q:非同步社區:Linus Torvalds 於內核郵件列表(LKML)中正式宣布推出 Linux 5.0 rc1 版本,宣告Linux 進入 5.0 時代,對於Linux內核程序員有什麼新的挑戰?您覺得優勢是什麼?

笨叔叔:現在Linux內核的大版本升級已經不是因為有一些重大的特性,而是因為子版本號比較大了,所以Linux創始人Linus希望使用一個大版本號。

Linux 5.0的出現,對於所有Linux內核開發人員的最大挑戰是,Linux內核代碼更新速度太快,比如平均2個月一個新版本。隔幾個版本之後,我們會發現有不少代碼發生了變化。Linux內核是採用社區開發的方式,全球有200多家頂尖IT公司和1000多名優秀的程序員參與其中,大家可以想像一下,一個人要學會1000多人的智慧結晶,當然是挑戰重重。

有資金投入,這是其他任何一個社區都無法比擬的。

Q:非同步社區:非同步社區:有沒有寫下一本書的打算?可以「劇透」一下嗎?

笨叔叔:因為Linux 5.0出來了,因此打算把《奔跑吧Linux內核》更新到最新的Linux 5.0,會增加很多新特性。這些特性一部分是在Linux 4.x期間增加的特性,比如HMM等;另一部分是原來就在Linux內核里,只是《奔跑吧 Linux內核》沒有講到,比如IOMMU、VFIO、hugepage、cgroup、kdump死機等。我打算根據廣大讀者提的建議做比較大的改動,主要的改動是增加背景知識的部分,減少書中的代碼量,把代碼關鍵部分展現出來。另外還會增加思考題,這部分主要是從工作中提煉,還有一部分是讀者提出來的疑問。

Q:非同步社區:對您工作和生活幫助最大的三本書?一定要推薦的?

笨叔叔:計算機方面的圖書,人民郵電出版社和非同步社區里有很多經典的圖書,我在這裡就不一一推薦了,「計算機好圖書哪裡找,上非同步社區」!

我想推薦兩本我在過年期間看的書,是和計算機無關的書,我們這些程序員有時候可以換換腦子,這樣工作會更有效率。一本是國內私募大佬但斌的書《時間的玫瑰》,這本書給我感觸最大的一句話是:「巴菲特之所以偉大,不在於他在75歲的時候擁有了450億的財富,而在於他年輕的時候想明白了許多事情,然後用一生的歲月來堅守」。對Linux的熱愛,也值得我們用一生的歲月去堅守。

還有一本書是李馳的《投資是一場長途旅行》,李馳對生活和投資的理念很值得學習。書中有一句話讓我印象深刻:「如何拍攝到角馬渡河的壯觀場面?等待。如何拍攝到海豚圍獵沙丁魚的奇觀?等待。如何執到牛耳?還是等待,而且市場中通常是用99%的時間換來1%時間的驚人上漲」。這句話用在我們的人生中也是一樣的,人生中99%的時間都是平淡的,但是我們一直堅持,總有一天會實現自己的小夢想。

笨叔叔著作

《奔跑吧 Linux內核 入門篇》

作者:張天飛

掃描二維碼,一鍵購買

  • 原理+基礎,從調試Linux內核到動手編寫一個簡單的內核模塊,真正從零開始學習Linux內核。
  • 實驗+案例,70餘個創新實驗貫穿全書,與你分享業內一線項目經驗。
  • 課件+視頻,教學資源豐富,視頻講解透徹,與你共享精品在線配套資源。
  • 涵蓋當前Linux社區中新的開發工具和社區運作方式,反映Linux內核社區新發展。

本書是一本介紹Linux內核實踐的入門書,基於Linux 4.0內核,重點講解Linux內核的理論和實驗。本書分為12章,包括Linux系統入門、Linux內核基礎知識、內核編譯和調試、內核模塊、簡單的字元設備驅動、系統調用、內存管理、進程管理、同步管理、中斷管理、調試和性能優化,以及如何參與開源社區等內容。此外,本書還介紹了Linux內核社區常用的開發工具和理論,如Vim 8和git工具等。書中包括70多個實驗,幫助讀者深入理解Linux內核。

《奔跑吧 Linux內核 入門篇》

作者:張天飛

掃描二維碼,一鍵購買

  • 基於Linux 4.x內核、ARM體系架構,以實際問題為導向,重點介紹Linux內核中基本常用的內存管理、進程管理、並發與同步、中斷管理等模塊。
  • Greg Kroah-Hartman、陳文智等眾多業內專家審閱並推薦!
  • 本書內容基於Linux 4.x內核,主要選取了Linux內核中比較基本和常用的內存管理、進程管理、並發與同步,以及中斷管理這4個內核模塊進行講述。全書共分為6章,依次介紹了ARM體系結構、Linux內存管理、進程調度管理、並發與同步、中斷管理、內核調試技巧等內容。本書的每節內容都是一個Linux內核的話題或者技術點,讀者可以根據每小節前的問題進行思考,進而圍繞問題進行內核源代碼的分析。

- END -

非同步圖書

聊聊圖書背後的故事

推薦閱讀:

相关文章