內容簡介
操作係統作為核心的係統軟件,負責控製和管理整個係統的資源並組織用戶高效協調地使用這些資源。本書是在《操作係統基礎(第3版)》的基礎上修訂而成的。與第3版相比,第4版在結構、內容上都做瞭調整、修改和增刪。
本書闡述瞭操作係統的基本工作原理以及設計方法,力求將現代操作係統的典型特徵,即多綫程、微內核、分布式係統、客戶/服務器模型與經典的操作係統原理緊密結閤。
全書共13章,主要介紹瞭操作係統的基本概念和運行環境、進程和綫程、處理器調度與死鎖、存儲管理、設備管理、文件管理、分布式係統,最後介紹瞭Windows和Linux操作係統的結構和實現。每章後麵都有本章小結及難度適宜的習題,便於讀者自學或鞏固所學的知識。
本書內容豐富,結構清晰,突齣基礎,注重應用,強調理論與實踐的結閤,適閤作為高等院校計算機專業或相關專業操作係統課程的教材,也可以作為從事操作係統設計與係統內核開發的技術人員的參考書籍。
目錄
第1章引論
1.1計算機係統概述
1.1.1計算機的硬件組織
1.1.2軟件的層次與虛擬機的概念
1.2操作係統的形成和發展
1.2.1什麼是操作係統
1.2.2操作係統的形成和發展
1.3多道程序設計的概念
1.3.1多道程序設計的引入
1.3.2多道程序設計的概念
1.4操作係統的功能和特性
1.4.1操作係統的功能
1.4.2操作係統的特性
1.5操作係統的類型
1.5.1多道批處理操作係統
1.5.2分時操作係統
1.5.3實時係統
1.5.4網絡操作係統
1.5.5多處理操作係統
1.5.6分布式操作係統
1.5.7嵌入式操作係統
1.5.8多核係統
1.6操作係統的設計
1.6.1設計的目標和原則
1.6.2操作係統設計
1.7操作係統的結構
1.7.1模塊接口法
1.7.2層次結構設計法
1.7.3微內核結構
1.7.4微內核的實現
本章小結
習題
第2章操作係統的運行環境
2.1硬件環境
2.1.1中央處理器
2.1.2主存儲器
2.1.3緩衝技術
2.1.4中斷技術
2.1.5時鍾、時鍾隊列
2.2操作係統與其他係統軟件的關係
2.2.1作業、作業步、進程的關係
2.2.2重定位的概念
2.2.3絕對裝入程序與相對裝入程序
2.3操作係統與用戶的接口
2.3.1作業控製語言
2.3.2聯機作業控製
2.4固件——微程序設計概念*
2.4.1微程序設計的概念
2.4.2微程序設計與操作係統
本章小結
習題
第3章進程管理
3.1進程的概念
3.1.1進程的引入
3.1.2進程的定義
3.2進程的狀態
3.2.1進程的狀態及其變化
3.2.2進程的掛起和解除掛起的狀態
3.3進程的描述和管理
3.3.1進程的描述
3.3.2進程管理
3.4進程控製
3.4.1進程的控製原語
3.4.2操作係統與進程控製的執行
3.5UNIX SVR4的進程管理*
本章小結
習題
第4章多綫程
4.1綫程的概念
4.1.1綫程的引入
4.1.2綫程的概念
4.2綫程的狀態和綫程管理
4.2.1綫程的狀態
4.2.2綫程的描述
4.2.3綫程的管理
4.3多綫程的實現
4.3.1概述
4.3.2用戶級綫程
4.3.3內核級綫程
4.3.4KLT和ULT結閤的方法
4.3.5綫程庫
4.4Solaris操作係統的綫程機製*
4.4.1Solaris的多綫程結構
4.4.2輕質進程
4.4.3內核綫程
4.4.4用戶綫程
4.4.5綫程的執行
4.4.6內核中斷綫程
本章小結
習題
第5章互斥與同步
5.1概述
5.2臨界區
5.2.1臨界區的提齣
5.2.2臨界區的互斥要求
5.3互斥
5.3.1互斥的軟件解決方法
5.3.2互斥的硬件解決方法
5.4信號量
5.4.1信號量
5.4.2信號量及同步原語
5.4.3同步原語的不可分割性
5.4.4用信號量實現進程間互斥
5.4.5生産者和消費者問題
5.4.6讀者和寫者問題
5.5管程
5.5.1管程的定義
5.5.2用管程實現同步
5.6進程間的通信
5.6.1消息通信
5.6.2間接通信模式
5.6.3其他消息通信模式
5.7UNIX的進程同步和通信
5.7.1管道
5.7.2消息
5.7.3共享主存
5.7.4信號量
5.7.5信號或軟中斷
本章小結
習題
第6章死鎖
6.1死鎖問題的提齣
6.2死鎖的必要條件
6.2.1資源的概念
6.2.2死鎖的必要條件
6.3死鎖的預防
6.3.1預先靜態分配法
6.3.2有序資源使用法
6.4死鎖的避免和銀行傢算法
6.4.1單資源的銀行傢算法
6.4.2多資源的銀行傢算法
6.5死鎖檢測與恢復
6.5.1死鎖的檢測
6.5.2死鎖的恢復
6.6資源分配圖
6.6.1資源分配圖
6.6.2利用資源分配圖進行死鎖分析
6.6.3資源分配圖化簡法
本章小結
習題
第7章實存儲器管理技術
7.1引言
7.1.1主存儲器的物理組織
7.1.2主存儲器的管理功能
7.2固定分區
7.3可變分區多道管理技術
7.3.1可變分區存儲管理的概念
7.3.2存儲分配算法
7.3.3存儲器的壓縮和程序浮動
7.3.4可變分區多道管理的地址變換
7.4簡單分頁
7.5簡單分段
7.6內核主存管理
7.6.1內核主存管理概述
7.6.2二次冪空閑錶分配器
7.6.3夥伴係統
本章小結
習題
第8章虛擬存儲管理
8.1虛擬存儲係統的基本概念
8.2請求頁式存儲管理
8.2.1地址轉換
8.2.2硬件支持
8.3請求分段存儲管理
8.3.1請求分段概述
8.3.2分段的實現
8.4段頁式存儲管理
8.4.1請求段頁式存儲管理的基本概念
8.4.2請求段頁式存儲管理的地址轉換
8.4.3段頁式存儲管理算法
8.4.4請求段頁式存儲管理的優缺點
8.5頁麵置換算法
8.5.1頁麵訪問失效及處理
8.5.2頁麵置換算法
8.5.3交換區
8.6頁框分配策略
8.6.1物理主存
8.6.2空閑頁麵鏈錶
8.6.3頁架分配中的有關策略
8.6.4分頁環境中程序的行為特性
8.7UNIX SVR4的存儲管理
本章小結
習題
第9章設備管理
9.1概述
9.2I/O子係統的層次模型
9.2.1I/O子係統的設計目標
9.2.2I/O子係統的層次模型
9.3I/O硬件組成
9.3.1設備和設備控製器
9.3.2直接存儲器訪問
9.3.3通道方式與輸入輸齣處理器
9.4設備驅動程序
9.4.1設備和驅動程序分類
9.4.2設備開關錶
9.4.3設備驅動程序框架
9.5I/O子係統
9.5.1設備命名
9.5.2輸入輸齣緩衝區
9.5.3I/O子係統獨立於設備的工作
9.6流*
9.6.1流的概念
9.6.2消息和隊列
9.6.3流I/O
9.7磁盤調度
9.7.1磁盤的硬件特性
9.7.2磁盤調度算法
9.8虛擬設備和SPOOLing係統
9.9RAID技術*
本章小結
習題
第10章文件係統
10.1文件
10.1.1文件的命名
10.1.2文件的結構
10.1.3文件的類型
10.1.4文件的屬性
10.1.5文件的操作
10.2目錄
10.2.1目錄內容
10.2.2文件目錄的結構
10.2.3路徑名
10.2.4符號鏈接
10.2.5目錄操作
10.3文件係統的實現
10.3.1文件空間的分配和管理
10.3.2UNIX係統的目錄實現
10.3.3磁盤空間管理
10.3.4文件係統在主存的數據結構和打開操作
10.3.5文件係統掛載
10.4安全性和保護
10.4.1用戶確認技術
10.4.2保護機製——數據安全性
10.4.3其他
10.4.4文件的轉儲和恢復
本章小結
習題
第11章分布式係統*
11.1概述
11.1.1什麼是分布式係統
11.1.2分布式係統的優點
11.2進程通信
11.2.1進程通信的概念
11.2.2TCP/IP通信協議
11.2.3分布式環境的客戶/服務器模式
11.2.4分布式進程通信
11.3分布式文件係統
11.3.1分布式文件係統概述
11.3.2分布式文件係統的組成
11.3.3分布式文件係統的體係結構
11.3.4客戶機高速緩存和一緻性
11.4分布式係統中的互斥與死鎖
11.4.1邏輯鍾和邏輯時
11.4.2時間戳算法(Lamport算法)
11.4.3令牌傳送算法
11.5進程遷移
11.5.1進程遷移的原因
11.5.2進程遷移機製
本章小結
習題
第12章Windows NT操作係統*
12.1Windows NT操作係統概述
12.2Windows NT的係統模型
12.3Windows NT的基元成分
12.3.1對象
12.3.2進程
12.3.3綫程
12.3.4進程管理程序
12.4Windows NT的綫程狀態及調度
12.4.1綫程狀態轉換
12.4.2內核調度程序
12.4.3進程和綫程的優先級
12.5Windows NT的同步對象
12.5.1綫程同步概述
12.5.2用Windows NT對象同步
12.6虛擬存儲管理
12.6.1進程的虛擬地址空間
12.6.2虛擬分頁
12.6.3頁麵調度策略和工作集
12.6.4頁架狀態和頁架數據結構
12.6.5主存映射文件和視圖
12.7輸入輸齣係統
12.7.1輸入輸齣係統的結構
12.7.2統一的驅動程序模型
12.7.3異步I/O操作和I/O請求處理過程
12.7.4映像文件I/O
12.8Windows NT的內裝網絡
12.8.1Windows NT內裝網絡的特色
12.8.2Windows NT內裝網絡的體係結構
12.9對象管理程序
12.10本地過程調用
12.11Windows NT的安全性
12.11.1Windows NT的安全性
12.11.2存取令牌和安全描述體
本章小結
習題
第13章Linux操作係統*
13.1Linux操作係統概述
13.1.1Linux的誕生和發展
13.1.2Linux的版本
13.1.3Linux內核的組成
13.1.4Linux的特點
13.2Linux進程管理
13.2.1Linux進程概述
13.2.2Linux進程的狀態
13.2.3Linux進程的標識
13.2.4Linux進程的調度
13.2.5Linux進程的創建和撤銷
13.3Linux的存儲管理
13.3.1Linux的虛擬存儲空間
13.3.2Linux的地址映射
13.3.3Linux物理內存的管理
13.3.4頁麵分配算法
13.3.5缺頁中斷
13.3.6緩存和刷新機製
13.4Linux文件管理
13.4.1Linux虛擬文件係統概述
13.4.2VFS超級塊
13.4.3VFS索引節點對象
13.4.4目錄項對象
13.4.5文件對象
13.5EXT文件係統
13.5.1EXT2/EXT3/EXT4文件係統的特點
13.5.2EXT2文件係統的磁盤結構
13.5.3EXT2超級塊
13.5.4組描述符
13.5.5塊位圖
13.5.6EXT2文件係統inode結構
13.5.7Linux文件係統的控製
13.6Linux設備管理
13.6.1Linux設備管理概述
13.6.2Linux I/O子係統的設計
13.6.3Linux的字符設備管理
13.6.4Linux的塊設備管理
13.6.5緩衝區與buffer結構
本章小結
習題
參考文獻
前言/序言
前言
首先要衷心感謝廣大讀者的厚愛和支持,本書齣版二十幾年來,已印刷二十多次,發行數十萬冊。廣大讀者把他們積纍的經驗和體會無私地貢獻給我們,為本書的改進和提高做齣瞭貢獻,在此嚮廣大讀者錶示深深的敬意和感謝。
此次修訂齣版的第4版以經典操作係統基本原理和概念為框架和基綫,以密切反映現代操作係統技術的新發展和新特徵為重點。因為幾十年來,操作係統經曆著日新月異的變化,盡管現代操作係統以多綫程、微內核、SMP多處理器係統、客戶/服務器模式和分布式、網絡係統為特徵,但操作係統的基本原理和概念不但沒有什麼變化,而且更趨成熟,它依然是操作係統的基本骨架。在此基礎上,多綫程機製、微內核與客戶/服務器模式、分布式係統等仍是當前發展的熱點,本書通過在專門章節中加以研討,或者將其融閤在全書之中加以介紹。
本書目錄中畫有*號部分,授課教師可以根據教學計劃進行變動,並鼓勵讀者通過自學(課內學時有限)來掌握它。本書內容闡述深入淺齣,適閤自學。
本書以現代操作係統的典型係統Windows NT、UNIX和Linux係統作為全書的範例,並將近代UNIX係統(如Solaris等)的先進技術和機製分散到各章中作為該章的典型範例來使用,以收到與全書內容緊密結閤的效果,便於讀者領會和理解該章所述的內容。Windows NT和Linux作為一個係統範例自成一章,便於讀者從係統整體角度來認識和理解一個操作係統。建議讀者在閱讀各章時也參考Windows NT和Linux的相關內容。
本書第9章、第10章、第12章由屠立德老師編寫,第5章、第7章、第8章、第11章由金雪雲老師編寫,其他部分由王丹老師編寫。屠立德教授負責全書的審閱、校核和定稿。由於時間倉促以及作者水平所限,錯誤和不妥之處在所難免,懇請讀者批評指正。
作者2014年6月
操作係統基礎(第4版) 下載 mobi epub pdf txt 電子書