注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)操作系統(tǒng)圖解Linux內(nèi)核(基于6.x)

圖解Linux內(nèi)核(基于6.x)

圖解Linux內(nèi)核(基于6.x)

定 價:¥139.00

作 者: 姜亞華
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111745471 出版時間: 2024-05-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  全書共五篇,以從易到難的順序詳細剖析了Linux內(nèi)核開發(fā)的核心技術(shù)。“知識儲備篇”介紹了Linux的數(shù)據(jù)結(jié)構(gòu)、中斷處理、內(nèi)核同步和時間計算等內(nèi)容,這些是理解后續(xù)章節(jié)的前提;之后通過“內(nèi)存管理篇”“文件系統(tǒng)篇”“進程管理篇”詳細介紹了Linux的三大核心模塊;最后的“綜合應(yīng)用篇”則融合了前面諸多模塊知識展示了Linux內(nèi)核開發(fā)在操作系統(tǒng)、智能設(shè)備、驅(qū)動、通信、芯片、云計算和人工智能等熱點領(lǐng)域的應(yīng)用。書中的重點、難點均配有圖表、代碼和實戰(zhàn)案例,力求直觀、清晰。學(xué)習(xí)本書的讀者需要熟悉C語言,建議對Linux內(nèi)核有一定了解。推薦初學(xué)者按照本書的編排順序閱讀,而熟悉Linux內(nèi)核的讀者可以跳過知識儲備篇,直接從三大核心模塊篇進行閱讀。本書深入淺出、配圖豐富,可作為Linux初中級讀者系統(tǒng)學(xué)習(xí)Linux內(nèi)核開發(fā)的指導(dǎo)手冊,也可作為從事嵌入式、操作系統(tǒng)、Linux編程、驅(qū)動/內(nèi)核開發(fā),以及智能設(shè)備開發(fā)的工程師的案頭指南和進階工具書。

作者簡介

  姜亞華先后就職于華為、Intel、AMD、壁仞科技和曦智科技。?就職于華為期間,負責(zé)華為手機的Touch和Sensor的驅(qū)動和軟件優(yōu)化,包括Viva、D1、Mate1、Mate2和P2等。?就職于Intel期間,負責(zé)Intel安卓平臺的Camera和Sensor的驅(qū)動,包括Baytrail、Cherrytrail、Cherrytrail CR和Sofia等。?就職于AMD期間,負責(zé)DMA、Interrupt、Semaphore等模塊的優(yōu)化和驗證,包括Vega系列、Navi系列和多款A(yù)PU產(chǎn)品。?在曦智科技負責(zé)多款產(chǎn)品的系統(tǒng)軟件開發(fā)至今,包括PCIe驅(qū)動、設(shè)備固件和系統(tǒng)類庫等。一直從事與Linux內(nèi)核和Linux系統(tǒng)編程相關(guān)的工作,研究內(nèi)核代碼十余年,對多數(shù)模塊的細節(jié)如數(shù)家珍。

圖書目錄


前言
知識儲備篇
第1章Linux內(nèi)核概述
1.1基于Linux的操作系統(tǒng)生態(tài)
1.2【圖解】Linux工程師技能和領(lǐng)域
1.3內(nèi)核代碼結(jié)構(gòu)
1.4【看圖說話】Android操作系統(tǒng)
第2章數(shù)據(jù)結(jié)構(gòu)和設(shè)計模式
2.1【圖解】關(guān)系型數(shù)據(jù)結(jié)構(gòu)
2.1.1一對一關(guān)系
2.1.2一對多關(guān)系
2.1.3多對多關(guān)系
2.2【圖解】內(nèi)核中常見的設(shè)計模式
2.2.1模板方法設(shè)計模式
2.2.2觀察者設(shè)計模式
2.3【看圖說話】input子系統(tǒng)第3章中斷
3.1【圖解】中斷處理的軟硬件分工
3.2中斷的處理
3.2.1注冊中斷服務(wù)例程
3.2.2中斷處理和返回
3.3軟中斷
3.3.1tasklet小任務(wù)
3.3.2timer定時器
3.4【看圖說話】系統(tǒng)調(diào)用與程序優(yōu)化
第4章Linux的時間
4.1數(shù)據(jù)結(jié)構(gòu)
4.2時間的衡量
4.2.1時鐘芯片
4.2.2時間的計算
4.3【圖解】時鐘中斷
4.4【看圖說話】timer和hrtimer內(nèi)存管理篇
第5章內(nèi)存尋址
5.1DRAM和MMIO
5.2【圖解】內(nèi)存分頁
5.2.1尋址
5.2.2內(nèi)存映射
5.3【看圖說話】訪問GPU的
Framebuffer
第6章物理內(nèi)存的管理
6.1【圖解】物理內(nèi)存的布局
6.1.1【圖解】node
6.1.2【圖解】node的管理
6.2物理內(nèi)存申請的三個階段
6.2.1啟動程序
6.2.2memblock分配器
6.2.3伙伴系統(tǒng)
6.3【看圖說話】搭建管理物理內(nèi)存的
系統(tǒng)
第7章虛擬內(nèi)存的管理
7.1線性空間的劃分
7.2【圖解】內(nèi)核線性空間布局
7.2.1直接映射區(qū)
7.2.2動態(tài)映射區(qū)
7.2.3永久映射區(qū)
7.2.4固定映射區(qū)
7.3用戶空間內(nèi)存映射mmap
7.3.1數(shù)據(jù)結(jié)構(gòu)
7.3.2mmap的實現(xiàn)
7.4【看圖說話】/dev/mem的巧用和限制
第8章內(nèi)存管理進階
8.1內(nèi)存申請
8.1.1申請連續(xù)物理內(nèi)存
8.1.2vmalloc的使用
8.2緩存
8.2.1TLB緩存
8.2.2內(nèi)存緩存
8.3【圖解】缺頁異常
8.3.1異常的處理
8.3.2COW的精髓
8.4【看圖說話】看似簡單的malloc
第9章內(nèi)存回收
9.1【圖解】內(nèi)存回收調(diào)用棧
9.2掃描過程的控制
9.3選擇掃描對象
9.4掃描inactive鏈表
9.4.1頁隔離
9.4.2folio的原理
9.4.3回收隔離頁
9.4.4掃尾
9.5掃描active鏈表
9.6【看圖說話】反向映射
9.6.1匿名映射的mapping
9.6.2文件映射的mapping文件系統(tǒng)篇
第10章虛擬文件系統(tǒng)
10.1數(shù)據(jù)結(jié)構(gòu)
10.2【圖解】文件系統(tǒng)的掛載
10.3文件查找
10.4文件操作
10.4.1軟鏈接和硬鏈接
10.4.2創(chuàng)建和刪除目錄
10.4.3打開和關(guān)閉文件
10.4.4創(chuàng)建節(jié)點
10.4.5刪除文件
10.5文件的IO
10.5.1讀寫
10.5.2ioctl操作
10.6【看圖說話】proc文件系統(tǒng)
第11章sysfs文件系統(tǒng)
11.1基本框架
11.2數(shù)據(jù)結(jié)構(gòu)
11.3創(chuàng)建文件
11.4文件的IO
11.5【看圖說話】sysfs和驅(qū)動
第12章ext4文件系統(tǒng)
12.1【圖解】ext4布局
12.2數(shù)據(jù)結(jié)構(gòu)
12.2.1ext4_super_block結(jié)構(gòu)體
12.2.2ext4_group_desc結(jié)構(gòu)體
12.2.3ext4_inode結(jié)構(gòu)體
12.2.4ext4_sb_info結(jié)構(gòu)體
12.2.5ext4_inode_info結(jié)構(gòu)體
12.3ext4的掛載
12.4【圖解】ext4目錄結(jié)構(gòu)
12.4.1線性目錄
12.4.2哈希樹目錄
12.4.3硬鏈接
12.5【圖解】ext4文件的IO
12.5.1映射
12.5.2區(qū)段樹
12.6【看圖說話】文件的恢復(fù)進程管理篇
第13章進程
13.1概述
13.1.1數(shù)據(jù)結(jié)構(gòu)
13.1.2擴展討論
13.2進程的創(chuàng)建
13.2.1dup_task_struct函數(shù)
13.2.2復(fù)制creds
13.2.3設(shè)置時間
13.2.4sched_fork函數(shù)
13.2.5復(fù)制資源
13.2.6申請pid
13.2.7重要的雜項
13.3創(chuàng)建進程
13.3.1fork/vfork系統(tǒng)調(diào)用
13.3.2創(chuàng)建線程
13.3.3創(chuàng)建內(nèi)核線程
13.4進程“三巨頭”
13.5進程退出
13.5.1退出方式
13.5.2退出過程
13.5.3使用wait等待子進程
13.6【看圖說話】Android的thread
目錄圖解Linux內(nèi)核(基于6.x)第14章進程調(diào)度
14.1數(shù)據(jù)結(jié)構(gòu)
14.2進程調(diào)度的過程
14.2.1進程被創(chuàng)建
14.2.2喚醒進程
14.2.3時鐘中斷
14.2.4進程切換
14.3stop調(diào)度類
14.4實時調(diào)度類
14.4.1優(yōu)先級和搶占
14.4.2task_tick_rt函數(shù)
14.4.3選擇下一個進程
14.5【圖解】完全公平調(diào)度類
14.5.1task_fork_fair函數(shù)
14.5.2enqueue_task和check_preempt
14.5.3task_tick_fair函數(shù)
14.5.4進程切換
14.6最后期限調(diào)度類
14.7idle調(diào)度類
14.8進程優(yōu)先級
14.9【看圖說話】idle進程
第15章進程通信
15.1經(jīng)典的管道
15.1.1創(chuàng)建pipe
15.1.2pipe的操作
15.1.3命名管道
15.2POSIX通信
15.2.1POSIX信號量
15.2.2POSIX共享內(nèi)存
15.2.3POSIX消息隊列
15.3XSI通信
15.3.1IPC對象的key和id
15.3.2XSI信號量
15.3.3XSI消息隊列
15.3.4XSI共享內(nèi)存
15.4【看圖說話】多線程和多進程
第16章信號
16.1數(shù)據(jù)結(jié)構(gòu)
16.2捕捉信號
16.3發(fā)送信號
16.4【圖解】信號處理的過程
16.4.1處理信號的時機和方式
16.4.2處理信號后如何返回
16.5【看圖說話】監(jiān)控文件的IO綜合應(yīng)用篇
第17章玩轉(zhuǎn)操作系統(tǒng)——程序的
執(zhí)行
17.1【圖解】elf文件
17.1.1概述
17.1.2文件格式
17.2exec函數(shù)族
17.2.1數(shù)據(jù)結(jié)構(gòu)
17.2.2系統(tǒng)調(diào)用
17.3【看圖說話】main函數(shù)的來龍去脈
第18章玩轉(zhuǎn)操作系統(tǒng)——IO多路
復(fù)用
18.1select機制
18.2poll機制
18.3【圖解】epoll
18.3.1數(shù)據(jù)結(jié)構(gòu)
18.3.2epoll的使用
18.4【看圖說話】改良管道通信
第19章玩轉(zhuǎn)操作系統(tǒng)—

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號