大師養成起手式:從核心真正了解 Linux 運作原理
笨叔、陳悅 著
- 出版商: 深智數位
- 出版日期: 2021-08-19
- 定價: $880
- 售價: 7.9 折 $695
- 語言: 繁體中文
- 頁數: 656
- 裝訂: 平裝
- ISBN: 9860776164
- ISBN-13: 9789860776164
-
相關分類:
Linux
- 此書翻譯自: 奔跑吧 Linux 內核入門篇, 2/e
立即出貨(限量)
買這商品的人也買了...
-
$507編譯原理, 2/e (Compilers : Principles, Techniques, and Tools, 2/e)
-
$356自己動手寫編譯器、鏈接器
-
$834$792 -
$500$390 -
$580$452 -
$880$748 -
$1,280$998 -
$450$383 -
$600$468 -
$620$484 -
$1,080$853 -
$680$537 -
$894$849 -
$1,000$850 -
$880$695 -
$980$774 -
$680$530 -
$780$616 -
$780$616 -
$800$632 -
$1,080$853 -
$750$585 -
$450$351 -
$720$562 -
$600$474
相關主題
商品描述
是該好好開始學Linux了!從最紅的Ubuntu Linux動手。高手不學操作和使用,直接從核心開始,本書甚至教你自己開發一個Linux OS。
想成為真正的作業系統大師,充分了解系統底層的架構,在封閉的Microsoft Windows系統中是無法完成的。只有真正深入Linux中,弄髒你的手,不斷撞牆,不斷打怪,你才能越來越強。但在這看似困難的路途上,如果有一本攻略,幫你避開地雷,讓你能走捷徑,把試誤的時間節省下來,這樣效率才高。
本書就是這樣的一本書,本書將Linux系統方面的基礎原理與實驗相互融合,有助讀者深入瞭解Linux系統的原理和精髓,掌握核心技術和方法,提高分析問題與解決問題的能力。
本書特色突出、內容新穎,除了從核心講解之外,更搭配了完整的實驗環境,並且還兼顧了x86和ARM架構,更可以讓你用樹莓派實作一個完整的OS,在玩樂中學Linux,不但有成就感,更讓你在談笑之間,回頭一看,自己已成為Linux大師!
※ 本書特色
循序漸進地說明 Linux 核心入門知識
Linux 核心龐大而複雜,任何一本厚厚的Linux 核心書都可能會讓人看得昏昏欲睡。因此,對初學者來說,Linux 核心的入門需要循序漸進,一步一個腳印。初學者可以從如何編譯Linux 核心開始入門,學習如何偵錯Linux 核心,動手編寫簡單的核心模組,逐步深入Linux核心的核心模組。
反映 Linux 核心社區新發展
除了介紹Linux 核心的基本理論之外,本書還介紹了當前Linux 社區中新的開發工具和社區運作方式,比如如何使用Vim 8 閱讀Linux 核心程式,如何使用git 工具進行社區開發,如何參與社區開發等。
結合 QEMU 偵錯環境說明,並列出大量核心偵錯技巧
在學習Linux 核心時,大多數人希望使用功能全面且好用的圖形化介面來單步偵錯核心。本書會介紹一種單步偵錯核心的方法—基於Eclipse + QEMU + GDB。另外,本書提供首個採用"-O0" 編譯和偵錯Linux 核心的實驗,可以解決偵錯時出現的游標亂跳和<optimized out> 等問題。本書也會介紹實際工程中很實用的核心偵錯技巧,例如ftrace、systemtap、記憶體檢測、鎖死檢測、動態輸出技術等,這些都可以在QEMU + ARM64 實驗平台上驗證。
作者簡介
笨叔
Linux核心愛好者,出版過多本Linux書籍,如<練核心從裡強到外:全面了解Linux基礎架構>。建立了「奔跑吧Linux社區」,為廣大Linux愛好者佈道。
陳悅
Linux內核愛好者,主要負責電腦資訊方面的「操作系統」、「彙編語言」與「電腦組成原理」等課程的教學與研究。
目錄大綱
01 Linux 系統基礎知識
1.1 Linux 系統的發展歷史
1.2 Linux 發行版本
1.3 Linux 核心介紹
1.4 如何學習Linux 核心
1.5 Linux 核心實驗入門
02 Linux 核心基礎知識
2.1 Linux 常用的編譯工具
2.2 Linux 核心中常用的C 語言技巧
2.3 Linux 核心中常用的資料結構和演算法
2.4 Vim 工具的使用
2.5 git 工具的使用
2.6 實驗
03 ARM64 架構基礎知識
3.1 ARM64 架構介紹
3.2 ARMv8 暫存器
3.3 A64 指令集
3.4 ARM64 異常處理
3.5 ARM64 記憶體管理
3.6 實驗平台:樹莓派
04 核心編譯和偵錯
4.1 核心設定
4.2 實驗4-1:透過QEMU 虛擬機器偵錯ARMv8 的Linux 核心
4.3 實驗4-2:透過Eclipse + QEMU 單步偵錯核心
05 核心模組
5.1 從一個核心模組開始
5.2 模組參數
5.3 符號共用
5.4 實驗
06 簡單的字元裝置驅動
6.1 從一個簡單的字元裝置開始
6.2 字元裝置驅動詳解
6.3 misc 機制
6.4 一個簡單的虛擬裝置
6.5 阻塞I/O 和非阻塞I/O
6.6 I/O 多工
6.7 增加非同步通知
6.8 本章小結
07 系統呼叫
7.1 系統呼叫的概念
7.2 實驗
08 處理程序管理
8.1 處理程序
8.2 處理程序的創建和終止
8.3 處理程序排程3
8.4 多核心排程
8.5 實驗
09 記憶體管理
9.1 從硬體角度看記憶體管理
9.2 從軟體角度看記憶體管理
9.3 實體記憶體管理
9.4 虛擬記憶體管理
9.5 缺頁異常
9.6 記憶體短缺
9.7 記憶體管理記錄檔資訊以及偵錯資訊
9.8 記憶體管理實驗
10 同步管理
10.1 原子操作與記憶體屏障
10.2 迴旋栓鎖機制
10.3 號誌
10.4 互斥鎖
10.5 讀寫鎖
10.6 RCU
10.7 等待佇列
10.8 實驗
11 中斷管理
11.1 Linux 中斷管理機制
11.2 軟體中斷和tasklet
11.3 工作佇列機制
11.4 實驗
12 偵錯和性能最佳化
12.1 printk() 輸出函數和動態輸出
12.2 proc 和debugfs
12.3 ftrace
12.4 分析Oops 錯誤
12.5 perf 性能分析工具
12.6 記憶體檢測
12.7 使用kdump 解決當機問題
12.8 性能和測試
13 開放原始碼社區
13.1 什麼是開放原始碼社區
13.2 參與開放原始碼社區
13.3 實驗13-1:使用cppcheck檢查程式
13.4 實驗13-2:提交第一個Linux 核心更新
13.5 實驗13-3:管理和提交多個更新組成的更新集
14 檔案系統
14.1 檔案系統的基本概念
14.2 檔案系統的基本概念和知識
14.3 虛擬檔案系統層
14.4 檔案系統的一致性
14.5 一次寫入磁碟的全過程
14.6 檔案系統實驗
15 虛擬化與雲端運算
15.1 虛擬化技術
15.2 容器技術
15.3 雲端運算
15.4 實驗
16 綜合能力訓練:動手寫一個小OS
16.1 實驗準備
16.2 入門動手篇
16.3 進階挑戰篇
16.4 高手完善篇