UNIX 高級教程--係統技術內幕

UNIX 高級教程--係統技術內幕 pdf epub mobi txt 電子書 下載2025

出版者:清華大學齣版社
作者:(美)Uresh Vahalia
出品人:
頁數:509
译者:聊鴻斌/等
出版時間:1999-05
價格:58.00
裝幀:平裝
isbn號碼:9787302035602
叢書系列:
圖書標籤:
  • unix
  • 操作係統
  • Linux/Unix
  • kernel
  • 經典
  • 經驗總結
  • 運行時
  • 設計
  • UNIX
  • 係統編程
  • 操作係統
  • 內核
  • 係統技術
  • 技術內幕
  • 高級教程
  • Linux
  • C語言
  • 編程技巧
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

內容提要

本書從係統設計的角度講述UNIX操作係統技術內幕。

全書介紹瞭各種商用的和研究性的UNIX變體,對每一個核心部件,探究其結構和設計,然

後講述大部分的係統是如何實現這些部件的以及各種實現方案的優缺點。它使讀者以一種審視

的眼光考察係統,這種比較方法是本書的獨到之處。

全書內容共分17章。第1章~第2章追溯UNIX係統的發展,介紹傳統UNIX的進程和內

核結構。第3章~第7章介紹SVR4,4.4BSD,Solaris2.x及DigitalUNIX等現代UNIX係統的

特徵。第8章~第11章討論文件係統。第12章~第15章介紹內存管理。最後兩章討論I/o係

統。本書每一章都附有練習和參考文獻,啓發讀者進一步的思考和研究,加深瞭解係統設計。

本書適於作為高年級本科生和研究生操作係統課教材,也可供操作係統開發人員及係統管

理員參考使用。

著者簡介

圖書目錄


第1章 簡介
1.1 簡介
1.1.1 簡史
1.1.2 創始之初
1.1.3 繁衍
1.1.4 BSD
1.1.5 SystemV
1.1.6 商業化
1.1.7 Mach
1.1.8 標準
1.1.9 OsF和UI
1.1.10 SVR4及其之後
1.2 演變的動力
1.2.1 功能
1.2.2 網絡
1.2.3 性能
1.2.4 硬件變化
1.2.5 改進質量
1.2.6 模式變化
1.2.7 其他應用領域
1.2.8 簡潔就是美
1.2.9 靈活性
1.3 迴顧與展望
1.3.1 UNIX好在哪裏
1.3.2 UNIX的誤區在哪兒
1.4 本書的範圍
1.5 參考文獻
第2章 進程與內核
2.1 簡介
2.2 模式,空間和上下文
2.3 進程抽象
2.3.1 進程狀態
2.3.2 進程上下文
2.3.3 用戶憑證
2.3.4 u區和proc結構
2.4 內核態下運行
2.4.1 係統調用接口
2.4.2 中斷處理
2.5 同步
2.5.1 阻塞操作
2.5.2 中斷
2.5.3 多處理器
2.6 進程調度
2.7 信號
2.8 新進程和程序
2.8.1 fork和exec
2.8.2 進程創建
2.8.3 fork優化
2.8.4 執行一個新程序
2.8.5 進程終止
2.8.6 等待進程終止
2.8.7 僵屍(Zombie)進程
2.9 小結
2.10 練習
2.11 參考文獻
第3章 綫程和輕量級進程
3.1 簡介
3.1.1 動機
3.1.2 多綫程和多處理器
3.1.3 並發和並行
3.2 基本抽象概念
3.2.1 內核綫程
3.2.2 輕量級進程
3.2.3 用戶綫程
3.3 輕量級進程設計――要考慮的問題
3.3.1 fork的語義
3.3.2 其他的係統調用
3.3.3 信號傳遞和處理
3.3.4 可視性
3.3.5 堆棧增長
3.4 用戶級綫程庫
3.4.1 編程接口
3.4.2 綫程庫的實現
3.5 調度器調用
3.6 Solaris和sVR4的多綫程處理
3.6.1 內核綫程
3.6.2 輕量級進程的實現
3.6.3 用戶綫程
3.6.4 用戶綫程的實現
3.6.5 中斷處理
3.6.6 係統調用處理
3.7 Mach中的綫程
3.7.1 Mach的抽象概念――任務和綫程
3.7.2 Mach的C-threads
3.8 DigitalUNIX
3.8.1 UNIX接口
3.8.2 係統調用和信號
3.8.3 pthreads綫程庫
3.9 Mach3.0的續體
3.9.1 編程模型
3.9.2 使用續體
3.9.3 優化
3.9.4 分析
3.10 小結
3.11 練習
3.12 參考文獻
第4章 信號和會話管理
4.1 簡介
4.2 信號生成和處理
4.2.1 信號處理
4.2.2 信號生成
4.2.3 典型情景
4.2.4 睡眠和信號
4.3 不可靠信號
4.4 可靠的信號
4.4.1 主要特性
4.4.2 sVR3的實現
4.4.3 BSD信號管理
4.5 sVR4信號機製
4.6 信號機製的實現
4.6.1 信號生成
4.6.2 信號傳遞和處理
4.7 異常
4.8 Mach中的異常處理
4.8.1 異常端口
4.8.2 錯誤處理
4.8.3 調試器的交互
4.8.4 分析
4.9 進程組和終端管理
4.9.1 基本概念
4.9.2 SVR3模型
4.9.3 局限性
4.9.4 4.3BSD中的進程組和終端
4.9.5 缺點
4.10 sVR4會話的體係結構
4.10.1 目的(動機)
4.10.2 會話和進程組
4.10.3 數據結構
4.10.4 控製終端
4.10.5 4.4BSD中會話的實現
4.11 小結
4.12 練習
4.13 參考文獻
第5章 進程調度
5.1 簡介
5.2 時鍾中斷處理
5.2.1 調齣鏈錶
5.2.2 報警
5.3 調度器的目標
5.4 傳統的UNIX調度
5.4.1 進程優先級
5.4.2 調度器的實現
5.4.3 運行隊列管理
5.4.4 分析
5.5 SVR4的調度器
5.5.1 類無關層
5.5.2 調度類的接口
5.5.3 分時類
5.5.4 實時類
5.5.5 係統調用priocntl
5.5.6 分析
5.6 Solaris2.x調度的改善
5.6.1 搶占式內核
5.6.2 多處理器的支持
5.6.3 隱式調度
5.6.4 優先級逆轉
5.6.5 優先級繼承的實現
5.6.6 優先繼承的局限性
5.6.7 Turnstiles
5.6.8 分析
5.7 mach中的調度
5.7.1 多處理器的支持
5.8 DigitalUNIX的實時調度器
5.8.1 多處理器支持
5.9 其他的一些調度實現
5.9.1 fair-share調度
5.9.2 最終期限驅動調度
5.9.3 三級(ThreeLevel)調度器
5.10 小結
5.11 練習
5.12 參考文獻
第6章 進程間通信
6.1 簡介
6.2 通用IPC方法
6.2.1 信號
6.2.2 管道
6.2.3 3VR4的管道
6.2.4 進程跟蹤
6.3 SystemV的進程間通信
6.3.1 公共元素
6.3.2 信號量
6.3.3 消息隊列
6.3.4 共享內存
6.3.5 討論
6.4 MachIPC
6.4.1 基本概念
6.5 消息
6.5.1 消息的數據結構
6.5.2 消息傳遞接口
6.6 端口
6.6.1 端口名字空間
6.6.2 端口數據結構
6.6.3 端口變換
6.7 消息傳遞
6.7.1 端口權力的傳遞
6.7.2 脫機內存
6.7.3 控製流
6.7.4 通知
6.8 端口操作
6.8.1 釋放一個端口
6.8.2 備份端口
6.8.3 端口集閤
6.8.4 端口的添加
6.9 擴展性
6.10 Mach3.0的改進
6.10.1 一次發送權
6.10.2 Mach3.0的通知
6.10.3 發送權的用戶引用記數
6.11 討論
6.12 小結
6.13 練習
6.14 參考文獻
第7章 同步和多處理器
7.1 簡介
7.2 傳統UNIX內核中的同步
7.2.1 中斷屏蔽
7.2.2 睡眠和喚醒
7.2.3 傳統方法的局限性
7.3 多處理器係統
7.3.1 內存模型
7.3.2 同步支持
7.3.3 軟件體係結構
7.4 多處理器同步問題
7.4.1 喚醒丟失問題
7.4.2 巨群問題
7.5 信號燈
7.5.1 提供互斥訪問的信號燈
7.5.2 使用的信號燈的事件等待
7.5.3 用於控製可計數資源的信號燈
7.5.4 信號燈的缺點
7.5.5 護衛
7.6 自鏇鎖
7.6.1 自鏇鎖的使用
7.7 條件變量
7.7.1 實現問題
7.7.2 事件
7.7.3 阻塞鎖
7.8 讀寫鎖
7.8.1 設計考慮
7.8.2 實現
7.9 引用計數
7.10 其他考慮
7.10.1 死鎖避免
7.10.2 遞歸鎖
7.10.3 阻塞還是自鏇
7.10.4 鎖什麼
7.10.5 粒度和持續時間
7.11 例子分析
7.11.1 SVR4.2/MP
7.11.2 DigitalUNIX
7.11.3 其他實現
7.12 小結
7.13 練習
7.14 參考文獻
第8章 文件係統接口和框架
8.1 簡介
8.2 文件的用戶接口
8.2.1 文件和目錄
8.2.2 文件屬性
8.2.3 文件描述符
8.2.4 文件I/O
8.2.5 分散聚集I/O(Scatter-GatherI/O)
8.2.6 文件加鎖
8.3 文件係統
8.3.1 邏輯磁盤
8.4 特殊文件
8.4.1 符號鏈接
8.4.2 管道和FIFO
8.5 文件係統框架
8.6 vnode/vfs體係結構
8.6.1 目標
8.6.2 設備I/O的經驗
8.6.3 vnode/vfs接口概述
8.7 實現概述
8.7.1 目標
8.7.2 v節點和打開文件
8.7.3 v節點
8.7.4 v節點引用計數
8.7.5 vfs對象
8.8 文件係統相關對象
8.8.1 每個文件的私有數據
8.8.2 vnodeops嚮量
8.8.3 vfs層中的文件係統相關部分
8.9 安裝一個文件係統
8.9.1 虛擬文件係統轉換
8.9.2 mount的實現
8.9.3 VFS-MOUNT處理
8.10 對文件的操作
8.10.1 路徑名遍曆
8.10.2 目錄查找緩存
8.10.3 VOP-LOOKUP操作
8.10.4 打開文件
8.10.5 文件I/O
8.10.6 文件屬性
8.10.7 用戶憑證
8.11 分析
8.11.1 SVR4實現的缺點
8.11.2 4.4BSD模型
8.11.3 OSF/1方法
8.12 小結
8.13 練習
8.14 參考文獻
第9章 文件係統實現
9.1 簡介
9.2 Systemv文件係統(s5fs)
9.2.1 目錄
9.2.2 i節點
9.2.3 超級塊
9.3 s5fs內核組織
9.3.1 內存i節點
9.3.2 i節點查找
9.3.3 文件I/O
9.3.4 i節點的分配與迴收
9.4 對s55fs的分析
9.5 伯剋利快速文件係統(FFS)
9.6 硬盤結構
9.7 磁盤組織
9.7.1 塊和碎片
9.7.2 分配策略
9.8 FFS的增強功能
9.9 分析
9.10 臨時文件係統
9.10.1 內存文件係統
9.10.2 tmpfs文件係統
9.11 特殊目的文件係統
9.11.1 specfs文件係統
9.11.2 /proc文件係統
9.11.3 處理器文件係統
9.11.4 半透明文件係統
9.12 以往的磁盤緩存
9.12.1 基本操作
9.12.2 緩衝區頭結構
9.12.3 優點
9.12.4 缺點
9.12.5 保證文件係統的一緻性
9.13 小結
9.14 練習
9.15 參考文獻
第10章 分布式文件係統
10.1 簡介
10.2 分布式文件係統的一般特徵
10.2.1 設計考慮
10.3 網絡文件係統(NFS)
10.3.1 用戶透視
10.3.2 設計目標
10.3.3 NFS組成
10.3.4 無狀態
10.4 協議族
10.4.1 擴展數據錶示(XDR)
10.4.2 遠程過程調用(RPC)
10.5 NFS實現
10.5.1 控製流
10.5.2 文件句柄
10.5.3 Mount操作
10.5.4 路徑名查找
10.6 UNIX語義
10.6.1 打開文件權限
10.6.2 刪除打開文件
10.6.3 讀和寫
10.7 NFS性能
10.7.1 性能瓶頸
10.7.2 客戶端高速緩存
10.7.3 延遲寫
10.7.4 重傳高速緩存
10.8 專用NFS服務器
10.8.1 Auspex功能性多處理器結構
10.8.2 IBM的HA-NFS服務器
10.9 NFS安全性
10.9.1 NFS訪問控製
10.9.2 UID重新映射
10.9.3 root重新映射
10.10 NFSV3
10.11 遠程文件共享(RFS)文件係統
10.12 RFS結構
10.12.1 遠程消息協議
10.12.2 有狀態操作
10.13 RFs實現
10.13.1 遠程安裝
10.13.2 RFs客戶和服務器
10.13.3 崩潰恢復
10.13.4 其他問題
10.14 客戶端高速緩存
10.14.1 高速緩存一緻性
10.15 Andrew文件係統
10.15.1 可擴展的結構
10.15.2 存儲和名字空間組織
10.15.3 會話語義
10.16 AFS實現
10.16.1 緩存以及一緻性
10.16.2 路徑名查找
10.16.3 安全性
10.17 AFS的缺陷
10.18 DCE分布式文件係統(DCEDFS)
10.18.1 DFS體係結構
10.18.2 高速緩衝區一緻性
10.18.3 令牌管理器
10.18.4 其他DFS服務
10.18.5 分析
10.19 小結
10.20 練習
10.21 參考文獻
第11章 高級文件係統
11.1 簡介
11.2 傳統文件係統的局限
11.2.1 FFS磁盤布局
11.2.2 寫的主導性
11.2.3 元數據更新
11.2.4 崩潰恢復
11.3 文件係統成簇(SunFFS)
11.4 日誌方法
11.4.1 基本特徵
11.5 日誌結構文件係統
11.6 4.4BSD日誌文件係統
11.6.1 寫日誌
11.6.2 數據檢索
11.6.3 崩潰恢復
11.6.4 清除進程
11.6.5 分析
11.7 元數據日誌
11.7.1 正常操作
11.7.2 日誌的一緻性
11.7.3 崩潰恢復
11.7.4 分析
11.8 Episode文件係統
11.8.1 基本抽象
11.8.2 結構
11.8.3 記日誌
11.8.4 其他特性
11.9 監視器(watchdog)
11.9.1 目錄監視器
11.9.2 消息通道
11.9.3 應用
11.10 4.4BSD端口文件係統
11.10.1 使用端口(portals)
11.11 堆棧式文件係統層
11.11.1 框架和接口
11.11.2 SunSoft原型
11.12 4.4BSD文件係統接口
11.12.1 Nullfs和UnionMount文件係統
11.13 小結
11.14 練習
11.15 參考文獻
第12章 內核內存管理
12.1 簡介
12.2 功能需求
12.2.1 評估標準
12.3 資源映射圖分配器
12.3.1 分析
12.4 簡單2次冪空閑錶
12.4.1 分析
12.5 McKusick-Karels分配器
12.5.1 分析
12.6 夥伴係統
12.6.1 分析
12.7 SVR4LaZy夥伴算法
12.7.1 LaZy閤並
12.7.2 SVR4實現細節
12.8 Mach-OSF/1的Zone分配器
12.8.1 垃圾收集
12.8.2 分析
12.9 多處理器的分層分配器
12.9.1 分析
12.10 Solaris2.4的SLab分配器
12.10.1 對象復用
12.10.2 硬件Cache利用率
12.10.3 分配器footprint
12.10.4 設計與接口
12.10.5 實現
12.10.6 分析
12.11 小結
12.12 練習
12.13 參考文獻
第13章 虛存
13.1 簡介
13.1.1 內存管理的石器時代
13.2 分頁
13.2.1 功能需求
13.2.2 虛擬地址空間
13.2.3 頁麵初始訪問
13.2.4 交換區
13.2.5 轉換映射圖
13.2.6 頁麵替換策略
13.3 硬件需求
13.3.1 MMU緩存
13.3.2 Inte!80x86
13.3.3 IBMRS/6000
13.3.4 MIPSR3000
13.4 4.3BSD實例研究
13.4.1 物理內存
13.4.2 地址空間
13.4.3 頁麵在哪裏
13.4.4 交換區
13.5 4.3BSD內存管理操作
13.5.1 創建進程
13.5.2 頁麵失效處理
13.5.3 空閑頁麵鏈錶
13.5.4 交換
13.6 分析
13.7 練習
13.8 參考文獻
第14章 SVR4VM體係結構
14.1 動機
14.2 內存映射文件
14.2.1 mmap及相關係統調382用
14.3 VM設計原理
14.4 基本抽象概念
14.4.1 物理內存
14.4.2 地址空間
14.4.3 地址映射
14.4.4 匿名頁麵
14.4.5 硬件地址轉換
14.5 段驅動程序
14.5.1 seg-vn
14.5.2 seg-map
14.5.3 seg-dev
14.5.4 segkmem
14.5.5 segkp
14.6 交換層
14.7 VM操作
14.7.1 創建一個新映射
14.7.2 匿名頁麵處理
14.7.3 創建進程
14.7.4 共享匿名頁麵
14.7.5 頁麵失效處理
14.7.6 共享內存
14.7.7 其他部件
14.8 與v節點 子係統的交互
14.8.1 v節點接口變化
14.8.2 統一的文件訪問
14.8.3 其他問題
14.9 Solaris中的虛擬交換空間
14.9.1 擴展交換空間
14.9.2 虛交換管理
14.9.3 討論
14.10 分析
14.11 性能改進
14.11.1 高失效率原因
14.11.2 SVR4對SunOSVM實現的改進
14.11.3 結果與討論
14.12 小結
14.13 練習
14.14 參考文獻
第15章 進一步關於內存管理的主題
15.1 簡介
15.2 Mach的內存管理設計
15.2.1 設計目標
15.2.2 編程接口
15.2.3 基本抽象概念
15.3 共享內存設施
15.3.1 copy-onwrite共享
15.3.2 讀寫共享
15.4 內存對象和Pager
15.4.1 內存對象初始化
15.4.2 內核與Pager間的接口
15.4.3 內核與pager交互
15.5 外部pager和內部pager
15.5.1 一個網絡共享內存服務器
15.6 頁麵替換
15.7 分析
15.8 4.4BSD的內存管理
15.9 快錶(TLB)一緻性
15.9.1 單處理機上的TLB一緻性
15.9.2 多處理機問題
15.10 Ma ch的TLB擊落算法
15.10.1 同步和死鎖避免
15.10.2 討論
15.11 SVR4和SVR4.2UNIX中的TLB一緻性
15.11.1 SVR4/MP
15.11.2 SVR4.2/MP
15.11.3 Lazy擊落算法
15.11.4 立即擊落
15.11.5 討論
15.12 其他TLB 一緻性算法
15.13 虛地址緩存
15.13.1 映射變化
15.13.2 地址彆名
15.13.3 DMA操作
15.13.4 維護緩存一緻性
15.13.5 分析
15.14 練習
15.15 參考文獻
第16章 設備驅動程序I/0
16.1 簡介
16.2 概述
16.2.1 硬件配置
16.2.2 設備中斷
16.3 設備驅動程序框架
16.3.1 設備和驅動程序分類
16.3.2 調用驅動程序代碼
16.3.3 設備開關錶
16.3.4 驅動程序入口點
16.4 I/O子係統
16.4.1 主、次設備號
16.4.2 設備文件
16.4.3 specfs文件係統
16.4.4 公共snode
16.4.5 設備剋隆
16.4.6 字符設備I/O
16.5 poll係統調用
16.5.1 poll的實現
16.5.2 4.3BsDselect係統調用
16.6 塊I/O
16.6.1 buf結構
16.6.2 與v節點的交互
16.6.3 設備訪問方法
16.6.4 到塊設備的rawI/O
16.7 DDI/DKI說明
16.7.1 建議
16.7.2 第三部分函數
16.7.3 其他部分
16.8 新的sVR4 版本
16.8.1 多處理器可靠驅動程序
16.8.2 SVR4.1/ES的變化
16.8.3 動態加載和卸載
16.9 發展趨勢
16.10 小結
16.11 練習
16.12 參考文獻
第17章 流
17.1 目的
17.2 概述
17.3 消息和隊列
17.3.1 消息
17.3.2 虛擬拷貝
17.3.3 消息類型
17.3.4 隊列和模塊
17.4 流I/O
17.4.1 STREAMS調度程序
17.4.2 優先帶(PriorityBands)
17.4.3 流量控製
17.4.4 驅動程序尾
17.4.5 流頭
17.5 配置和設置
17.5.1 配置一個模塊或驅動程序
17.5.2 打開流
17.5.3 插入(Pushing)模塊
17.5.4 剋隆設備
17.6 STREAMSioctl
17.6.1 I-STRioctl處理
17.6.2 透明ioctl
17.7 內存分配
17.7.1 擴展sTREAMS緩衝區
17.8 多路復用
17.8.1 上部多路復用器
17.8.2 下部多路復用器
17.8.3 鏈接流
17.8.4 數據流
17.8.5 普通鏈接和持久鏈接
17.9 FIFO和管道
17.9.1 STREAMsFIFO
17.9.2 STREAMS管道
17.10 網絡接口
17.10.1 傳輸供應者接口(TpI)
17.10.2 傳輸層接口(TLI)
17.10.3 sockets
17.10.4 SVR4Socket實現
17.11 小結
17.12 練習
17.13 參考文獻
· · · · · · (收起)

讀後感

評分

这本书讲解了所有常见Unix系统内核的设计,其内容极为广泛,包括但不限于进程/线程模型与调度,IPC,文件系统,内存管理等等各种在OS设计时遇到的问题。由于涵盖的主题比较多,深度上就很难兼顾,但这只是相对于其广度来说的,客观的说,虽然缺乏系统的具体细节但是对整体结构...

評分

这本书讲解了所有常见Unix系统内核的设计,其内容极为广泛,包括但不限于进程/线程模型与调度,IPC,文件系统,内存管理等等各种在OS设计时遇到的问题。由于涵盖的主题比较多,深度上就很难兼顾,但这只是相对于其广度来说的,客观的说,虽然缺乏系统的具体细节但是对整体结构...

評分

这本书讲解了所有常见Unix系统内核的设计,其内容极为广泛,包括但不限于进程/线程模型与调度,IPC,文件系统,内存管理等等各种在OS设计时遇到的问题。由于涵盖的主题比较多,深度上就很难兼顾,但这只是相对于其广度来说的,客观的说,虽然缺乏系统的具体细节但是对整体结构...

評分

这本书讲解了所有常见Unix系统内核的设计,其内容极为广泛,包括但不限于进程/线程模型与调度,IPC,文件系统,内存管理等等各种在OS设计时遇到的问题。由于涵盖的主题比较多,深度上就很难兼顾,但这只是相对于其广度来说的,客观的说,虽然缺乏系统的具体细节但是对整体结构...

評分

这本书讲解了所有常见Unix系统内核的设计,其内容极为广泛,包括但不限于进程/线程模型与调度,IPC,文件系统,内存管理等等各种在OS设计时遇到的问题。由于涵盖的主题比较多,深度上就很难兼顾,但这只是相对于其广度来说的,客观的说,虽然缺乏系统的具体细节但是对整体结构...

用戶評價

评分

bible

评分

bible

评分

bible

评分

ULK這種書主要是know what and how 這種書是know why

评分

ULK這種書主要是know what and how 這種書是know why

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有