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

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

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

定 價:¥139.00

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

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

內(nèi)容簡介

  全書共五篇,以從易到難的順序詳細(xì)剖析了Linux內(nèi)核開發(fā)的核心技術(shù)?!爸R儲備篇”介紹了Linux的數(shù)據(jù)結(jié)構(gòu)、中斷處理、內(nèi)核同步和時間計算等內(nèi)容,這些是理解后續(xù)章節(jié)的前提;之后通過“內(nèi)存管理篇”“文件系統(tǒng)篇”“進(jìn)程管理篇”詳細(xì)介紹了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)核的讀者可以跳過知識儲備篇,直接從三大核心模塊篇進(jìn)行閱讀。本書深入淺出、配圖豐富,可作為Linux初中級讀者系統(tǒng)學(xué)習(xí)Linux內(nèi)核開發(fā)的指導(dǎo)手冊,也可作為從事嵌入式、操作系統(tǒng)、Linux編程、驅(qū)動/內(nèi)核開發(fā),以及智能設(shè)備開發(fā)的工程師的案頭指南和進(jìn)階工具書。

作者簡介

  姜亞華先后就職于華為、Intel、AMD、壁仞科技和曦智科技。?就職于華為期間,負(fù)責(zé)華為手機(jī)的Touch和Sensor的驅(qū)動和軟件優(yōu)化,包括Viva、D1、Mate1、Mate2和P2等。?就職于Intel期間,負(fù)責(zé)Intel安卓平臺的Camera和Sensor的驅(qū)動,包括Baytrail、Cherrytrail、Cherrytrail CR和Sofia等。?就職于AMD期間,負(fù)責(zé)DMA、Interrupt、Semaphore等模塊的優(yōu)化和驗證,包括Vega系列、Navi系列和多款A(yù)PU產(chǎn)品。?在曦智科技負(fù)責(zé)多款產(chǎn)品的系統(tǒng)軟件開發(fā)至今,包括PCIe驅(qū)動、設(shè)備固件和系統(tǒng)類庫等。一直從事與Linux內(nèi)核和Linux系統(tǒng)編程相關(guān)的工作,研究內(nèi)核代碼十余年,對多數(shù)模塊的細(xì)節(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)存管理進(jìn)階
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ù)進(jìn)程管理篇
第13章進(jìn)程
13.1概述
13.1.1數(shù)據(jù)結(jié)構(gòu)
13.1.2擴(kuò)展討論
13.2進(jìn)程的創(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)建進(jìn)程
13.3.1fork/vfork系統(tǒng)調(diào)用
13.3.2創(chuàng)建線程
13.3.3創(chuàng)建內(nèi)核線程
13.4進(jìn)程“三巨頭”
13.5進(jìn)程退出
13.5.1退出方式
13.5.2退出過程
13.5.3使用wait等待子進(jìn)程
13.6【看圖說話】Android的thread
目錄圖解Linux內(nèi)核(基于6.x)第14章進(jìn)程調(diào)度
14.1數(shù)據(jù)結(jié)構(gòu)
14.2進(jìn)程調(diào)度的過程
14.2.1進(jìn)程被創(chuàng)建
14.2.2喚醒進(jìn)程
14.2.3時鐘中斷
14.2.4進(jìn)程切換
14.3stop調(diào)度類
14.4實時調(diào)度類
14.4.1優(yōu)先級和搶占
14.4.2task_tick_rt函數(shù)
14.4.3選擇下一個進(jìn)程
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進(jìn)程切換
14.6最后期限調(diào)度類
14.7idle調(diào)度類
14.8進(jìn)程優(yōu)先級
14.9【看圖說話】idle進(jìn)程
第15章進(jìn)程通信
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【看圖說話】多線程和多進(jìn)程
第16章信號
16.1數(shù)據(jù)結(jié)構(gòu)
16.2捕捉信號
16.3發(fā)送信號
16.4【圖解】信號處理的過程
16.4.1處理信號的時機(jī)和方式
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機(jī)制
18.2poll機(jī)制
18.3【圖解】epoll
18.3.1數(shù)據(jù)結(jié)構(gòu)
18.3.2epoll的使用
18.4【看圖說話】改良管道通信
第19章玩轉(zhuǎn)操作系統(tǒng)—

本目錄推薦

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