內容簡介
本書從概念、原理和技術的角度介紹作業系統的基礎知識,包括進程管理、中斷與處理機調度、死鎖、存儲管理、設備管理、檔案系統。不僅講述基本原理,而且以當今較為成熟和流行的作業系統如以Windows、UNIX、Linux為例,在相關章節介紹具體的實現技術和方法。此諒滲危外,還介紹了近年來出現的雲作業系統,蘋果Mac OS、安卓Android等移動作業系統。針對雲計算技術,增加篇幅介紹其實現的基礎: 分散式檔案系統。 本書有3個特色: 理論和實際系統的實現相結合; 收錄了近年來作業系統的技術和發展; 每章後面附一篇描述對應章節技術的英語小短文,既可拓展視野,又可以提高讀者的科技英語閱讀水平。 本書可作為普通高等院校計算機專業及相關專業的作業系統課程教材,也可供廣大計算機科學工作者和從事相關領域工程技術人員參考。
圖書目錄
章作業系統概述
1.1什麼是作業系統
1.□作業系統的目標和功能
1.□.1作業系統的目標
1.□.□作業系統的功能
1.3作業系統的發展歷程
1.3.1作業系統的形成
1.3.□作業系統的完善
1.4作業系統的分類
1.4.1多道批處理作業系統
1.4.□分時作業系統
1.4.3實時作業系統
1.4.4通用作業系統
1.4.5網路作業系統
1.4.6分散式作業系統
1.4.7微機作業系統
1.4.8嵌入式作業系統
1.4.9多處理機作業系統
1.4.10服務閥拘炒估器作業系統
1.4.11大型機作業系統
1.4.1□雲作業系統
1.4.13移動作業系統
1.5支持作業系統的硬體環境
1.6作業系統的特徵
1.6.1並發性
1.6.□資源共享性
1.6.3異步性
1.7現代作業系統
1.7.1Windows
1.7.□Mac OS
1.7.3UNIX
1.7.4Linux
1.7.5Android
1.8有關操作精拳講系統的研究
習題1
閱讀材料
第□章用戶接口與作業管理
□.1作業系統提供的用戶接口
□.1.1程式接口與系統調用
□.1.□操作接口與系統程式
□.□作業的基本概念
□.□.1作業的定義
□.□.□作業的分類
□.3批處理作業控制
□.3.1作業狀態
□.3.□作業控制塊
□.4調度算法
□.4.1作業調度算法的目標與設計因素
□.4.□單道批處理作業調度算法
□.4.3多道批處理作業調度算法
習題□
閱讀材料
第3章踏肯拔辯進程管理
3.1多道程式設計
3.□進程的概念
3.□.1前驅圖和程式執行
3.□.□進程的描述
3.3進程控制塊和狀態轉換
3.3.1進程控制塊PCB
3.3.□進程狀態及其轉換
3.4進程控制
3.4.1作業系統控制結構
3.4.□進程創建符朽蘭與終止
3.4.3進程的阻塞與喚醒
3.4.4進程的掛起與激活
3.4.5進程間的相互關係
3.5執行緒
3.5.1執行緒的引入
3.5.□執行緒的結構與執行緒控制塊TCB
3.5.3線葛乎洪程與進程
3.5.4執行緒的實現
3.5.5執行緒的調度
3.5.6執行緒的套用
3.6Linu□□程管理
3.6.1Linu□□程結構
3.6.□Linu□□程狀態及運行模式
3.6.3Linu□□程控制
習題3
閱讀材料
第4章中斷和處理機調度
4.1中斷
4.1.1中斷和指令周期
4.1.□中斷處理
4.1.3多箇中斷
4.1.4多道程式設計
4.1.5調度機制
4.1.6高級、中級和低級調度
4.□處理機調度
4.□.1進程調度方式
4.□.□調度算法
4.□.3調度時機
4.3實時調度
4.3.1實現實時調度的基本條件
4.3.□實時調度算法的分類
4.3.3實時調度算法
4.4多處理機調度
4.4.1多處理機系統的類型
4.4.□自調度
4.4.3組調度
4.5Linux系統進程調度
4.5.1Linux時鐘運作機制(時間基準)
4.5.□UNIX/Linux中的系統調用
4.5.3Linux調度程式
習題4
閱讀材料
第5章並發性——互斥、同步和通信
5.1並發的原理
5.1.1與時間有關的錯誤
5.1.□互斥與同盼欠步的概念
5.1.3臨界區與進程互斥
5.1.4硬體支持互斥的方法
5.□信號量機制
5.□.1信號量的概念
5.□.□信號量的套用
5.□.3生產者消費者問題信號量機制解法
5.□.4哲學家進餐問題信號量機制解法
5.□.5讀者寫者問題解法
5.3管程機制
5.3.1管程的概念
5.3.□生產者消費者問題管程機制解法
5.3.3哲學家進餐問題管程機制解法
5.4進程通信
5.4.1進程通信的方式
5.4.□訊息緩衝通信
5.4.3信箱通信
5.4.4已分享檔案通信
5.4.5訊息傳遞系統的若干問題
習題5
閱讀材料
第6章並發性——死鎖
6.1死鎖的概念
6.□產生死鎖的條件和處理
6.□.1必要條件
6.□.□處理死鎖的基本方法
6.3死鎖的預防
6.3.1預先分配策略
6.3.□有序分配策略
6.4死鎖的避免
6.4.1系統安全狀態
6.4.□銀行家算法
6.5死鎖的檢測與解除
6.5.1死鎖的檢測
6.5.□死鎖的解除
6.6死鎖的綜合處理策略
習題6
閱讀材料
第7章記憶體管理
7.1記憶體管理的功能
7.1.1記憶體分配
7.1.□地址□換
7.1.3存儲保護
7.1.4存儲共享
7.1.5存儲擴充
7.□程式的連結和載入
7.□.1程式的連結
7.□.□程式的載入
7.3連續分配方式
7.3.1單一連續分配
7.3.□固定分區分配
7.3.3動態分區分配
7.3.4可重定位分區分配
7.3.5交換和覆蓋
7.4基本分頁分配方式
7.4.1頁面與頁表
7.4.□地址□換機構
7.4.3頁面大小
7.5基本分段分配方式
7.5.1段表
7.5.□地址□換機構
7.5.3共享與保護
習題7
閱讀材料
第8章虛擬存儲管理
8.1虛擬存儲器
8.1.1虛擬存儲器的定義
8.1.□虛擬存儲器的特點
8.1.3虛擬存儲器技術需要解決的問題
8.□請求頁式分配
8.□.1請求分頁硬體支持
8.□.□記憶體分配策略
8.□.3記憶體分配方法
8.□.4缺頁處理
8.3頁面置換算法
8.3.1□優頁面置換算法
8.3.□先進先出置換算法
8.3.3□近□少使用置換算法
8.3.4用軟體模擬LRU算法
8.3.5時鐘算法
8.3.6改進Clock算法
8.3.7工作集模型
8.4虛擬段式分配
8.4.1請求分段中的硬體支持
8.4.□地址□換機構
8.4.3缺段中斷
8.5段頁式分配方式
8.5.1段頁式分配的原理
8.5.□段頁式分配的地址□換
8.5.3分段和分頁的結合: Intel Pentium
8.6Linux系統的存儲管理
8.6.1Linux的虛擬存儲空間
8.6.□Linux管理記憶體空間的數據結構
8.6.3Linux記憶體區的分配、釋放和淘汰
習題8
閱讀材料
第9章設備管理
9.1I/O系統
9.1.1設備的類別
9.1.□設備標識
9.1.3I/O系統的結構
9.□I/O設備數據傳輸控制方式
9.□.1程式直接控制方式
9.□.□中斷控制方式
9.□.3DMA控制方式
9.□.4通道控制方式
9.3設備管理與功能
9.4設備分配
9.4.1設備分配中的數據結構
9.4.□設備分配應考慮的因素和分配技術
9.4.3設備分配算法
9.4.4SPOOLING系統
9.5緩衝技術
9.5.1緩衝的引入
9.5.□單緩衝
9.5.3雙緩衝
9.5.4循環緩衝
9.5.5緩衝池
9.6I/O軟體設計
9.6.1I/O軟體的設計目標和原則
9.6.□I/O中斷處理程式
9.6.3設備驅動程式
9.6.4與硬體無關的作業系統I/O軟體
9.6.5用戶空間的I/O軟體
9.7磁碟存儲器管理
9.7.1磁碟I/O
9.7.□磁碟調度算法
9.8RAID技術
9.8.1RAID技術的引入
9.8.□RAID分級
9.9Linux的設備管理
9.9.1Linux設備管理概述
9.9.□設備驅動程式和核心之間的接口
9.9.3字元設備
9.9.4塊設備
9.9.5網路設備
習題9
閱讀材料
□□0章檔案管理
10.1檔案系統的概念
10.1.1檔案和檔案系統
10.1.□檔案分類
10.1.3檔案操作
10.□檔案的邏輯結構
10.□.1檔案邏輯結構的類型
10.□.□順序檔案
10.□.3索引檔案
10.□.4索引順序檔案
10.□.5直接檔案和散列檔案
10.3檔案的物理結構
10.3.1順序結構
10.3.□連結結構
10.3.3索引結構
10.4檔案的存取方法
10.4.1順序存取
10.4.□直接存取
10.4.3按鍵存取
10.5檔案目錄
10.5.1檔案控制塊與索引結點
10.5.□檔案目錄與目錄檔案
10.5.3目錄結構
10.5.4目錄查詢技術
10.6檔案存儲空間管理
10.6.1空閒表和空閒鍊表
10.6.□位示圖
10.6.3UNIX成組連結
10.7檔案共享和保護
10.7.1檔案共享的模式
10.7.□檔案的保護
10.8Windows檔案系統
10.8.1Windows磁碟管理和檔案系統驅動
10.8.□Windows檔案系統格式
10.8.3NTFS檔案系統的結構
10.9Linux的檔案系統
10.9.1ext□的檔案系統
10.9.□虛擬檔案系統
10.10分散式檔案系統
10.10.1分散式檔案系統的發展階段
10.10.□HDFS系統構成
10.10.3HDFS檔案的讀寫操作
10.10.4HDFS數據維護機制
習題10
閱讀材料
參考文獻
8.3.5時鐘算法
8.3.6改進Clock算法
8.3.7工作集模型
8.4虛擬段式分配
8.4.1請求分段中的硬體支持
8.4.□地址□換機構
8.4.3缺段中斷
8.5段頁式分配方式
8.5.1段頁式分配的原理
8.5.□段頁式分配的地址□換
8.5.3分段和分頁的結合: Intel Pentium
8.6Linux系統的存儲管理
8.6.1Linux的虛擬存儲空間
8.6.□Linux管理記憶體空間的數據結構
8.6.3Linux記憶體區的分配、釋放和淘汰
習題8
閱讀材料
第9章設備管理
9.1I/O系統
9.1.1設備的類別
9.1.□設備標識
9.1.3I/O系統的結構
9.□I/O設備數據傳輸控制方式
9.□.1程式直接控制方式
9.□.□中斷控制方式
9.□.3DMA控制方式
9.□.4通道控制方式
9.3設備管理與功能
9.4設備分配
9.4.1設備分配中的數據結構
9.4.□設備分配應考慮的因素和分配技術
9.4.3設備分配算法
9.4.4SPOOLING系統
9.5緩衝技術
9.5.1緩衝的引入
9.5.□單緩衝
9.5.3雙緩衝
9.5.4循環緩衝
9.5.5緩衝池
9.6I/O軟體設計
9.6.1I/O軟體的設計目標和原則
9.6.□I/O中斷處理程式
9.6.3設備驅動程式
9.6.4與硬體無關的作業系統I/O軟體
9.6.5用戶空間的I/O軟體
9.7磁碟存儲器管理
9.7.1磁碟I/O
9.7.□磁碟調度算法
9.8RAID技術
9.8.1RAID技術的引入
9.8.□RAID分級
9.9Linux的設備管理
9.9.1Linux設備管理概述
9.9.□設備驅動程式和核心之間的接口
9.9.3字元設備
9.9.4塊設備
9.9.5網路設備
習題9
閱讀材料
□□0章檔案管理
10.1檔案系統的概念
10.1.1檔案和檔案系統
10.1.□檔案分類
10.1.3檔案操作
10.□檔案的邏輯結構
10.□.1檔案邏輯結構的類型
10.□.□順序檔案
10.□.3索引檔案
10.□.4索引順序檔案