易燃物匯聚 YouTube 有聲書與書評
Linux是怎樣工作的 封面

Linux是怎樣工作的

[日]武內覺 著

1.5萬人在讀
11.5萬字總字數
¥34.9定價

有聲書與視頻解讀 YouTube視頻解讀 2

內容簡介

本書結合大量實驗程序和圖表,通俗易懂地介紹了Linux操作系統的運行原理和硬件的基礎知識,涉及進程管理、進程調度器、內存管理、存儲層次、文件系統和外部存儲器等。實驗程序使用C語言和Python編寫,讀者可親自動手運行程序,來確認系統的行爲。另外,以圖解的方式介紹各知識點,簡明且直觀,能夠幫助讀者加深理解。讀者只需對Linux基本命令有所瞭解,即可輕鬆閱讀。 本書適合應用程序開發人員、系統設計師、運維管理人員和技術支持人員等人士閱讀。

讀者書評

★★★★★

這本書可以讓你知道在操作系統中,進程管理,內存管理等機制在真實的世界中到底是怎麼運行的,會讓你直觀感受到他們的機制,內容又不會很晦澀,適合作爲OS的入門書,用於對OS有一個認知層面的瞭解。 讀過這本書之後可以嘗試《操作系統導論》,這本書從更抽象的層次,也就是虛擬化、併發、持久化三個方面詳細介紹了OS的實現細節。 此外,有一定基礎之後可以在b站學習南京大學蔣炎巖老師的《操作系統》視頻課程,個人感覺是OS相關的中文課程裏面含金量最高的,理論和實踐結合,每看一遍都有新的收穫,但是要對計算機系統有一定的基礎。

★★★★★

技術類書籍終歸在微讀這裏app裏是小衆讀取,讀之前沒報太大希望,讀到後面發現寫的挺好的,特別適合Linux初學者,這本書無法幫助你命令,但會告訴你係統底層的運作機制,CPU在執行過程中是怎麼個流程,內存的讀取和操作是怎麼進行的等,這是一本能從底層原理幫助Linux初學者理解Linux的,能讓我們在學習Linux增加信心的一本書。

★★★★★

最近讀到一本《Linux是怎樣工作的(增訂版)》,書中深入講解了進程管理、進程調度、內存管理等核心機制。掌握這些內核知識後,就能更高效地定位和解決各種複雜問題。 在操作系統中,從最早的 Unix 到 Minux 再到如今的 Linux。Linux 之父林納斯·託瓦茲從不靠 Linux 來賺錢,而是堅持開源、自由,因此他在技術圈獲得了神一樣的地位。 那些靠 Linux 內核上市的公司比如 Red Hat 賺得盆滿鉢滿。再看看微軟,Windows 一直是它賺錢的法寶,和 Linux 不同的是它閉源,也就是代碼不公開。而林納斯是純粹的技術理想主義者,單從他堅持開源的角度 Linux 真值得大家學習一下。

★★★☆☆

信息密度太低,適合完全對操作系統沒有概念的小白讀讀了解操作系統的職能

★☆☆☆☆

內容零散,沒有把各方面內容串起來圍繞怎麼工作的主題,代碼排版混亂。 一些專業術語翻譯不準,懷疑譯者對Linux的熟悉程度。

★★★★★

讀書筆記:《Linux是怎樣工作的》—— 系統底層的“透視”之旅 書名: 《Linux是怎樣工作的:從頭開始弄懂Linux系統底層運行機制》 作者: [日] 武內 覺 閱讀狀態: 已讀完 核心評價: 這本書不是教你配置服務器的說明書,而是一本教你用“顯微鏡”(strace/sar)觀察系統脈搏的解剖圖譜。 第1章:計算機系統概覽 —— 劃清界限的藝術 筆記: 計算機的世界被一道嚴格的紅線劃分爲“用戶態”和“內核態”。 我們寫的 Python 或 Java 程序平時都在用戶態“自嗨”,但只要涉及到任何硬件操作(比如讀文件、髮網絡包、甚至僅僅是打印一行日誌),都必須卑微地發起系統調用(System Call),請求擁有上帝視角的內核代爲執行。 💡 Insight: 這一章讓我明白了爲什麼 strace 這麼重要——因爲它守在這個邊界上,記錄了應用程序向內核發出的每一次“請求”。讀懂了系統調用,就讀懂了程序的真實意圖。 第2章:進程管理 —— 影分身之術 筆記: 進程是操作系統爲了管理任務而創造的抽象容器。Linux 創建進程的方式非常“反直覺”:它不憑空創建,而是使用 fork() 系統調用,像細胞分裂一樣完整複製父進程(包括內存表),然後再通過 exec() 變身成新的程序。 💡 Insight: 雖然 fork 聽起來很重(複製整個內存?),但內核使用了 Copy-on-Write(寫時複製) 技術,只有在子進程試圖修改數據時才真正複製物理內存。這種“懶惰”的機制極大地優化了創建進程的速度。 第3章:進程調度器 —— 併發的幻覺 筆記: 我們以爲電腦能同時跑幾百個軟件,其實是 CPU 在極短的**時間片(Time Slice)**內瘋狂切換造成的視覺殘留。調度器(Scheduler)就是那個決定“誰先喫肉、喫多久”的裁判。 💡 Insight: 天下沒有免費的午餐,上下文切換(Context Switch) 是有昂貴代價的。每次切換,CPU 都要保存寄存器、刷新緩存。這解釋了爲什麼在高併發場景下,線程開得太多反而會導致系統吞吐量下降——因爲 CPU 都在忙着切換,沒空幹正事。 第4章:內存管理(系統層)—— 巨大的謊言 筆記: 操作系統是最大的“詐騙犯”。它通過虛擬內存機制,給每個進程都發了一張“你有 4GB 內存”的空頭支票。只有當進程真的去讀寫這塊內存時,CPU 觸發缺頁中斷(Page Fault),內核纔會慌忙去分配真實的物理內存條空間。 💡 Insight: 這種“按需分配”機制不僅節省了內存,還隔離了進程間的安全風險。理解了 Page Fault,就理解了爲什麼有時候程序剛啓動時會有一點點卡頓(正在瘋狂觸發中斷分配內存)。 第5章:內存管理(進程層)—— 領地規劃 筆記: 深入進程內部,內存被劃分成了功能明確的社區。 代碼段放指令; 數據段放全局變量; 棧(Stack)由系統自動維護,存放函數調用和局部變量; 堆(Heap)由程序員手動 malloc 申請。 💡 Insight: 所謂的“內存泄漏”(Memory Leak)通常就發生在堆上;而“棧溢出”(Stack Overflow)通常是因爲遞歸太深把棧空間撐爆了。搞清楚這個佈局,Debug 時看內存報錯就不再是看天書了。 第6章:存儲層次與緩存 —— 內存的極致利用 筆記: 這是全書最顛覆認知的一章。Linux 的哲學是:“閒置的內存就是浪費”。內核會把所有沒用的物理內存都拿來做 Page Cache(頁緩存),緩存最近從硬盤讀寫過的文件。 💡 Insight: 這完美解釋了爲什麼用 free 命令看 Linux 服務器時,空閒內存(Free)總是少得可憐,但可用內存(Available)卻很多。只要沒有發生 Swap(交換分區讀寫),內存佔用高反而是系統高效利用資源的表現。 第7章:文件系統 —— 一切皆文件 筆記: 硬盤上的一堆磁信號,是如何變成我們看到的文件目錄樹的?這要歸功於文件系統(ext4, xfs 等)。Linux 通過 VFS(虛擬文件系統) 統一了接口,無論是真實的硬盤文件,還是 /proc 裏的系統狀態,都被抽象成了文件。 💡 Insight: Inode(索引節點) 存元數據,Block 存真實數據。理解了這個分離,就懂了爲什麼有時候磁盤空間沒滿,但因爲小文件太多把 Inode 耗盡了,依然導致無法寫入文件。 第8章:外部存儲設備 —— 解決最慢的短板 筆記: 相比於 CPU 和內存,硬盤(特別是機械硬盤)的速度慢如蝸牛。爲了不讓 CPU 傻等,Linux 引入了 I/O 調度器(如電梯算法),將零散的讀寫請求進行排序和合並,儘量一次性順路讀寫更多數據。 💡 Insight: 雖然現在 SSD 普及了,但在數據庫等高壓場景下,選擇合適的 I/O 調度策略(Noop vs Deadline)依然是性能調優的關鍵點。 📚 總結語: 讀完這本書,最大的感受是“祛魅”。 Linux 不是黑盒,它是由一個個具體的機制(系統調用、中斷、緩存、調度)堆砌而成的精密機器。以後遇到問題,不要猜,去 /proc 看數據,用 strace 看過程,數據不會撒謊。

★★★★★

這本書在我看來偏向於引導概述,適合入門Linux系統。計算機的學生大二做課外延展,應該是比較適合的,難度和深度也算適中。對於我這樣的半路出家,一年多一點工作經驗的人來說,從內存相關內容開始就有一點點喫力了,不過也不算特別難以理解。 看完這本書,我對工作中遇到的很多一知半解的東西有了更深刻的理解,對Linux系統的各部分也都有了比較粗淺的理解,日後遇到什麼類型的問題也有針對性的學習方向。 這本書對於Linux的各個模塊有一定深度的介紹,但是缺少對Linux系統設計整體上介紹,這是我認爲的一點不足吧。整體來說它是一本很不錯的書籍。

★★★★★

慢悠悠的讀完了這本書,總體來說內容淺顯易懂。 以下是還能想起來的知識。也算是有些收穫 1. 用戶態和內核態:用戶態無法訪問硬件,權限相對來說比較低 2. fork函數和exec函數區別:fork是先複製一份一模一樣的內存出來,exec是在原有內存的基礎上變成另一個程序 3. 多級緩存L1、L2、L3等。越靠近cpu的訪問速度越快,成本也越高 4. 內存(虛擬內存、頁表、缺頁中斷):硬盤讀取出來的數據到內存中,頁表標記是否修改過(髒數據),隨後回寫進硬盤 5. 數據一致性(日誌、寫時複製):日誌是先記錄所有要執行的操作,隨後執行。寫時複製先複製一份原有的內存數據,在複製內存數據上修改,在放棄掉之前據。 6. 文件系統(ext4、XFS):每個系統各有優缺點,其他的想不起來了

★★★★★

快速過了一遍。正如作者所說,本書圍繞Linux快速講解了OS與硬件的基礎知識,適合快速瞭解和回憶基礎知識。同時,可以瞭解到具體的相關代碼是怎樣的,能夠減少理論知識和代碼間的差異。比較適合我這種沒寫過這些底層代碼的情況,解答了一些疑惑

★★★☆☆

這本書適合初學Linux看來快速熟悉Linux系統使用,文中對於各個知識點採用先講解,然後黑盒的測試方式,驗證假設。內容連貫,適合初學。

書籍信息

作者[日]武內覺 著
譯者曹栩
出版社人民郵電出版社有限公司
出版時間2022-03-01
ISBN9787115581617
分類計算機-編程設計
格式EPUB
完結狀態連載中
章節數104