0916~0919_開學季語言展

練核心從裡強到外:全面了解Linux基礎架構

  • 9 900
    1000
  • 分類:
    中文書電腦資訊作業系統Linux
    追蹤
    ? 追蹤分類後,您會在第一時間收到分類新品通知。
  • 作者: 笨叔 追蹤 ? 追蹤作者後,您會在第一時間收到作者新書通知。
  • 出版社: 深智數位 追蹤 ? 追蹤出版社後,您會在第一時間收到出版社新書通知。
  • 出版日:2021/05/20

活動訊息

想找書的時候,特別想偷看網友的書櫃... 原來大家都在看這本 ↓↓↓

用閱讀開啟視野,讓書成為照亮你人生的光
【金石堂選書】本月推薦您這些好書👉 快來看看

內容簡介

最硬的Linux核心 + Arm、x86架構的核心說明
看懂本書,直接成為個人電腦及手機CPU的頂薪全才!


► 基於 Linux 5.0和ARM64/x86_64架構
► 新增ARM64 架構等方面的內容
► 涵蓋實戰案例,提供面試題
► 提供核心偵錯和最佳化技巧

本書基於Linux 5.0核心的原始程式碼,說明Linux核心中核心模組的實現。

全書共9章,主要內容包括處理器架構、ARM64在Linux核心中的實現、記憶體管理之預備知識、實體記憶體與虛擬記憶體、記憶體管理等高級主題、記憶體管理之實戰案例、處理程式管理之基本概念、處理程式管理之排程和負載平衡、處理程式管理之偵錯與案例分析。

■ 第 1 章簡單介紹 ARM64 架構、ARMv8 暫存器、A64 指令集等。
■ 第 2 章介紹 ARM64 記憶體管理、快取記憶體管理、TLB 管理、記憶體屏障並分析Linux 核心的組合語言程式碼等。
■ 第 3 章說明如何從硬體角度看記憶體管理、從軟體角度看記憶體管理以及實體記憶體管理之預備知識等內容。
■ 第 4 章討論頁面分配之快速路徑、slab 分配器、vmalloc()、虛擬記憶體管理之處理程序位址空間、malloc()、mmap 以及缺頁異常處理等內容。
■ 第 5 章探討 page、RMAP、頁面回收、匿名頁面生命週期、頁面遷移、記憶體規整、KSM、頁面分配之慢速路徑以及記憶體碎片化管理等內容。
■ 第 6 章探討記憶體管理記錄檔資訊和偵錯資訊、記憶體管理最佳化參數、記憶體管理實戰案例等內容。
■ 第 7 章說明處理程序的基本概念、處理程序的建立和終止、處理程序排程基本操作等內容。
■ 第 8 章說明 CFS、負載計算、SMP 負載平衡、綠色節能排程器、即時排程等內容。
■ 第 9 章介紹處理程序管理中的偵錯、綜合案例等內容。

本書適合Linux系統開發人員、嵌入式系統開發人員及Android開發人員閱讀。

另外還有針對大型企業最常見的面試題,讓你快快樂樂學習,輕輕鬆鬆找工作,喜歡極硬派Linux及CPU原理的讀者千萬不要錯過。

適合讀者群:Linux系統開發人員、嵌入式系統開發人員及Android開發人員

作者

笨叔

Linux核心愛好者,出版過多本Linux書籍。建立了「奔跑吧Linux社區」,為廣大Linux愛好者佈道。

目錄

前言

01 處理器架構
1.1 處理器架構介紹
1.2 ARM64 架構
1.3 ARMv8 暫存器
1.4 A64 指令集
1.5 GCC 內聯組合語言
1.6 函數呼叫標準和堆疊佈局
1.7 ARM64 異常處理

02 ARM64 在Linux 核心中的實現
2.1 ARM64 記憶體管理
2.2 快取記憶體管理
2.3 TLB 管理
2.4 記憶體屬性
2.5 記憶體屏障
2.6 Linux 核心組合語言程式碼分析
2.7 關於分頁的常見疑問

03 記憶體管理之預備知識
3.1 從硬體角度看記憶體管理
3.2 從軟體角度看記憶體管理
3.3 實體記憶體管理之預備知識

04 實體記憶體與虛擬記憶體
4.1 頁面分配之快速路徑
4.2 slab 分配器
4.3 vmalloc()
4.4 虛擬記憶體管理之處理程序位址空間
4.5 malloc()
4.6 mmap
4.7 缺頁異常處理

05 記憶體管理之進階主題
5.1 page
5.2 RMAP
5.3 頁面回收
5.4 匿名頁面生命週期
5.5 頁面遷移
5.6 記憶體碎片整理
5.7 KSM
5.8 頁面分配之慢速路徑
5.9 記憶體碎片化管理

06 記憶體管理之實戰案例分析
6.1 記憶體管理日誌資訊和偵錯資訊
6.2 記憶體管理最佳化參數
6.3 記憶體管理實戰案例分析

07 處理程序管理之基本概念
7.1 關於處理程序的基本概念
7.2 與處理程序創建和終止相關的作業系統基本操作
7.3 程式分析:處理程序的創建和終止
7.4 處理程序分配基本操作

08 處理程序管理之分配與負載平衡
8.1 CFS
8.2 負載計算
8.3 SMP 負載平衡
8.4 綠色節能分配器
8.5 即時分配

09 處理程序管理之偵錯與案例分析
9.1 處理程序管理之偵錯
9.2 綜合案例分析—系統分配
9.3 處理程序管理

序/導讀

前言

2019 年3 月3 日,Linux 核心創始人Linus Torvalds 在社區裡正式宣佈了Linux 5.0 核心的發佈。雖然Linus 在郵寄清單裡提到,Linux 5.0 並不是一個大幅修改和新增很多特性的版本,只不過是因為Linux 4.20 核心的次版本編號太大了,所以才發佈了Linux 5.0 核心。但是Linux 核心的開發並沒有因此而暫停或變慢,依然每兩個月左右就發佈一個新版本,將很多新特性加入核心。從Linux4.0 核心到Linux 5.0 核心,其間發佈了20 個版本,出現了很多新特性並且核心的實現已經發生了很大的變化。

最近兩年,研究作業系統和開放原始碼軟體的氣氛越來越濃厚,很多大公司在基於Linux 核心打造自己的作業系統,包含手機作業系統、伺服器作業系統、IoT 嵌入式系統等。另外,很多公司在探索使用ARM64 架構來建置自己的硬體生態系統,包含手機晶片、伺服器晶片等。

本書包含處理器架構、Linux 核心的記憶體管理、處理程序管理等,包含Linux核心偵錯和效能最佳化、如何解決當機難題以及安全性漏洞分析等。

🔶 本書特色

本書特色如下。

■ 基於 Linux 5.0 和 ARM64/x86_64 架構
完全基於Linux 5.0 核心來說明。相對於Linux 4.0 核心,Linux 5.0 核心中不少重要模組的實現已經發生了天翻地覆的變化,如綠色節能排程器的實現、迴旋栓鎖的實現等。同時,Linux 5.0 核心修復了Linux 4.x 核心的很多故障,如KSM 導致的虛擬機器當機故障等。
在手機晶片和嵌入式晶片領域,ARM64 架構的處理器佔了80% 以上的市佔率;而在個人電腦和伺服器領域,x86_64 架構的處理器則佔了90% 以上的市佔率。因此,ARM64 架構和x86_64 架構是目前市場上的主流處理器架構。本書主要基於ARM64/x86_64 架構來說明Linux 5.0 核心的實現,很多核心模組的實現和架構的相關性很低,因此本書也非常適合使用其他架構的讀者閱讀。在伺服器領域,目前大部分廠商依然使用x86_64 架構加上Red Hat Linux 或Ubuntu Linux 企業發行版本的方案。

■ 新增了實戰案例分析
新增了很多實戰案例,如記憶體管理方面新增了4 個實戰案例,這些案例都是從實際專案中分析出來的,對讀者提升實戰能力有非常大的幫助。另外還新增了解決當機難題的實戰案例。在實際專案開發中,我們常常會遇到作業系統當機,如手機當機、伺服器當機等,本書歸納了多個當機案例,利用Kdump+Crash 工具來詳細分析如何解決當機難題。考慮到有部分讀者使用ARM64 處理器做產品開發,也有不少讀者在x86_64 架構的伺服器上做運行維護或效能最佳化等工作,本書分別說明了針對這兩種架構的處理器如何快速解決當機難題。
2019 年出現的CPU 熔斷和「幽靈」漏洞牽動了全球軟體開發人員的心,了解這兩個漏洞對讀者熟悉電腦架構和Linux 核心的實現非常有幫助。

■ 提供了核心偵錯和最佳化技巧
本書說明了很多核心偵錯和最佳化的技巧。Linux 核心透過proc 和sysfs 檔案系統給我們提供了很多有用的記錄檔資訊。在記憶體管理最佳化過程中,可透過核心提供的記錄檔資訊來快速了解和分析系統記憶體並進行最佳化,如檢視和分析meminfo、zone 資訊、夥伴系統等。

■ 提供了大量插圖和表格
本書盡可能在書中不貼上程式或只列出少量核心程式,這樣可以用更多的篇幅來擴充新內容。

■ 說明了 ARM64 架構方面的內容
介紹了ARM64 架構及其在Linux 核心中的實現,其中包含ARM64 指令集、ARM64 暫存器、分頁、記憶體管理、TLB、記憶體屏障等方面的知識。

■ 提供了面試題。
為了展現問題導向式的核心原始程式碼分析,每章列舉了一些高頻面試題,以觸發讀者探索未知的興趣。

■ 使用基於 GCC 的 "O0" 選項編譯的 Linux 5.0 實驗平台
本書使用基於GCC 的"O0" 選項編譯的Linux 5.0 核心實驗平台。讀者可以使用GCC 來偵錯核心,它支援ARM64、x86_64 以及RISC-V 架構,對深入了解Linux 核心的實現有很大幫助。

重點內容如下

■ ARM64 架構,包含 ARM64 暫存器、ARM64 堆疊配置、ARM64 記憶體管理、TLB 管理、記憶體屏障、ARM64 Linux 組合語言程式碼分析等。
■ 記憶體管理之預備知識,如從硬體角度看記憶體管理、從軟體角度看記憶體管理等。
■ 頁面分配之慢速路徑分析。
■ 記憶體碎片化管理。
■ 記憶體管理偵錯和案例分析。
■ 處理程序管理之基本概念。
■ 綠色節能排程器分析。
■ 處理程序管理偵錯和案例分析。

🔶 本書主要內容

本書主要介紹ARM64 架構、Linux 核心記憶體管理以及處理程序管理和排程。

本書重點介紹Linux 核心中基礎架構的實現原理。本書基於Linux 核心的話題或技術點多作說明,本書共9 章。

■ 第 1 章簡單介紹 ARM64 架構、ARMv8 暫存器、A64 指令集等。
■ 第 2 章介紹 ARM64 記憶體管理、快取記憶體管理、TLB 管理、記憶體屏障並分析Linux 核心的組合語言程式碼等。
■ 第 3 章說明如何從硬體角度看記憶體管理、從軟體角度看記憶體管理以及實體記憶體管理之預備知識等內容。
■ 第 4 章討論頁面分配之快速路徑、slab 分配器、vmalloc()、虛擬記憶體管理之處理程序位址空間、malloc()、mmap 以及缺頁異常處理等內容。
■ 第 5 章探討 page、RMAP、頁面回收、匿名頁面生命週期、頁面遷移、記憶體規整、KSM、頁面分配之慢速路徑以及記憶體碎片化管理等內容。
■ 第 6 章探討記憶體管理記錄檔資訊和偵錯資訊、記憶體管理最佳化參數、記憶體管理實戰案例等內容。
■ 第 7 章說明處理程序的基本概念、處理程序的建立和終止、處理程序排程基本操作等內容。
■ 第 8 章說明 CFS、負載計算、SMP 負載平衡、綠色節能排程器、即時排程等內容。
■ 第 9 章介紹處理程序管理中的偵錯、綜合案例等內容。

🔶 繁體中文版及書附程式碼說明

本書作者為中國大陸人士,為求讀者能正確執行本附程式碼,本書所附程式碼為簡體中文介面,讀者可至本公司官網www.deepmind.com.tw/ 尋找相對書目下載。另本書原作會會不斷更新程式碼,讀者也可至讀者github 頁面github.com/figozhang/runninglinuxkernel_5.0 下載全新程式碼。

由於作者知識水準有限,書中難免存在紕漏,敬請各位讀者批評指正。作者電子郵件是runninglinuxkernel@126.com。

配送方式

  • 台灣
    • 國內宅配:本島、離島
    • 到店取貨:
      金石堂門市 不限金額免運費
      7-11便利商店 ok便利商店 萊爾富便利商店 全家便利商店
  • 海外
    • 國際快遞:全球
    • 港澳店取:
      ok便利商店 順豐 7-11便利商店

詳細資料

詳細資料

    • 語言
    • 中文繁體
    • 裝訂
    • 紙本平裝
    • ISBN
    • 9789865501921
    • 分級
    • 普通級
    • 頁數
    • 848
    • 商品規格
    • 23*17
    • 出版地
    • 台灣
    • 適讀年齡
    • 全齡適讀
    • 注音
    • 級別

商品評價

訂購/退換貨須知

加入金石堂 LINE 官方帳號『完成綁定』,隨時掌握出貨動態:

加入金石堂LINE官方帳號『完成綁定』,隨時掌握出貨動態
金石堂LINE官方帳號綁定教學

提醒您!!
金石堂及銀行均不會請您操作ATM! 如接獲電話要求您前往ATM提款機,請不要聽從指示,以免受騙上當!

退換貨須知:

**提醒您,鑑賞期不等於試用期,退回商品須為全新狀態**

  • 依據「消費者保護法」第19條及行政院消費者保護處公告之「通訊交易解除權合理例外情事適用準則」,以下商品購買後,除商品本身有瑕疵外,將不提供7天的猶豫期:
    1. 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮食品)
    2. 依消費者要求所為之客製化給付。(客製化商品)
    3. 報紙、期刊或雜誌。(含MOOK、外文雜誌)
    4. 經消費者拆封之影音商品或電腦軟體。
    5. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書、電子雜誌、下載版軟體、虛擬商品…等)
    6. 已拆封之個人衛生用品。(如:內衣褲、刮鬍刀、除毛刀…等)
  • 若非上列種類商品,均享有到貨7天的猶豫期(含例假日)。
  • 辦理退換貨時,商品(組合商品恕無法接受單獨退貨)必須是您收到商品時的原始狀態(包含商品本體、配件、贈品、保證書、所有附隨資料文件及原廠內外包裝…等),請勿直接使用原廠包裝寄送,或於原廠包裝上黏貼紙張或書寫文字。
  • 退回商品若無法回復原狀,將請您負擔回復原狀所需費用,嚴重時將影響您的退貨權益。
金石堂門市 全家便利商店 ok便利商店 萊爾富便利商店 7-11便利商店
World wide
活動ing