注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)LinuxLinux內(nèi)核設(shè)計(jì)的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理(第2版)

Linux內(nèi)核設(shè)計(jì)的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理(第2版)

Linux內(nèi)核設(shè)計(jì)的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理(第2版)

定 價(jià):¥89.00

作 者: 新設(shè)計(jì)團(tuán)隊(duì) 著
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: LINUX 操作系統(tǒng)/系統(tǒng)開發(fā) 計(jì)算機(jī)/網(wǎng)絡(luò)

ISBN: 9787111421764 出版時(shí)間: 2013-05-01 包裝: 平裝
開本: 16開 頁數(shù): 468 字?jǐn)?shù):  

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

  《Linux內(nèi)核設(shè)計(jì)的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理(第2版)》的第1版廣獲好評(píng),版權(quán)被中國(guó)臺(tái)灣和美國(guó)兩家大型出版社引進(jìn),第2版根據(jù)讀者的反饋和作者對(duì)操作系統(tǒng)的最新研究成果對(duì)第1版進(jìn)行了大幅優(yōu)化和重寫,使其內(nèi)容質(zhì)量更上一層樓。本書在眾多關(guān)于Linux內(nèi)核的書中獨(dú)樹一幟,它在世界范圍內(nèi)首次提出并闡述了操作系統(tǒng)設(shè)計(jì)的核心指導(dǎo)思想——主奴機(jī)制,這是所有操作系統(tǒng)研究者的一筆寶貴財(cái)富。它也是一本能真正引導(dǎo)我們較為容易地、極為透徹地理解Linux內(nèi)核的經(jīng)典之作,也可能是當(dāng)前唯一能從本質(zhì)上指引我們?nèi)ピO(shè)計(jì)和開發(fā)擁有自主知識(shí)產(chǎn)權(quán)的操作系統(tǒng)的著作?!禠inux內(nèi)核設(shè)計(jì)的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理(第2版)》的最大特點(diǎn)是它的寫作方式和內(nèi)容組織方式與同類書完全不同。它在深刻地分析了傳統(tǒng)講解方法的利弊之后,破舊立新,從認(rèn)知學(xué)的角度開創(chuàng)了一種全新的方式。以操作系統(tǒng)的真實(shí)運(yùn)行過程為主線,結(jié)合真實(shí)的內(nèi)核源代碼、300余幅精確的內(nèi)核運(yùn)行時(shí)序圖和具有點(diǎn)睛之妙的文字說明,對(duì)操作系統(tǒng)從開機(jī)加電到系統(tǒng)完全準(zhǔn)備就緒,及運(yùn)行用戶程序的整個(gè)過程進(jìn)行了系統(tǒng)而完整地分析,深刻地揭示了其間每一個(gè)動(dòng)作的設(shè)計(jì)意圖和實(shí)現(xiàn)原理,完美地再現(xiàn)了操作系統(tǒng)設(shè)計(jì)者的設(shè)計(jì)思路。閱讀本書就如同跟隨著操作系統(tǒng)設(shè)計(jì)者一起去思考,我們會(huì)在閱讀的過程中發(fā)現(xiàn)Linux內(nèi)核設(shè)計(jì)的精妙,會(huì)發(fā)現(xiàn)原來處處都“暗藏玄機(jī)”,哪怕是一行很短的代碼?!禠inux內(nèi)核設(shè)計(jì)的藝術(shù):圖解Linux操作系統(tǒng)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理(第2版)》在所有細(xì)節(jié)上都力求完美。為了保證知識(shí)的準(zhǔn)確性,操作系統(tǒng)運(yùn)行過程中的每個(gè)動(dòng)作都經(jīng)過了嚴(yán)格的考證;為了讓我們真正理解Linux內(nèi)核的原理,它突破傳統(tǒng),以Linux的真實(shí)運(yùn)行過程為主線進(jìn)行講解;為了做到真正易于理解,創(chuàng)新性地使用了圖解的方式,精心繪制了300余幅分辨率600dpi的時(shí)序圖,圖中表現(xiàn)的運(yùn)行時(shí)結(jié)構(gòu)和狀態(tài)與操作系統(tǒng)實(shí)際運(yùn)行時(shí)的真實(shí)狀態(tài)完全吻合;為了提高閱讀體驗(yàn),本書采用了雙色印刷,以便于我們更清楚地觀察每一幅圖中的細(xì)節(jié)。

作者簡(jiǎn)介

  新設(shè)計(jì)團(tuán)隊(duì),一直在為設(shè)計(jì)一個(gè)自主的、有所突破和創(chuàng)新的操作系統(tǒng)而努力。為了讓新的成員能更快、更容易地理解操作系統(tǒng)的精髓,從更高的角度去鑒賞和發(fā)現(xiàn)操作系統(tǒng)設(shè)計(jì)中的精妙與不足,團(tuán)隊(duì)成員以Linux 0.11內(nèi)核為例,對(duì)操作系統(tǒng)的設(shè)計(jì)思想和實(shí)現(xiàn)原理進(jìn)行了深刻地剖析,取得了十分好的效果,很好地培養(yǎng)和鍛煉了團(tuán)隊(duì)成員對(duì)操作系統(tǒng)的駕馭能力。為了實(shí)現(xiàn)讓國(guó)人也能設(shè)計(jì)出自己的操作系統(tǒng)的目標(biāo),本書作者團(tuán)隊(duì)無私地將他們的獨(dú)特研究方式與研究成果奉獻(xiàn)了出來,希望所有想要深刻理解Linux內(nèi)核和操作系統(tǒng)設(shè)計(jì)思想的朋友能從中受益。本書的特點(diǎn)在于,既不是空泛地講理論,也不是單純地從語法的角度去逐行地分析源代碼,而是以操作系統(tǒng)在實(shí)際運(yùn)行中的幾個(gè)經(jīng)典事件為主線,將理論和實(shí)際結(jié)合在一起,精準(zhǔn)地再現(xiàn)了操作系統(tǒng)在實(shí)際運(yùn)行中究竟是如何運(yùn)轉(zhuǎn)的。宏觀上,大家可以領(lǐng)略Linux 0.11內(nèi)核的設(shè)計(jì)指導(dǎo)思想,可以了解到各個(gè)環(huán)節(jié)是如何牽制并保持平衡的,以及軟件和硬件之間是如何互相依賴、互相促進(jìn)的;微觀上,大家可以看到每一個(gè)細(xì)節(jié)的實(shí)現(xiàn)方式和其中的精妙之處。

圖書目錄

前  言
第1章·從開機(jī)加電到執(zhí)行
main函數(shù)之前的過程
1.1 啟動(dòng)BIOS,準(zhǔn)備實(shí)模式下的中斷向量表和中斷服務(wù)程序
1.1.1 BIOS的啟動(dòng)原理
1.1.2 BIOS 在內(nèi)存中加載中斷向量表和中斷服務(wù)程序
1.2 加載操作系統(tǒng)內(nèi)核程序并為保護(hù)模式做準(zhǔn)備
1.2.1 加載第一部分內(nèi)核代碼--引導(dǎo)程序(bootsect)
1.2.2 加載第二部分內(nèi)核代碼--setup
1.2.3 加載第三部分內(nèi)核代碼--system模塊
1.3 開始向32位模式轉(zhuǎn)變,為main函數(shù)的調(diào)用做準(zhǔn)備
1.3.1 關(guān)中斷并將system移動(dòng)到內(nèi)存地址起始位置0x0000
1.3.2 設(shè)置中斷描述符表和全局描述符表
1.3.3 打開A20,實(shí)現(xiàn)32位尋址
1.3.4 為保護(hù)模式下執(zhí)行head.s做準(zhǔn)備
1.3.5 head.s開始執(zhí)行
1.4 本章小結(jié)
第2章·設(shè)備環(huán)境初始化及激活進(jìn)程
2.1 設(shè)置根設(shè)備、硬盤
2.2 規(guī)劃物理內(nèi)存格局,設(shè)置緩沖區(qū)、虛擬盤、主內(nèi)存
2.3 設(shè)置虛擬盤空間并初始化
2.4 內(nèi)存管理結(jié)構(gòu)mem_map初始化
2.5 異常處理類中斷服務(wù)程序掛接
2.6 初始化塊設(shè)備請(qǐng)求項(xiàng)結(jié)構(gòu)
2.7 與建立人機(jī)交互界面相關(guān)的外設(shè)的中斷服務(wù)程序掛接
2.7.1 對(duì)串行口進(jìn)行設(shè)置
2.7.2 對(duì)顯示器進(jìn)行設(shè)置
2.7.3 對(duì)鍵盤進(jìn)行設(shè)置
2.8 開機(jī)啟動(dòng)時(shí)間設(shè)置
2.9 初始化進(jìn)程
2.9.1 初始化進(jìn)程
2.9.2 設(shè)置時(shí)鐘中斷
2.9.3 設(shè)置系統(tǒng)調(diào)用總?cè)肟?br /> 2.10 初始化緩沖區(qū)管理結(jié)構(gòu)
2.11 初始化硬盤
2.12 初始化軟盤
2.13 開啟中斷
2.14 進(jìn)程0由0特權(quán)級(jí)翻轉(zhuǎn)到3特權(quán)級(jí),成為真正的進(jìn)程
2.15 本章小結(jié)
第3章·進(jìn)程1的創(chuàng)建及執(zhí)行
3.1 進(jìn)程1的創(chuàng)建
3.1.1 進(jìn)程0創(chuàng)建進(jìn)程
3.1.2 在task[64]中為進(jìn)程1申請(qǐng)一個(gè)空閑位置并獲取進(jìn)程號(hào)
3.1.3 調(diào)用copy_process函數(shù)
3.1.4 設(shè)置進(jìn)程1的分頁管理
3.1.5 進(jìn)程1共享進(jìn)程0的文件
3.1.6 設(shè)置進(jìn)程1在GDT中的表項(xiàng)
3.1.7 進(jìn)程1處于就緒態(tài)
3.2 內(nèi)核第一次做進(jìn)程調(diào)度
3.3 輪轉(zhuǎn)到進(jìn)程1執(zhí)行
3.3.1 進(jìn)程1為安裝硬盤文件系統(tǒng)做準(zhǔn)備
3.3.2 進(jìn)程1格式化虛擬盤并更換根設(shè)備為虛擬盤
3.3.3 進(jìn)程1在根設(shè)備上加載根文件系統(tǒng)
3.4 本章小結(jié)
第4章·進(jìn)程2的創(chuàng)建及執(zhí)行
4.1 打開終端設(shè)備文件及復(fù)制文件句柄
4.1.1 打開標(biāo)準(zhǔn)輸入設(shè)備文件
4.1.2 打開標(biāo)準(zhǔn)輸出、標(biāo)準(zhǔn)錯(cuò)誤輸出設(shè)備文件
4.2 進(jìn)程1創(chuàng)建進(jìn)程2并切換到進(jìn)程2執(zhí)行
4.3 加載shell程序
4.3.1 關(guān)閉標(biāo)準(zhǔn)輸入設(shè)備文件,打開rc文件
4.3.2 檢測(cè)shell文件
4.3.3 為shell程序的執(zhí)行做準(zhǔn)備
4.3.4 執(zhí)行shell程序
4.4 系統(tǒng)實(shí)現(xiàn)怠速
4.4.1 創(chuàng)建update進(jìn)程
4.4.2 切換到shell進(jìn)程執(zhí)行
4.4.3 重建shell
4.5 本章小結(jié)
第5章·文件操作
5.1 安裝文件系統(tǒng)
5.1.1 獲取外設(shè)的超級(jí)塊
5.1.2 確定根文件系統(tǒng)的掛接點(diǎn)
5.1.3 將超級(jí)塊與根文件系統(tǒng)掛接
5.2 打開文件
5.2.1 將進(jìn)程的*filp[20]與file_table[64]掛接
5.2.2 獲取文件i節(jié)點(diǎn)
5.2.3 將文件i節(jié)點(diǎn)與file_table[64]掛接
5.3 讀文件
5.3.1 確定數(shù)據(jù)塊在外設(shè)中的位置
5.3.2 將數(shù)據(jù)塊讀入緩沖塊
5.3.3 將緩沖塊中的數(shù)據(jù)復(fù)制到進(jìn)程空間
5.4 新建文件
5.4.1 查找文件
5.4.2 新建文件i節(jié)點(diǎn)
5.4.3 新建文件目錄項(xiàng)
5.5 寫文件
5.5.1 確定文件的寫入位置
5.5.2 申請(qǐng)緩沖塊
5.5.3 將指定的數(shù)據(jù)從進(jìn)程空間復(fù)制到緩沖塊
5.5.4 數(shù)據(jù)同步到外設(shè)的兩種方法
5.6 修改文件
5.6.1 重定位文件的當(dāng)前操作指針
5.6.2 修改文件
5.7 關(guān)閉文件
5.7.1 當(dāng)前進(jìn)程的filp與file_table[64]脫鉤
5.7.2 文件i節(jié)點(diǎn)被釋放
5.8 刪除文件
5.8.1 對(duì)文件的刪除條件進(jìn)行檢查
5.8.2 進(jìn)行具體的刪除工作
5.9 本章小結(jié)
第6章·用戶進(jìn)程與內(nèi)存管理
6.1 線性地址的保護(hù)
6.1.1 進(jìn)程線性地址空間的格局
6.1.2 段基址、段限長(zhǎng)、GDT、LDT、特權(quán)級(jí)
6.2 分頁
6.2.1 線性地址映射到物理地址
6.2.2 進(jìn)程執(zhí)行時(shí)分頁
6.2.3 進(jìn)程共享頁面
6.2.4 內(nèi)核分頁
6.3 一個(gè)用戶進(jìn)程從創(chuàng)建到退出的完整過程
6.3.1 創(chuàng)建str1進(jìn)程
6.3.2 str1進(jìn)程加載的準(zhǔn)備工作
6.3.3 str1進(jìn)程的運(yùn)行、加載
6.3.4 str1進(jìn)程的退出
6.4 多個(gè)用戶進(jìn)程同時(shí)運(yùn)行
6.4.1 進(jìn)程調(diào)度
6.4.2 頁寫保護(hù)
6.5 本章小結(jié)
第7章·緩沖區(qū)和多進(jìn)程操作文件
7.1 緩沖區(qū)的作用
7.2 緩沖區(qū)的總體結(jié)構(gòu)
7.3 b_dev、b_blocknr及request的作用
7.3.1 保證進(jìn)程與緩沖塊數(shù)據(jù)交互的正確性
7.3.2 讓數(shù)據(jù)在緩沖區(qū)中停留的時(shí)間盡可能長(zhǎng)
7.4 uptodate和dirt的作用
7.4.1 b_uptodate的作用
7.4.2 b_dirt的作用
7.4.3 i_uptodate、i_dirt和s_dirt的作用
7.5 count、 lock、wait、request的作用
7.5.1 b_count的作用
7.5.2 i_count的作用
7.5.3 b_lock、*b_wait的作用
7.5.4 i_lock、i_wait、s_lock、*s_wait的作用
7.5.5 補(bǔ)充request的作用
7.6 實(shí)例1:關(guān)于緩沖塊的進(jìn)程等待隊(duì)列
7.7 總體來看緩沖塊和請(qǐng)求項(xiàng)
7.8 實(shí)例2:多進(jìn)程操作文件的綜合實(shí)例
7.9 本章小結(jié)
第8章·進(jìn)程間通信
8.1 管道機(jī)制
8.1.1 管道的創(chuàng)建過程
8.1.2 管道的操作
8.2 信號(hào)機(jī)制
8.2.1 信號(hào)的使用
8.2.2 信號(hào)對(duì)進(jìn)程執(zhí)行狀態(tài)的影響
8.3 本章小結(jié)
第9章·操作系統(tǒng)的設(shè)計(jì)指導(dǎo)思想
9.1 運(yùn)行一個(gè)最簡(jiǎn)單的程序,看操作系統(tǒng)為程序運(yùn)行做了哪些工作
9.2 操作系統(tǒng)的設(shè)計(jì)指導(dǎo)思想--主奴機(jī)制
9.2.1 主奴機(jī)制中的進(jìn)程及進(jìn)程創(chuàng)建機(jī)制
9.2.2 操作系統(tǒng)的設(shè)計(jì)如何體現(xiàn)主奴機(jī)制
9.3 實(shí)現(xiàn)主奴機(jī)制的三種關(guān)鍵技術(shù)
9.3.1 保護(hù)和分頁
9.3.2 特權(quán)級(jí)
9.3.3 中斷
9.4 建立主奴機(jī)制的決定性因素--先機(jī)
9.5 軟件和硬件的關(guān)系
9.5.1 非用戶進(jìn)程--進(jìn)程0、進(jìn)程1、shell進(jìn)程
9.5.2 文件與數(shù)據(jù)存儲(chǔ)
9.6 父子進(jìn)程共享頁面
9.7 操作系統(tǒng)的全局中斷與進(jìn)程的局部中斷--信號(hào)
9.8 本章小結(jié)
結(jié)束語
“新設(shè)計(jì)團(tuán)隊(duì)”簡(jiǎn)介

本目錄推薦

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