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

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

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

定 價:¥89.00

作 者: 新設計團隊 著
出版社: 機械工業(yè)出版社
叢編項:
標 簽: LINUX 操作系統(tǒng)/系統(tǒng)開發(fā) 計算機/網(wǎng)絡

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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