注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)Linux深度探索Linux操作系統(tǒng):系統(tǒng)構(gòu)建和原理解析

深度探索Linux操作系統(tǒng):系統(tǒng)構(gòu)建和原理解析

深度探索Linux操作系統(tǒng):系統(tǒng)構(gòu)建和原理解析

定 價(jià):¥89.00

作 者: 王柏生 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 操作系統(tǒng) 計(jì)算機(jī)與互聯(lián)網(wǎng)

購(gòu)買這本書(shū)可以去


ISBN: 9787111439011 出版時(shí)間: 2013-09-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 436 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  《深度探索Linux操作系統(tǒng):系統(tǒng)構(gòu)建和原理解析》是探索Linux操作系統(tǒng)原理的里程碑之作,在眾多的同類書(shū)中獨(dú)樹(shù)一幟。它顛覆和摒棄了傳統(tǒng)的從閱讀Linux內(nèi)核源代碼著手學(xué)習(xí)Linux操作系統(tǒng)原理的方式,而是基于實(shí)踐,以從零開(kāi)始構(gòu)建一個(gè)完整的Linux操作系統(tǒng)的過(guò)程為依托,指引讀者在實(shí)踐中去探索操作系統(tǒng)的本質(zhì)。這種方式的妙處在于,讓讀者先從宏觀上全面認(rèn)清一個(gè)完整的操作系統(tǒng)中都包含哪些組件,各個(gè)組件的作用,以及各個(gè)組件間的關(guān)系,從微觀上深入理解系統(tǒng)各個(gè)組件的原理,幫助讀者達(dá)到事半功倍的學(xué)習(xí)效果,這是作者潛心研究Linux操作系統(tǒng)10幾年的心得和經(jīng)驗(yàn),能避免后來(lái)者在學(xué)習(xí)中再走彎路。此外,本書(shū)還對(duì)編譯鏈接技術(shù)(尤其是動(dòng)態(tài)加載和鏈接技術(shù))和圖形系統(tǒng)進(jìn)行了原理性的探討,這部分內(nèi)容非常珍貴?!渡疃忍剿鱈inux操作系統(tǒng):系統(tǒng)構(gòu)建和原理解析》一共8章:第1章介紹了如何準(zhǔn)備工作環(huán)境。在第2章中構(gòu)建了編譯工具鏈,這是后面構(gòu)建操作系統(tǒng)各個(gè)組件的基礎(chǔ)。在這一章中,不僅詳細(xì)講解了工具鏈的構(gòu)建過(guò)程,而且還通過(guò)對(duì)編譯鏈接過(guò)程的探討,深入討論了工具鏈的組成及各個(gè)組件的作用,理解工具鏈的工作原理對(duì)理解操作系統(tǒng)至關(guān)重要。第3~4章,從零開(kāi)始構(gòu)建了一個(gè)具備用戶字符界面的最小操作系統(tǒng),詳細(xì)講解了構(gòu)建的過(guò)程以及涉及的技術(shù)細(xì)節(jié)。第5章從理論的角度探討了這一過(guò)程,從內(nèi)核的加載、解壓一直討論到用戶進(jìn)程的加載,包括用戶空間的動(dòng)態(tài)鏈接器為加載程序所作的努力。第6~7章首先構(gòu)建了操作系統(tǒng)的基礎(chǔ)圖形系統(tǒng),然后在此基礎(chǔ)上構(gòu)建了桌面環(huán)境。第8章深入探討了計(jì)算機(jī)圖形的基礎(chǔ)原理,包含2D和3D程序的渲染、軟件渲染、硬件渲染等內(nèi)容,同時(shí)也從操作系統(tǒng)的角度審視了Pipeline。

作者簡(jiǎn)介

  王柏生,資深Linux技術(shù)專家,精通Linux操作系統(tǒng),對(duì)Linux操作系統(tǒng)進(jìn)行了超過(guò)10年的研究。10多年來(lái),先后參與并帶領(lǐng)團(tuán)隊(duì)開(kāi)發(fā)Linux發(fā)行版、移動(dòng)操作系統(tǒng)和車載操作系統(tǒng)。不僅深刻領(lǐng)悟了Linux操作系統(tǒng)的原理和本質(zhì),而且對(duì)學(xué)習(xí)Linux操作系統(tǒng)原理的方式和方法也有獨(dú)到的認(rèn)識(shí)和見(jiàn)解。

圖書(shū)目錄

前  言
第1章 準(zhǔn)備基本環(huán)境
1.1 安裝VirtualBox
1.2 創(chuàng)建虛擬計(jì)算機(jī)
1.3 安裝Linux系統(tǒng)
1.4 使用root用戶
1.5 啟用自動(dòng)登錄
1.6 掛載實(shí)驗(yàn)分區(qū)
1.7 安裝ssh服務(wù)器
1.8 更改網(wǎng)絡(luò)模式
1.9 安裝增強(qiáng)模式
1.10 使用Xephyr
第2章 工具鏈
2.1 編譯過(guò)程
2.1.1 預(yù)編譯
2.1.2 編譯
2.1.3 匯編
2.1.4 鏈接
2.2 構(gòu)建工具鏈
2.2.1 GNU工具鏈組成
2.2.2 構(gòu)建工具鏈的過(guò)程
2.2.3 準(zhǔn)備工作
2.2.4 構(gòu)建二進(jìn)制工具
2.2.5 編譯freestanding的交叉編譯器
2.2.6 安裝內(nèi)核頭文件
2.2.7 編譯目標(biāo)系統(tǒng)的C庫(kù)
2.2.8 構(gòu)建完整的交叉編譯器
2.2.9 定義工具鏈相關(guān)的環(huán)境變量
2.2.10 封裝“交叉”pkg-config
2.2.11 關(guān)于使用libtool鏈接庫(kù)的討論
2.2.12 啟動(dòng)代碼
第3章 構(gòu)建內(nèi)核
3.1 內(nèi)核映像的組成
3.1.1 一級(jí)推進(jìn)系統(tǒng)--setup.bin
3.1.2 二級(jí)推進(jìn)系統(tǒng)--內(nèi)核非壓縮部分
3.1.3 有效載荷--vmlinux
3.1.4 映像的格式
3.2 內(nèi)核映像的構(gòu)建過(guò)程
3.2.1 kbuild簡(jiǎn)介
3.2.2 構(gòu)建過(guò)程概述
3.2.3 vmlinux的構(gòu)建過(guò)程
3.2.4 vmlinux.bin的構(gòu)建過(guò)程
3.2.5 setup.bin的構(gòu)建過(guò)程
3.2.6 bzImage的組合過(guò)程
3.2.7 內(nèi)核映像構(gòu)建過(guò)程總結(jié)
3.3 配置內(nèi)核
3.3.1 交叉編譯內(nèi)核設(shè)置
3.3.2 基本內(nèi)核配置
3.3.3 配置處理器
3.3.4 配置內(nèi)核支持模塊
3.3.5 配置硬盤控制器驅(qū)動(dòng)
3.3.6 配置文件系統(tǒng)
3.3.7 配置內(nèi)核支持ELF文件格式
3.4 構(gòu)建基本根文件系統(tǒng)
3.4.1 根文件系統(tǒng)的基本目錄結(jié)構(gòu)
3.4.2 安裝C庫(kù)
3.4.3 安裝shell
3.4.4 安裝根文件系統(tǒng)到目標(biāo)系統(tǒng)
第4章 構(gòu)建initramfs
4.1 為什么需要initramfs
4.2 initramfs原理探討
4.2.1 掛載rootfs
4.2.2 解壓initramfs到rootfs
4.2.3 掛載并切換到真正的根目錄
4.3 配置內(nèi)核支持initramfs
4.4 構(gòu)建基本的initramfs
4.5 將硬盤驅(qū)動(dòng)編譯為模塊
4.5.1 配置devtmpfs
4.5.2 將硬盤控制器驅(qū)動(dòng)配置為模塊
4.6 自動(dòng)加載硬盤控制器驅(qū)動(dòng)
4.6.1 內(nèi)核向用戶空間發(fā)送事件
4.6.2 udev加載驅(qū)動(dòng)和建立設(shè)備節(jié)點(diǎn)
4.6.3 處理冷插拔設(shè)備
4.6.4 編譯安裝udev
4.6.5 配置內(nèi)核支持NETLINK
4.6.6 配置內(nèi)核支持inotify
4.6.7 安裝modules.alias.bin文件
4.6.8 啟動(dòng)udevd和模擬熱插拔
4.7 掛載并切換到根文件系統(tǒng)
4.7.1 掛載根文件系統(tǒng)
4.7.2 切換到根文件系統(tǒng)
第5章 從內(nèi)核空間到用戶空間
5.1 Linux操作系統(tǒng)加載
5.1.1 GRUB映像構(gòu)成
5.1.2 安裝GRUB
5.1.3 GRUB啟動(dòng)過(guò)程
5.1.4 加載內(nèi)核和initramfs
5.2 解壓內(nèi)核
5.2.1 移動(dòng)內(nèi)核映像
5.2.2 解壓
5.2.3 重定位
5.3 內(nèi)核初始化
5.3.1 初始化虛擬內(nèi)存
5.3.2 初始化進(jìn)程0
5.3.3 創(chuàng)建進(jìn)程1
5.4 進(jìn)程加載
5.4.1 加載可執(zhí)行程序
5.4.2 進(jìn)程的投入運(yùn)行
5.4.3 按需載入指令和數(shù)據(jù)
5.4.4 加載動(dòng)態(tài)鏈接器
5.4.5 加載動(dòng)態(tài)庫(kù)
5.4.6 重定位動(dòng)態(tài)庫(kù)
5.4.7 重定位可執(zhí)行程序
5.4.8 重定位動(dòng)態(tài)鏈接器
5.4.9 段RELRO
第6章 構(gòu)建根文件系統(tǒng)
6.1 初始根文件系統(tǒng)
6.2 以讀寫模式重新掛載文件系統(tǒng)
6.3 配置內(nèi)核支持網(wǎng)絡(luò)
6.3.1 配置內(nèi)核支持TCP/IP協(xié)議
6.3.2 配置內(nèi)核支持網(wǎng)卡
6.4 啟動(dòng)udev
6.5 安裝網(wǎng)絡(luò)配置工具并配置網(wǎng)絡(luò)
6.6 安裝并配置ssh服務(wù)
6.7 安裝procps
6.8 安裝X窗口系統(tǒng)
6.8.1 安裝M4宏定義
6.8.2 安裝X協(xié)議和擴(kuò)展
6.8.3 安裝X相關(guān)庫(kù)和工具
6.8.4 安裝X服務(wù)器
6.8.5 安裝GPU的2D驅(qū)動(dòng)
6.8.6 安裝X的輸入設(shè)備驅(qū)動(dòng)
6.8.7 運(yùn)行X服務(wù)器
6.8.8 一個(gè)簡(jiǎn)單的X程序
6.8.9 配置內(nèi)核支持DRM
6.9 安裝圖形庫(kù)
6.9.1 安裝GLib和libffi
6.9.2 安裝ATK
6.9.3 安裝libpng
6.9.4 安裝GdkPixbuf
6.9.5 安裝Fontconfig
6.9.6 安裝Cairo
6.9.7 安裝Pango
6.9.8 安裝libXi
6.9.9 安裝GTK
6.9.10 安裝GTK圖形庫(kù)的善后工作
6.9.11 一個(gè)簡(jiǎn)單的GTK程序
6.10 安裝字體
第7章 構(gòu)建桌面環(huán)境
7.1 窗口管理器
7.1.1 基本原理
7.1.2 創(chuàng)建編譯腳本
7.1.3 主要數(shù)據(jù)結(jié)構(gòu)
7.1.4 初始化
7.1.5 為窗口“落戶”
7.1.6 構(gòu)建窗口裝飾
7.1.7 繪制裝飾窗口
7.1.8 配置窗口
7.1.9 移動(dòng)窗口
7.1.10 改變窗口大小
7.1.11 切換窗口
7.1.12 最大化/最小化/關(guān)閉窗口
7.1.13 管理已存在的窗口
7.2 任務(wù)條和桌面
7.2.1 標(biāo)識(shí)任務(wù)條的身份
7.2.2 更新任務(wù)條上的任務(wù)項(xiàng)
7.2.3 激活任務(wù)
7.2.4 高亮顯示當(dāng)前活動(dòng)任務(wù)
7.2.5 顯示桌面
7.2.6 桌面
第8章 Linux圖形原理探討
8.1 渲染和顯示
8.1.1 渲染
8.1.2 顯示
8.2 顯存
8.2.1 動(dòng)態(tài)顯存技術(shù)
8.2.2 Buffer Object
8.3 2D渲染
8.3.1 創(chuàng)建前緩沖
8.3.2 GPU渲染
8.3.3 CPU渲染
8.4 3D渲染
8.4.1 創(chuàng)建幀緩沖
8.4.2 渲染Pipleline
8.4.3 交換前緩沖和后緩沖
8.5 Wayland

本目錄推薦

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