出版時間:2012-3 出版社:機械工業(yè)出版社 作者:(美) Maurice J. Bach 譯者:陳葆鈺,王旭,柳純錄,馮雪山
Tag標簽:無
內(nèi)容概要
本書作者Maurice J.Bach多年來在AT&T公司貝爾實驗室工作,對UNIX系統(tǒng)的設(shè)計思想有深刻了解,又有講授UNIX系統(tǒng)的豐富經(jīng)驗。
本書是Linux之父Linux Torvalds曾捧讀的經(jīng)典著作。在本書中,作者描述了構(gòu)成UNIX操作系統(tǒng)基礎(chǔ)的內(nèi)部算法與結(jié)構(gòu),以及它們與程序接口之間的聯(lián)系。本書雖然以UNIX系統(tǒng)V為背景,但是介紹的算法、數(shù)據(jù)結(jié)構(gòu)卻并沒有專門針對任何一種特定的內(nèi)核,所以直到今日,本書仍然是世界上許多大學操作系統(tǒng)課程的必讀或推薦教材。讀者如果想學習UNIX,本書依然是最好的選擇之一。
本書內(nèi)容包括
?UNIX內(nèi)核體系結(jié)構(gòu)
?磁盤高速緩沖機制
?文件系統(tǒng)內(nèi)部數(shù)據(jù)結(jié)構(gòu)與算法
?控制進程上下文的系統(tǒng)調(diào)用與進程調(diào)度
?存儲管理,包括對換和請求調(diào)頁系統(tǒng)
?通用驅(qū)動程序接口,包括磁盤驅(qū)動程序和終端驅(qū)動程序
?進程間通信與網(wǎng)絡(luò),包括系統(tǒng)V消息、共享存儲和信號量
?緊密耦合的多處理機UNIX系統(tǒng)和松散耦合的分布式UNIX系統(tǒng)
書籍目錄
譯者序
前言
第1章 系統(tǒng)概貌
1.1 歷史
1.2 系統(tǒng)結(jié)構(gòu)
1.3 用戶看法
1.3.1 文件系統(tǒng)
1.3.2 處理環(huán)境
1.3.3 構(gòu)件原語
1.4 操作系統(tǒng)服務(wù)
1.5 關(guān)于硬件的假設(shè)
1.5.1 中斷與例外
1.5.2 處理機執(zhí)行級
1.5.3 存儲管理
1.6 本章小結(jié)
第2章 內(nèi)核導(dǎo)言
2.1 UNIX操作系統(tǒng)的體系結(jié)構(gòu)
2.2 系統(tǒng)概念介紹
2.2.1 文件子系統(tǒng)概貌
2.2.2 進程
2.3 內(nèi)核數(shù)據(jù)結(jié)構(gòu)
2.4 系統(tǒng)管理
2.5 本章小結(jié)
2.6 習題
第3章 數(shù)據(jù)緩沖區(qū)高速緩沖
3.1 緩沖頭部
3.2 緩沖池的結(jié)構(gòu)
3.3 緩沖區(qū)的檢索
3.4 讀磁盤塊與寫磁盤塊
3.5 高速緩沖的優(yōu)點與缺點
3.6 本章小結(jié)
3.7 習題
第4章 文件的內(nèi)部表示
4.1 索引節(jié)點
4.1.1 定義
4.1.2 對索引節(jié)點的存取
4.1.3 釋放索引節(jié)點
4.2 正規(guī)文件的結(jié)構(gòu)
4.3 目錄
4.4 路徑名到索引節(jié)點的轉(zhuǎn)換
4.5 超級塊
4.6 為新文件分配索引節(jié)點
4.7 磁盤塊的分配
4.8 其他文件類型
4.9 本章小結(jié)
4.10 習題
第5章 文件系統(tǒng)的系統(tǒng)調(diào)用
5.1 系統(tǒng)調(diào)用open
5.2 系統(tǒng)調(diào)用read
5.3 系統(tǒng)調(diào)用write
5.4 文件和記錄的上鎖
5.5 文件的輸入/輸出位置的調(diào)整—lseek
5.6 系統(tǒng)調(diào)用close
5.7 文件的建立
5.8 特殊文件的建立
5.9 改變目錄及根
5.10 改變所有者及許可權(quán)方式
5.11 系統(tǒng)調(diào)用stat和fstat
5.12 管道
5.12.1 系統(tǒng)調(diào)用pipe
5.12.2 有名管道的打開
5.12.3 管道的讀和寫
5.12.4 管道的關(guān)閉
5.12.5 例
5.13 系統(tǒng)調(diào)用dup
5.14 文件系統(tǒng)的安裝和拆卸
5.14.1 在文件路徑名中跨越安裝點
5.14.2 文件系統(tǒng)的拆卸
5.15 系統(tǒng)調(diào)用link
5.16 系統(tǒng)調(diào)用unlink
5.16.1 文件系統(tǒng)的一致性
5.16.2 競爭條件
5.17 文件系統(tǒng)的抽象
5.18 文件系統(tǒng)維護
5.19 本章小結(jié)
5.20 習題
第6章 進程結(jié)構(gòu)
6.1 進程的狀態(tài)和狀態(tài)的轉(zhuǎn)換
6.2 系統(tǒng)存儲方案
6.2.1 區(qū)
6.2.2 頁和頁表
6.2.3 內(nèi)核的安排
6.2.4 u區(qū)
6.3 進程的上下文
6.4 進程上下文的保存
6.4.1 中斷和例外
6.4.2 系統(tǒng)調(diào)用的接口
6.4.3 上下文切換
6.4.4 為廢棄返回(abortive return)而保存上下文
6.4.5 在系統(tǒng)和用戶地址空間之間拷貝數(shù)據(jù)
6.5 進程地址空間的管理
6.5.1 區(qū)的上鎖和解鎖
6.5.2 區(qū)的分配
6.5.3 區(qū)附接到進程
6.5.4 區(qū)大小的改變
6.5.5 區(qū)的裝入
6.5.6 區(qū)的釋放
6.5.7 區(qū)與進程的斷接
6.5.8 區(qū)的復(fù)制
6.6 睡眠
6.6.1 睡眠事件及地址
6.6.2 算法sleep和wakeup
6.7 本章小結(jié)
6.8 習題
第7章 進程控制
7.1 進程的創(chuàng)建
7.2 軟中斷信號
7.2.1 軟中斷信號的處理
7.2.2 進程組
7.2.3 從進程發(fā)送軟中斷信號
7.3 進程的終止
7.4 等待進程的終止
7.5 對其他程序的引用
7.6 進程的用戶標識號
7.7 改變進程的大小
7.8 shell程序
7.9 系統(tǒng)自舉和進程init
7.10 本章小結(jié)
7.11 習題
第8章 進程調(diào)度和時間
8.1 進程調(diào)度
8.1.1 算法
8.1.2 調(diào)度參數(shù)
8.1.3 進程調(diào)度的例子
8.1.4 進程優(yōu)先權(quán)的控制
8.1.5 公平共享調(diào)度
8.1.6 實時處理
8.2 有關(guān)時間的系統(tǒng)調(diào)用
8.3 時鐘
8.3.1 重新啟動時鐘
8.3.2 系統(tǒng)的內(nèi)部定時
8.3.3 直方圖分析
8.3.4 記帳和統(tǒng)計
8.3.5 計時
8.4 本章小結(jié)
第9章 存儲管理策略
9.1 對換
9.1.1 對換空間的分配
9.1.2 進程的換出
9.1.3 進程的換入
9.2 請求調(diào)頁
9.2.1 請求調(diào)頁的數(shù)據(jù)結(jié)構(gòu)
9.2.2 偷頁進程
9.2.3 頁面錯
9.2.4 在簡單硬件支持下的請示調(diào)頁系統(tǒng)
9.3 對換和請示調(diào)頁的混合系統(tǒng)
9.4 本章小結(jié)
9.5 習題
第10章 輸入/輸出子系統(tǒng)
10.1 驅(qū)動程序接口
10.1.1 系統(tǒng)配置
10.1.2 系統(tǒng)調(diào)用與驅(qū)動程序接口
10.1.3 中斷處理程序
10.2 磁盤驅(qū)動程序
10.3 終端驅(qū)動程序
10.3.1 字符表clist
10.3.2 標準方式下的終端驅(qū)動程序
10.3.3 原始方式下的終端驅(qū)動程序
10.3.4 終端擰詢
10.3.5 建立控制終端
10.3.6 間接終端驅(qū)動程序
10.3.7 注冊到系統(tǒng)
10.4 流
10.4.1 流的詳細的示例
10.4.2 對流的分析
10.5 本章小結(jié)
10.6 習題
第11章進程間通信
11.1 進程跟蹤
11.2 系統(tǒng)V IPC
11.2.1 消息
11.2.2 共享存儲區(qū)
11.2.3 信號量
11.2.4 總的評價
11.3 網(wǎng)絡(luò)通信
11.4 套接字
11.5 本章小結(jié)
11.6 習題
第12章 多處理機系統(tǒng)
12.1 多處理機系統(tǒng)的問題
12.2 主從處理機解決方法
12.3 信號量解決方法
12.3.1 信號量定義
12.3.2 信號量實現(xiàn)
12.3.3 幾個算法
12.4 Tunis系統(tǒng)
12.5 性能局限性
12.6 習題
第13章 分布式UNIX系統(tǒng)
13.1 衛(wèi)星處理機系統(tǒng)
13.2 紐卡斯爾連接
13.3 透明型分布式文件系統(tǒng)
13.4 無存根進程的透明分布式模型
13.5 本章小結(jié)
13.6 習題
附錄A 系統(tǒng)調(diào)用
參考文獻
索引
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載