注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(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)建和原理解析

定 價:¥89.00

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

ISBN: 9787111439011 出版時間: 2013-09-01 包裝: 平裝
開本: 16開 頁數(shù): 436 字數(shù):  

內(nèi)容簡介

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

作者簡介

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

圖書目錄

前  言
第1章 準(zhǔn)備基本環(huán)境
1.1 安裝VirtualBox
1.2 創(chuàng)建虛擬計算機
1.3 安裝Linux系統(tǒng)
1.4 使用root用戶
1.5 啟用自動登錄
1.6 掛載實驗分區(qū)
1.7 安裝ssh服務(wù)器
1.8 更改網(wǎng)絡(luò)模式
1.9 安裝增強模式
1.10 使用Xephyr
第2章 工具鏈
2.1 編譯過程
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)建工具鏈的過程
2.2.3 準(zhǔn)備工作
2.2.4 構(gòu)建二進制工具
2.2.5 編譯freestanding的交叉編譯器
2.2.6 安裝內(nèi)核頭文件
2.2.7 編譯目標(biāo)系統(tǒng)的C庫
2.2.8 構(gòu)建完整的交叉編譯器
2.2.9 定義工具鏈相關(guān)的環(huán)境變量
2.2.10 封裝“交叉”pkg-config
2.2.11 關(guān)于使用libtool鏈接庫的討論
2.2.12 啟動代碼
第3章 構(gòu)建內(nèi)核
3.1 內(nèi)核映像的組成
3.1.1 一級推進系統(tǒng)--setup.bin
3.1.2 二級推進系統(tǒng)--內(nèi)核非壓縮部分
3.1.3 有效載荷--vmlinux
3.1.4 映像的格式
3.2 內(nèi)核映像的構(gòu)建過程
3.2.1 kbuild簡介
3.2.2 構(gòu)建過程概述
3.2.3 vmlinux的構(gòu)建過程
3.2.4 vmlinux.bin的構(gòu)建過程
3.2.5 setup.bin的構(gòu)建過程
3.2.6 bzImage的組合過程
3.2.7 內(nèi)核映像構(gòu)建過程總結(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ū)動
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庫
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ū)動編譯為模塊
4.5.1 配置devtmpfs
4.5.2 將硬盤控制器驅(qū)動配置為模塊
4.6 自動加載硬盤控制器驅(qū)動
4.6.1 內(nèi)核向用戶空間發(fā)送事件
4.6.2 udev加載驅(qū)動和建立設(shè)備節(jié)點
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 啟動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啟動過程
5.1.4 加載內(nèi)核和initramfs
5.2 解壓內(nèi)核
5.2.1 移動內(nèi)核映像
5.2.2 解壓
5.2.3 重定位
5.3 內(nèi)核初始化
5.3.1 初始化虛擬內(nèi)存
5.3.2 初始化進程0
5.3.3 創(chuàng)建進程1
5.4 進程加載
5.4.1 加載可執(zhí)行程序
5.4.2 進程的投入運行
5.4.3 按需載入指令和數(shù)據(jù)
5.4.4 加載動態(tài)鏈接器
5.4.5 加載動態(tài)庫
5.4.6 重定位動態(tài)庫
5.4.7 重定位可執(zhí)行程序
5.4.8 重定位動態(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 啟動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é)議和擴展
6.8.3 安裝X相關(guān)庫和工具
6.8.4 安裝X服務(wù)器
6.8.5 安裝GPU的2D驅(qū)動
6.8.6 安裝X的輸入設(shè)備驅(qū)動
6.8.7 運行X服務(wù)器
6.8.8 一個簡單的X程序
6.8.9 配置內(nèi)核支持DRM
6.9 安裝圖形庫
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圖形庫的善后工作
6.9.11 一個簡單的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 移動窗口
7.1.10 改變窗口大小
7.1.11 切換窗口
7.1.12 最大化/最小化/關(guān)閉窗口
7.1.13 管理已存在的窗口
7.2 任務(wù)條和桌面
7.2.1 標(biāo)識任務(wù)條的身份
7.2.2 更新任務(wù)條上的任務(wù)項
7.2.3 激活任務(wù)
7.2.4 高亮顯示當(dāng)前活動任務(wù)
7.2.5 顯示桌面
7.2.6 桌面
第8章 Linux圖形原理探討
8.1 渲染和顯示
8.1.1 渲染
8.1.2 顯示
8.2 顯存
8.2.1 動態(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 ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號