TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
Linux內核設計的藝術:圖解Linux操作系統架構設計與實現原理(第2版)(簡體書)
滿額折

Linux內核設計的藝術:圖解Linux操作系統架構設計與實現原理(第2版)(簡體書)

商品資訊

人民幣定價:89 元
定價
:NT$ 534 元
優惠價
87465
絕版無法訂購
相關商品
商品簡介
作者簡介
目次

商品簡介

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

作者簡介

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

目次

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

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區