《操作系統(tǒng)原理與實踐教程(第三版)/高等學校計算機應用規(guī)劃教材》全面系統(tǒng)地介紹了現(xiàn)代計算機操作系統(tǒng)的基本理論和最新技術。《操作系統(tǒng)原理與實踐教程(第三版)/高等學校計算機應用規(guī)劃教材》共分為8章,第1章介紹了操作系統(tǒng)的概念、特征和功能、發(fā)展歷史、結構和設計的相關問題,并介紹了常用的操作系統(tǒng)產品;第2章介紹了操作系統(tǒng)的生成與引導、向用戶提供的接口和服務;第3、4章詳細介紹了進程和線程的概念、處理器調度、同步和通信機制、調度與死鎖等問題;第5、6、7章分別介紹了操作系統(tǒng)的存儲管理、文件管理和設備管理功能;第8章介紹了操作系統(tǒng)的安全和保護問題。
《操作系統(tǒng)原理與實踐教程(第三版)/高等學校計算機應用規(guī)劃教材》可作為高等院校計算機科學與技術、軟件工程、信息管理等專業(yè)本、?粕滩暮涂佳小⒖甲C參考書,亦可供從事計算機科學、工程和應用等方面工作的科技人員參考。
《操作系統(tǒng)原理與實踐教程(第三版)/高等學校計算機應用規(guī)劃教材》
第1章 操作系統(tǒng)概論
1.1 操作系統(tǒng)的概念
1.1.1 操作系統(tǒng)的定義
1.1.2 操作系統(tǒng)的特征
1.1.3 操作系統(tǒng)的功能
1.1.4 操作系統(tǒng)的設計目標
1.1.5 操作系統(tǒng)的性能指標
1.2 操作系統(tǒng)的形成和發(fā)展
1.2.1 人工操作階段
1.2.2 單道批處理
1.2.3 多道批處理
1.2.4 分時操作系統(tǒng)
1.2.5 個人計算機操作系統(tǒng)
1.2.6 實時操作系統(tǒng)
1.2.7 網絡操作系統(tǒng)
1.2.8 分布式操作系統(tǒng)
1.2.9 操作系統(tǒng)的進一步發(fā)展
1.3 操作系統(tǒng)的結構
1.3.1 整體結構
1.3.2 分層結構
1.3.3 虛擬機
1.3.4 外核
1.3.5 客戶機/服務器結構
1.4 常用操作系統(tǒng)簡介
1.4.1 Windows系列操作系統(tǒng)
1.4.2 UNIX和Linux系統(tǒng)
1.5 小結
1.6 思考練習
第2章 操作系統(tǒng)的界面
2.1 用戶工作環(huán)境
2.1.1 用戶環(huán)境
2.1.2 系統(tǒng)的生成與引導
2.1.3 實例分析:Linux系統(tǒng)啟動
2.2 操作系統(tǒng)的用戶接口
2.2.1 命令接口
2.2.2 圖形用戶接口
2.2.3 程序接口
2.3 操作系統(tǒng)提供的服務
2.3.1 操作系統(tǒng)提供的基本服務
2.3.2 操作系統(tǒng)提供的公共函數(shù)
2.4 小結
2.5 思考練習
第3章 處理器管理
3.1 進程的引入
3.1.1 程序的順序執(zhí)行
3.1.2 程序的并發(fā)執(zhí)行
3.2 進程的概念
3.2.1 進程的定義
3.2.2 進程的狀態(tài)
3.2.3 進程控制塊
3.3 進程控制
3.3.1 進程控制的概念
3.3.2 進程控制機構
3.3.3 進程創(chuàng)建
3.3.4 進程撤銷
3.3.5 進程阻塞
3.3.6 進程喚醒
3.4 線程
3.4.1 線程的概念
3.4.2 線程的特點與狀態(tài)
3.4.3 線程的實現(xiàn)
3.4.4 多線程模型
3.4.5 線程池
3.5 處理器調度
3.5.1 處理器調度的層次
3.5.2 選擇調度算法的準則
3.5.3 作業(yè)調度
3.5.4 進程調度
3.6 調度算法
3.6.1 先來先服務
3.6.2 短作業(yè)(進程)優(yōu)先
3.6.3 優(yōu)先級調度
3.6.4 時間片輪轉法
3.6.5 多級隊列調度算法
3.6.6 多級反饋隊列調度
3.6.7 高響應比優(yōu)先調度
3.7 多處理器調度和實時調度
3.7.1 多處理器調度
3.7.2 實時調度
3.8 Linux的進程管理
3.8.1 Linux的進程描述符
3.8.2 Linux的進程狀態(tài)及轉換
3.8.3 Linux進程的調度
3.8.4 Linux進程的創(chuàng)建和終止
3.8.5 Linux的線程管理
3.9 小結
3.10 思考練習
第4章 進程同步與死鎖
4.1 進程的同步和互斥
4.1.1 進程的同步
4.1.2 進程互斥
4.1.3 信號量機制
4.1.4 信號量的使用方法
4.1.5 信號量的應用實例
4.2 經典同步問題
4.2.1 生產者-消費者問題
4.2.2 讀者-寫者問題
4.2.3 哲學家進餐問題
4.2.4 理發(fā)師問題
4.3 管程
4.3.1 管程的基本概念
4.3.2 條件變量
4.3.3 使用管程解決生產者-消費者問題
4.4 進程通信
4.4.1 進程通信的概念
4.4.2 進程通信的方式
4.4.3 消息傳遞系統(tǒng)
4.4.4 消息緩沖隊列通信機制
4.4.5 管道通信方式
4.4.6 Linux的進程通信
4.5 死鎖
4.5.1 死鎖的概念
4.5.2 死鎖產生的原因和必要條件
4.5.3 死鎖的描述-資源分配圖
4.5.4 處理死鎖的方法
4.6 死鎖的預防和避免
4.6.1 死鎖的預防
4.6.2 死鎖的避免
4.7 死鎖的檢測和解除
4.7.1 死鎖的檢測
4.7.2 死鎖的解除
4.8 小結
4.9 思考練習
第5章 存儲管理
5.1 存儲管理的概念
5.1.1 多級存儲結構
5.1.2 程序的運行過程
5.1.3 存儲管理的任務和功能
5.1.4 存儲管理方式
5.2 連續(xù)內存分配
5.2.1 單一連續(xù)分配
5.2.2 固定分區(qū)分配
5.2.3 動態(tài)分區(qū)分配
5.2.4 可重定位分區(qū)分配
5.3 內存不足時的管理
5.3.1 覆蓋
5.3.2 交換
5.4 分頁存儲管理
5.4.1 分頁存儲管理的基本原理
5.4.2 地址映射
5.4.3 頁表的結構
5.4.4 頁面的共享
5.5 分段存儲管理
5.5.1 分段存儲管理方式的引入
5.5.2 分段存儲管理的基本原理
5.5.3 段的共享和保護
5.5.4 段頁式存儲管理
5.6 虛擬存儲器
5.6.1 虛擬存儲器的引入
5.6.2 虛擬存儲器的實現(xiàn)方法
5.6.3 虛擬存儲器的特征
5.7 請求分頁存儲管理技術
5.7.1 請求分頁存儲管理的硬件支持
5.7.2 頁面置換算法
5.7.3 請求分頁系統(tǒng)內存塊的分配
5.7.4 工作集理論和抖動問題
5.8 Linux的存儲管理
5.8.1 物理內存管理
5.8.2 進程虛擬地址空間管理
5.9 小結
5.10 思考練習
第6章 文件管理
6.1 文件的概念
6.1.1 文件及其分類
6.1.2 文件的屬性
6.2 文件目錄
6.2.1 文件控制塊和文件目錄
6.2.2 文件目錄結構
6.2.3 目錄的實現(xiàn)
6.3 文件和目錄操作
6.3.1 文件操作
6.3.2 目錄操作
6.4 文件的邏輯結構
6.4.1 文件邏輯結構的類型
6.4.2 順序文件
6.4.3 索引文件
6.4.4 索引順序文件
6.5 文件的物理結構
6.5.1 連續(xù)文件
6.5.2 鏈接文件
6.5.3 隨機文件
6.5.4 文件物理結構比較
6.6 文件存儲空間的分配
6.6.1 連續(xù)分配
6.6.2 鏈接分配
6.6.3 索引分配
6.7 文件存儲空間的管理
6.7.1 空閑文件目錄
6.7.2 空閑鏈表法
6.7.3 位示圖
6.8 文件系統(tǒng)
6.8.1 文件系統(tǒng)的結構
6.8.2 文件系統(tǒng)的實現(xiàn)
6.9 文件的共享和保護
6.9.1 文件的共享
6.9.2 文件保護
6.9.3 文件系統(tǒng)的可靠性
6.10 Linux的文件系統(tǒng)
6.10.1 虛擬文件系統(tǒng)VFS
6.10.2 EXT2文件系統(tǒng)
6.11 小結
6.12 思考練習
第7章 設備管理
7.1 設備管理的概念
7.1.1 設備的分類
7.1.2 設備管理的任務和功能
7.1.3 I/O系統(tǒng)結構
7.1.4 設備控制器
7.2 I/O控制方式
7.2.1 程序直接控制方式
7.2.2 中斷方式
7.2.3 DMA方式
7.2.4 通道控制方式
7.3 中斷技術
7.3.1 中斷的基本概念
7.3.2 中斷的作用
7.3.3 中斷的分類與優(yōu)先級
7.3.4 軟中斷
7.3.5 中斷處理過程
7.4 緩沖技術
7.4.1 緩沖的引入
7.4.2 緩沖的種類
7.4.3 緩沖池的管理
7.5 設備分配
7.5.1 設備分配中的數(shù)據(jù)結構
7.5.2 設備分配的原則
7.5.3 SPOOLing系統(tǒng)
7.5.4 虛擬設備-- 共享打印機
7.5.5 SPOOLing系統(tǒng)的特點
7.6 I/O軟件
7.6.1 I/O軟件的設計目標和原則
7.6.2 I/O中斷處理程序
7.6.3 設備驅動程序
7.6.4 設備無關軟件
7.6.5 用戶層I/O軟件
7.7 磁盤調度和管理
7.7.1 磁盤結構
7.7.2 磁盤訪問時間
7.7.3 磁盤調度
7.7.4 磁盤高速緩存
7.7.5 磁盤管理
7.7.6 廉價磁盤冗余陣列
7.8 Linux的設備管理
7.8.1 設備文件
7.8.2 字符設備管理
7.8.3 塊設備管理
7.8.4 網絡設備管理
7.9 小結
7.10 思考練習
第8章 操作系統(tǒng)的安全和保護
8.1 計算機系統(tǒng)和操作系統(tǒng)安全
8.1.1 計算機系統(tǒng)安全概述
8.1.2 操作系統(tǒng)安全及信息安全評價準則
8.1.3 計算機安全威脅分類
8.2 操作系統(tǒng)安全機制
8.2.1 數(shù)據(jù)加密的基本概念
8.2.2 數(shù)字簽名和身份認證
8.2.3 授權機制
8.2.4 審計
8.3 計算機病毒
8.3.1 計算機病毒的基本概念
8.3.2 計算機病毒的類型
8.3.3 病毒的預防和檢測
8.4 訪問控制機制
8.4.1 保護域
8.4.2 訪問矩陣
8.4.3 訪問矩陣的實現(xiàn)
8.5 Linux的安全機制
8.6 小結
8.7 思考練習
參考文獻
《操作系統(tǒng)原理與實踐教程(第三版)/高等學校計算機應用規(guī)劃教材》
1.處理器管理功能
處理器是計算機軟硬件體系的心臟,是制約整個計算機體系性能的最重要器件,因此處理器性能是否被充分發(fā)揮關系著整個計算機體系的性能。操作系統(tǒng)的主要任務之一就是合理有效地管理處理器,使其在現(xiàn)有環(huán)境下盡可能地發(fā)揮最大功效,提供更高的處理效率。
處理器的管理功能主要體現(xiàn)在創(chuàng)建、撤銷進程,并按照一定的算法為其分配所需資源,同時還要管理和控制各用戶的多個進程的協(xié)調運行,確保各個進程可以正確地通信。在多道程序的OS中,這些管理功能最終通過對進程的控制和管理來實現(xiàn),而在具有線程機制的OS中,這些功能的實現(xiàn)還依賴于對線程的管理和控制。
2.存儲器管理功能
存儲器是用來存放程序和數(shù)據(jù)的容器,是為計算機系統(tǒng)提供運作數(shù)據(jù)和具體指令序列的器件。操作系統(tǒng)所管理的存儲器包括內存、外存等。因此存儲器管理的主要任務就是將各種存儲器件統(tǒng)一管理,保證多道程序的良好運行環(huán)境,同時還要兼顧內存利用率、邏輯上擴充內存的需求以及用戶的感受,提供優(yōu)良的控制、存取功能,為用戶提供操控存儲器的手段。
為實現(xiàn)上述要求,存儲器管理應具有內存分配、內存回收、內存保護、地址映射和虛擬內存等功能。
。1)內存分配
內存分配指的是為每道程序分配合適的內存空間,使其能在運行期問將運行所需數(shù)據(jù)放置在內存指定區(qū)域,以保證CPU能夠順利地獲取指令并存取指定數(shù)據(jù)。分配內存空問時應盡量提高內存空間的利用率,減少不可用內存空間。此外還應能響應正在運行的程序發(fā)出的動態(tài)空間申請,以便滿足新增指令和數(shù)據(jù)對新空間的需求。
內存分配通常采用動態(tài)和靜態(tài)兩種方式。靜態(tài)分配方式指的是程序在裝入內存時需要估計所需空間,一旦進入內存開始運行,就不能再申請新的空間,也不能將該程序所占空間“搬運”到其他位置。動態(tài)分配方式指的是盡管程序裝入內存時申請了一定的空間,但在程序運行期間還可以為運行過程中所需的新的程序和數(shù)據(jù)再申請額外的空間,以滿足程序空間動態(tài)增長的需要。
。2)內存回收
內存回收指的是當程序運行完畢后,將各程序在裝入內存時所分配的空間重新置為空閑分區(qū),并交由OS統(tǒng)一管理,以備其他程序申請使用。
在內存的分配和回收過程中,為了記錄當前內存使用和分配情況,OS通常還要配置內存分配數(shù)據(jù)結構,以便為后期分配和回收提供依據(jù)。
……