出版時間:2004-7 出版社:西安電子科技大學(xué)出版 作者:孟慶昌
內(nèi)容概要
《操作系統(tǒng)教程:Linux實例分析》以Linux操作系統(tǒng)為實例,全面、系統(tǒng)地介紹了操作系統(tǒng)的概念、理論、技術(shù)和實現(xiàn)方法。全書共分11章,分別介紹操作系統(tǒng)概述,進(jìn)程管理,處理機(jī)調(diào)度,存儲器管理,文件系統(tǒng),設(shè)備管理,中斷、陷入和信號機(jī)構(gòu),死鎖,多處理器系統(tǒng),分布式系統(tǒng),性能評價及安全性。
《操作系統(tǒng)教程:Linux實例分析》可作為計算機(jī)科學(xué)和工程類專業(yè)的教材,以及從事計算機(jī)工作的廣大科技人員學(xué)習(xí)操作系統(tǒng)知識和Linux技術(shù)的參考書。
書籍目錄
第1章 操作系統(tǒng)概述 1 1.1 計算機(jī)發(fā)展簡史 1 1.2 計算機(jī)系統(tǒng)組成 1 1.2.1 計算機(jī)系統(tǒng)結(jié)構(gòu) 2 1.2.2 計算機(jī)軟件分類 3 1.3 操作系統(tǒng)的概念 4 1.4 操作系統(tǒng)的主要功能 5 1.5 操作系統(tǒng)的發(fā)展歷程 9 1.5.1 手工操作階段 9 1.5.2 早期批處理階段 10 1.5.3 執(zhí)行系統(tǒng)階段 11 1.5.4 多道程序系統(tǒng)階段 12 1.6 操作系統(tǒng)的類型 13 1.6.1 多道成批系統(tǒng) 13 1.6.2 分時系統(tǒng) 14 1.6.3 實時系統(tǒng) 15 1.6.4 個人機(jī)系統(tǒng) 17 1.6.5 網(wǎng)絡(luò)操作系統(tǒng) 17 1.6.6 分布式操作系統(tǒng) 18 1.7 操作系統(tǒng)的特征 19 1.8 操作系統(tǒng)的結(jié)構(gòu) 19 1.8.1 單塊結(jié)構(gòu) 20 1.8.2 層次結(jié)構(gòu) 20 1.8.3 虛擬機(jī) 22 1.8.4 客戶/服務(wù)器模型 22 1.9 UNIX/Linux系統(tǒng)的特點(diǎn)和結(jié)構(gòu) 23 1.9.1 UNIX系統(tǒng)的發(fā)展和特點(diǎn) 23 1.9.2 Linux系統(tǒng)的歷史和特點(diǎn) 26 1.10 小結(jié) 29 習(xí)題 29 第2章 進(jìn)程管理 31 2.1 進(jìn)程概念 31 2.1.1 程序的順序執(zhí)行 31 2.1.2 程序的并發(fā)執(zhí)行和資源共享 32 2.1.3 程序并發(fā)執(zhí)行的特性 33 2.1.4 進(jìn)程概念的引入和描述 35 2.1.5 進(jìn)程的狀態(tài)及其變遷 36 2.1.6 進(jìn)程的組成 37 2.1.7 進(jìn)程控制塊 37 2.1.8 PCB的組織方式 38 2.2 線程 40 2.2.1 線程概念 40 2.2.2 線程的實現(xiàn)方式 42 2.3 進(jìn)程管理 43 2.3.1 創(chuàng)建進(jìn)程 43 2.3.2 終止進(jìn)程 44 2.3.3 更換進(jìn)程映像 44 2.3.4 阻塞進(jìn)程 44 2.3.5 喚醒進(jìn)程 45 2.4 進(jìn)程間通信 45 2.4.1 進(jìn)程間的關(guān)系 45 2.4.2 競爭條件和臨界區(qū) 46 2.4.3 用鎖操作原語實現(xiàn)互斥 48 2.4.4 信號量上的P、V操作原語 49 2.4.5 用P、V原語實現(xiàn)互斥 50 2.4.6 用P、V原語實現(xiàn)簡單同步 51 2.4.7 生產(chǎn)者—消費(fèi)者問題 52 2.5 經(jīng)典進(jìn)程同步問題 54 2.5.1 讀者—寫者問題 54 2.5.2 哲學(xué)家進(jìn)餐問題 55 2.5.3 困睡的理發(fā)師問題 57 2.6 管程 58 2.7 進(jìn)程通信 61 2.7.1 消息緩沖通信 61 2.7.2 信箱通信 64 2.8 Linux進(jìn)程管理 64 2.8.1 進(jìn)程和線程的概念 65 2.8.2 進(jìn)程的結(jié)構(gòu) 66 2.8.3 對進(jìn)程的操作 68 2.8.4 進(jìn)程同步和通信 70 2.9 小結(jié) 71 習(xí)題 72 第3章 處理機(jī)調(diào)度 75 3.1 調(diào)度級別 75 3.2 作業(yè)調(diào)度 76 3.2.1 作業(yè)狀態(tài) 76 3.2.2 作業(yè)調(diào)度 77 3.3 進(jìn)程調(diào)度 78 3.3.1 進(jìn)程調(diào)度的功能和時機(jī) 78 3.3.2 兩級調(diào)度模型 79 3.3.3 三級調(diào)度模型 80 3.4 性能評價標(biāo)準(zhǔn) 80 3.4.1 調(diào)度策略的選擇 80 3.4.2 性能評價標(biāo)準(zhǔn) 81 3.5 常用調(diào)度算法 82 3.5.1 先來先服務(wù)(FCFS) 82 3.5.2 短作業(yè)優(yōu)先(SJF) 83 3.5.3 優(yōu)先級(Priority) 84 3.5.4 搶占式和非搶占式算法 85 3.5.5 輪轉(zhuǎn)法(RR) 87 3.5.6 多級隊列法(MQ) 88 3.5.7 多級反饋隊列法(MFQ) 89 3.5.8 多級調(diào)度綜合示例 90 3.6 Linux系統(tǒng)中的進(jìn)程調(diào)度 91 3.6.1 進(jìn)程調(diào)度 91 3.6.2 shell基本工作原理 93 3.6.3 系統(tǒng)初啟 94 3.7 小結(jié) 96 習(xí)題 97 第4章 存儲器管理 99 4.1 引言 99 4.1.1 用戶程序的主要處理階段 99 4.1.2 重定位 101 4.2 基本的內(nèi)存管理技術(shù) 104 4.2.1 單一連續(xù)分配法 104 4.2.2 分區(qū)法 104 4.2.3 可重定位分區(qū)分配 108 4.3 對換技術(shù) 110 4.3.1 早期對換技術(shù) 110 4.3.2 多道程序環(huán)境下的對換 110 4.4 分頁技術(shù) 111 4.4.1 分頁存儲管理的基本概念 111 4.4.2 分頁系統(tǒng)中的地址映射 113 4.4.3 快表和頁表構(gòu)造 113 4.4.4 頁的共享和保護(hù) 117 4.5 分段技術(shù) 118 4.5.1 分段存儲管理的基本概念 118 4.5.2 地址轉(zhuǎn)換 120 4.5.3 段的共享和保護(hù) 120 4.6 虛擬存儲器 122 4.6.1 虛擬存儲器概念 122 4.6.2 虛擬存儲器特征 123 4.7 請求分頁技術(shù) 124 4.7.1 請求分頁的基本思想 124 4.7.2 硬件支持及缺頁處理 124 4.7.3 請求分頁的優(yōu)缺點(diǎn) 126 4.7.4 請求分頁的性能 126 4.7.5 頁面置換 127 4.8 頁面置換算法 128 4.8.1 先入先出法(FIFO) 129 4.8.2 最優(yōu)置換算法(OPT) 130 4.8.3 最久未使用算法(LRU) 130 4.8.4 第二次機(jī)會算法(SCR) 132 4.9 內(nèi)存塊分配算法和抖動問題 133 4.9.1 內(nèi)存塊分配算法 133 4.9.2 抖動(Thrashing)問題 135 4.9.3 工作集 136 4.10 段式虛擬存儲器 137 4.10.1 基本工作過程 137 4.10.2 連接中斷處理 138 4.10.3 段式虛擬存儲的優(yōu)點(diǎn)和缺點(diǎn) 139 4.11 段頁式結(jié)合系統(tǒng) 139 4.12 Linux系統(tǒng)的存儲管理 140 4.12.1 Linux的多級頁表 140 4.12.2 內(nèi)存頁的分配與釋放 141 4.12.3 內(nèi)存交換 142 4.13 小結(jié) 143 習(xí)題 145 第5章 文件系統(tǒng) 148 5.1 文件系統(tǒng)概述 148 5.1.1 文件及其分類 148 5.1.2 文件系統(tǒng)的功能 151 5.1.3 文件系統(tǒng)的結(jié)構(gòu) 152 5.1.4 用戶對文件的存取方法 152 5.2 文件的邏輯組織和物理組織 154 5.2.1 文件的邏輯組織 154 5.2.2 文件的物理組織 155 5.3 目錄結(jié)構(gòu) 159 5.3.1 文件控制塊和文件目錄 159 5.3.2 目錄結(jié)構(gòu)的類型 160 5.4 文件存儲空間的管理 164 5.4.1 空閑空間表法 164 5.4.2 空閑塊鏈接法 165 5.4.3 位示圖(Bit Map)法 166 5.4.4 空閑塊成組鏈接法 166 5.5 對文件的主要操作 167 5.5.1 創(chuàng)建和刪除文件 168 5.5.2 打開與關(guān)閉文件 168 5.5.3 讀文件與寫文件 169 5.5.4 鏈接文件與解除鏈接 170 5.6 文件系統(tǒng)的可靠性 171 5.6.1 壞塊管理 171 5.6.2 后備 171 5.6.3 文件系統(tǒng)的一致性 172 5.7 文件保護(hù) 173 5.7.1 一般文件的保護(hù)機(jī)制 174 5.7.2 保護(hù)域 176 5.7.3 存取控制表 178 5.7.4 權(quán)力 179 5.8 Linux文件系統(tǒng) 180 5.8.1 EXT2文件系統(tǒng) 181 5.8.2 虛擬文件系統(tǒng) 185 5.8.3 管道文件(Pipe) 189 5.9 小結(jié) 190 習(xí)題 192 第6章 設(shè)備管理 194 6.1 概述 194 6.1.1 設(shè)備分類 194 6.1.2 設(shè)備管理的功能 195 6.1.3 通道技術(shù) 196 6.1.4 設(shè)備控制器 198 6.2 緩沖技術(shù)(Buffering) 198 6.2.1 緩沖技術(shù)的引入 198 6.2.2 緩沖區(qū)的設(shè)置 199 6.3 設(shè)備分配技術(shù) 200 6.3.1 設(shè)備分配技術(shù) 200 6.3.2 SPOOLing系統(tǒng) 202 6.4 I/O軟件構(gòu)造原則 203 6.4.1 I/O軟件目標(biāo) 203 6.4.2 中斷處理程序 204 6.4.3 設(shè)備驅(qū)動程序 204 6.4.4 與設(shè)備無關(guān)的I/O軟件 209 6.4.5 用戶空間I/O軟件 210 6.5 磁盤調(diào)度和管理 210 6.5.1 物理特性 211 6.5.2 磁盤調(diào)度算法 212 6.5.3 磁盤調(diào)度算法的選擇 215 6.5.4 磁盤管理 215 6.6 Linux系統(tǒng)的設(shè)備管理 217 6.6.1 設(shè)備管理概述 217 6.6.2 設(shè)備驅(qū)動程序和內(nèi)核之間的接口 218 6.7 小結(jié) 221 習(xí)題 222 第7章 中斷、陷入和信號機(jī)構(gòu) 223 7.1 概述 223 7.1.1 中斷及其一般處理過程 223 7.1.2 中斷優(yōu)先級和多重中斷 227 7.1.3 中斷屏蔽 228 7.2 UNIX系統(tǒng)對中斷和陷入的處理 228 7.2.1 中斷處理 228 7.2.2 陷入處理 230 7.3 系統(tǒng)調(diào)用的實施舉例 232 7.4 UNIX信號機(jī)構(gòu) 234 7.4.1 信號分類 235 7.4.2 信號處理方式 236 7.4.3 信號的檢測和處理 236 7.5 小結(jié) 237 習(xí)題 238 第8章 死鎖 240 8.1 概述 240 8.1.1 死鎖的概念 240 8.1.2 資源概念 241 8.1.3 進(jìn)程推進(jìn)順序與死鎖 243 8.2 產(chǎn)生死鎖的條件 245 8.2.1 產(chǎn)生死鎖的必要條件 245 8.2.2 資源分配圖 246 8.2.3 處理死鎖的方法 247 8.3 死鎖的預(yù)防 247 8.4 死鎖的避免 250 8.4.1 安全狀態(tài) 250 8.4.2 銀行家算法 251 8.4.3 對單體資源類的簡化算法 253 8.4.4 銀行家算法應(yīng)用示例 253 8.5 死鎖的檢測與恢復(fù) 255 8.5.1 對多體資源類的死鎖檢測 255 8.5.2 對單體資源類的死鎖檢測 256 8.5.3 從死鎖中恢復(fù) 256 8.5.4 “饑餓”狀態(tài) 258 8.6 處理死鎖的綜合方式 258 8.7 小結(jié) 259 習(xí)題 260 第9章 多處理器系統(tǒng) 263 9.1 概述 263 9.2 多處理器結(jié)構(gòu) 264 9.2.1 UMA多處理器結(jié)構(gòu) 265 9.2.2 NUMA多處理器結(jié)構(gòu) 268 9.3 多處理器操作系統(tǒng)類型 269 9.3.1 多處理器系統(tǒng)的問題 269 9.3.2 多處理器操作系統(tǒng)類型 270 9.4 多處理器調(diào)度和同步 271 9.4.1 多處理器調(diào)度 271 9.4.2 多處理器同步 275 9.5 小結(jié) 276 習(xí)題 276 第10章 分布式系統(tǒng) 277 10.1 概述 277 10.1.1 分布式系統(tǒng)特征 277 10.1.2 分布式系統(tǒng)優(yōu)點(diǎn) 278 10.1.3 三種多機(jī)操作系統(tǒng)的比較 279 10.2 分布式操作系統(tǒng) 279 10.2.1 分布式操作系統(tǒng)的功能 280 10.2.2 分布式操作系統(tǒng)的設(shè)計因素 280 10.3 分布式系統(tǒng)的通信 282 10.3.1 ISO OSI參考模型 282 10.3.2 客戶——服務(wù)器模型 283 10.3.3 遠(yuǎn)程過程調(diào)用 284 10.3.4 組通信 284 10.4 分布式進(jìn)程管理 285 10.4.1 進(jìn)程遷移 285 10.4.2 分布式系統(tǒng)的進(jìn)程管理 286 10.4.3 處理器分配 287 10.5 分布式系統(tǒng)中的同步 289 10.5.1 事件排序 289 10.5.2 互斥 290 10.6 分布式系統(tǒng)中的死鎖 291 10.6.1 死鎖的檢測 291 10.6.2 死鎖的預(yù)防 292 10.7 分布式文件系統(tǒng) 292 10.7.1 文件服務(wù)接口 292 10.7.2 目錄服務(wù)器接口 293 10.7.3 文件共享語義 295 10.8 小結(jié) 296 習(xí)題 297 第11章 性能評價及安全性 298 11.1 性能評價 298 11.1.1 性能評價的目的 298 11.1.2 性能評價技術(shù) 299 11.2 操作系統(tǒng)的安全性 300 11.2.1 安全性問題 300 11.2.2 常見的安全性攻擊 301 11.2.3 對付病毒的常用方法 302 11.3 安全對策 303 11.4 小結(jié) 303 習(xí)題 303 參考文獻(xiàn) 305
編輯推薦
《操作系統(tǒng)教程:Linux實例分析》以Linux操作系統(tǒng)為實例,全面、系統(tǒng)地介紹了操作系統(tǒng)的概念、理論、技術(shù)和實現(xiàn)方法。
圖書封面
評論、評分、閱讀與下載