本書從服務(wù)用戶、進(jìn)程交互、系統(tǒng)實現(xiàn)和管理資源等觀點來研究操作系統(tǒng)的概念和原理、設(shè)計和實現(xiàn),既闡述傳統(tǒng)操作系統(tǒng)基本概念、技術(shù)和方法,又介紹現(xiàn)代操作系統(tǒng)新技術(shù)發(fā)展與應(yīng)用。本書以主流操作系統(tǒng)Linux為案例,重點介紹其設(shè)計原理和核心算法,刪去實現(xiàn)細(xì)節(jié)描述,突出操作系統(tǒng)概念和原理與案例操作系統(tǒng)技術(shù)和方法之間的銜接。增加操作系統(tǒng)技術(shù)新進(jìn)展內(nèi)容,介紹多處理器和多核操作系統(tǒng)設(shè)計要點、多處理器調(diào)度算法,并對網(wǎng)絡(luò)計算、分布計算、云計算及其各類操作系統(tǒng)設(shè)計做了概要介紹。配套教學(xué)資源豐富,包括教學(xué)大綱、電子教案、教學(xué)輔助軟件、參考資料及《Linux操作系統(tǒng)實驗教程》(高等教育出版社出版),并為任課教師提供應(yīng)用題參考解答,方便高校師生的教與學(xué)。
操作系統(tǒng)是計算機(jī)系統(tǒng)的核心和靈魂,是計算機(jī)系統(tǒng)必不可少的組成部分,也是基礎(chǔ)和核心的系統(tǒng)軟件,因而操作系統(tǒng)課程成為計算機(jī)相關(guān)專業(yè)的必修課,也是計算機(jī)應(yīng)用從業(yè)人員必備的專業(yè)知識。
《操作系統(tǒng)教程(第5版)》在前4版的基礎(chǔ)上進(jìn)行全面修訂,系統(tǒng)地介紹操作系統(tǒng)的經(jīng)典內(nèi)容和技術(shù)新進(jìn)展,選擇當(dāng)代具有代表性的開放源碼操作系統(tǒng)Linux作為實例貫穿全書。
《操作系統(tǒng)教程(第5版)》共8章,涵蓋操作系統(tǒng)的基本概念、設(shè)計原理和實現(xiàn)技術(shù),盡可能系統(tǒng)、全面地展示操作系統(tǒng)的概念、特性和精髓。
《操作系統(tǒng)教程(第5版)》重點突出、內(nèi)容充實、邏輯清晰、詳略得當(dāng),便于學(xué)生更好地掌握操作系統(tǒng)的核心知識。
與《操作系統(tǒng)教程(第5版)》配套的《Linux操作系統(tǒng)實驗教程》(費翔林主編)已經(jīng)由高等教育出版社出版,兩本教材各有側(cè)重,相輔相成完成操作系統(tǒng)教學(xué)任務(wù)。
《操作系統(tǒng)教程(第5版)》既可作為高等學(xué)校計算機(jī)及相關(guān)專業(yè)本科的“操作系統(tǒng)”課程教材或參考書,也可供計算機(jī)技術(shù)和軟件技術(shù)人員閱讀和參考。
費翔林,南京大學(xué)計算機(jī)科學(xué)與技術(shù)系教授,曾任教育部計算機(jī)教學(xué)指導(dǎo)委員會委員、系教學(xué)副主任,計算機(jī)軟件新技術(shù)國家重點實驗室副主任。1941年生,畢業(yè)于南京大學(xué)數(shù)學(xué)系。主要研究方向為操作系統(tǒng)和面向?qū)ο筌浖こ獭W?0世紀(jì)70年代起就開展操作系統(tǒng)研究與教學(xué)工作,參與和完成多個國產(chǎn)操作系統(tǒng)研制任務(wù),先后主持和參加國家“七五”、“八五”、“九五”和”863”等科研項目,獲部省級科技進(jìn)步獎6次:主持”操作系統(tǒng)原理與實踐”國家精品課程,多次獲省校級操作系統(tǒng)課程建設(shè)及優(yōu)秀教學(xué)質(zhì)量獎,編寫的《操作系統(tǒng)教程》曾獲國家優(yōu)秀教材獎,并先后被列入”面向21世紀(jì)課程教材”、“十一五”國家級規(guī)劃教材和”十二五”普通高等教育本科國家級規(guī)劃教材。
第1章 操作系統(tǒng)概論
1.1 操作系統(tǒng)概觀
1.1.1 操作系統(tǒng)與計算機(jī)系統(tǒng)
1.1.2 操作系統(tǒng)資源管理技術(shù)
1.1.3 操作系統(tǒng)定義和作用
1.1.4 操作系統(tǒng)功能和特性
1.2 操作系統(tǒng)形成與發(fā)展
1.2.1 人工操作階段
1.2.2 執(zhí)行系統(tǒng)階段
1.2.3 多道程序設(shè)計與操作系統(tǒng)形成
1.2.4 操作系統(tǒng)發(fā)展與分類
1.3 操作系統(tǒng)基本服務(wù)和用戶接口
1.3.1 基本服務(wù)和用戶接口
1.3.2 程序接口與系統(tǒng)調(diào)用
1.3.3 操作接口與系統(tǒng)程序
1.3.4 Linux系統(tǒng)調(diào)用及實現(xiàn)機(jī)制
1.4 操作系統(tǒng)結(jié)構(gòu)和運(yùn)行模型
1.4.1 操作系統(tǒng)結(jié)構(gòu)分類
1.4.2 操作系統(tǒng)結(jié)構(gòu)設(shè)計
1.4.3 操作系統(tǒng)內(nèi)核
1.4.4 操作系統(tǒng)運(yùn)行模型
1.5 流行操作系統(tǒng)簡介
1.5.1 UNIX操作系統(tǒng)
1.5.2 自由軟件和Linux操作系統(tǒng)
1.5.3 IBM操作系統(tǒng)
1.6 本章小結(jié)
習(xí)題1
第2章 處理器管理
2.1 處理器狀態(tài)
2.1.1 處理器
2.1.2 程序狀態(tài)字
2.2 中斷技術(shù)
2.2.1 中斷概念
2.2.2 中斷源分類
2.2.3 中斷和異常的響應(yīng)及服務(wù)
2.2.4 中斷事件處理原則
2.2.5 中斷優(yōu)先級和多重中斷
2.2.6 Linux中斷處理
2.3 進(jìn)程及其實現(xiàn)
2.3.1 進(jìn)程定義和屬性
2.3.2 進(jìn)程狀態(tài)和轉(zhuǎn)換
2.3.3 進(jìn)程描述和組成
2.3.4 進(jìn)程上下文切換與處理器狀態(tài)轉(zhuǎn)換
2.3.5 進(jìn)程控制和管理
2.4 線程及其實現(xiàn)
2.4.1 引人多線程的動機(jī)
2.4.2 多線程環(huán)境中的進(jìn)程與線程
2.4.3 線程的實現(xiàn)
2.5 Linux進(jìn)程
2.6 處理器調(diào)度
2.6.1 處理器調(diào)度層次
2.6.2 選擇調(diào)度算法原則
2.6.3 作業(yè)管理與調(diào)度
2.6.4 低級調(diào)度功能和類型
2.6.5 作業(yè)調(diào)度和低級調(diào)度算法
2.7 Linux調(diào)度算法
2.7.1 Linux V2.4調(diào)度算法
2.7.2 Linux V2.6調(diào)度算法
2.8 本章小結(jié)
習(xí)題2
第3章 同步、通信與死鎖
3.1 并發(fā)進(jìn)程
3.1.1 順序程序設(shè)計
3.1.2 并發(fā)程序設(shè)計
3.1.3 進(jìn)程的交互:競爭和協(xié)作
3.2 臨界區(qū)管理
3.2.1 互斥和臨界區(qū)
3.2.2 臨界區(qū)管理的嘗試
3.2.3 實現(xiàn)臨界區(qū)管理的軟件算法
3.2.4 實現(xiàn)臨界區(qū)管理的硬件設(shè)施
3.3 信號量與Pv操作
3.3.1 同步和同步機(jī)制
3.3.2 信號量與PV操作
3.3.3 信號量實現(xiàn)互斥
3.3.4 信號量解決5位哲學(xué)家就餐問題
3.3.5 信號量解決生產(chǎn)者-消費者問題
3.3.6 信號量解決讀者-寫者問題
3.3.7 信號量解決睡眠理發(fā)師問題
3.4 管程
3.4.1 管程和條件變量
3.4.2 管程的實現(xiàn)
3.4.3 管程解決進(jìn)程同步問題
3.5 進(jìn)程通信
3.5.1 信號通信機(jī)制
3.5.2 管道通信機(jī)制
3.5.3 共享內(nèi)存通信機(jī)制
3.5.4 消息傳遞通信機(jī)制
3.6 操作系統(tǒng)并發(fā)問題解決方案小結(jié)
3.7 死鎖
3.7.1 死鎖產(chǎn)生
3.7.2 死鎖防止
3.7.3 死鎖避免
3.7.4 死鎖檢測和恢復(fù)
3.8 Linux同步和通信機(jī)制
3.8.1 Linux內(nèi)核同步機(jī)制
3.8.2 System V IPC進(jìn)程同步機(jī)制
3.9 本章小結(jié)
習(xí)題3
第4章 存儲管理
4.1 存儲器工作原理
4.1.1 存儲器層次
4.1.2 地址轉(zhuǎn)換與存儲保護(hù)
4.2 連續(xù)存儲管理
4.2.1 固定分區(qū)存儲管理
4.2.2 可變分區(qū)存儲管理
4.2.3 內(nèi)存不足的存儲管理技術(shù)
4.3 分頁存儲管理
4.3.1 分頁存儲管理基本原理
4.3.2 翻譯快表
4.3.3 分頁存儲空間分配和去配
4.3.4 分頁存儲空間頁面共享和保護(hù)
4.3.5 多級頁表
4.3.6 反置頁表
4.4 分段存儲管理
4.4.1 程序分段結(jié)構(gòu)
4.4.2 分段存儲管理基本原理
4.4.3 分段存儲管理共享和保護(hù)
4.4.4 分段和分頁比較
4.5 虛擬存儲管理
4.5.1 虛擬存儲器概念
4.5.2 請求分頁虛擬存儲管理
4.5.3 請求段頁式虛擬存儲管理
4.6 存儲管理方案及虛存頁面替換算法小結(jié)
4.7 Linux虛擬存儲管理
4.7.1 物理內(nèi)存管理
4.7.2 進(jìn)程虛擬地址空間管理
4.7.3 頁表機(jī)制
4.7.4 缺頁異常處理
4.8 本章小結(jié)
習(xí)題4
第5章 設(shè)備管理
5.1 I/O硬件原理
5.1.1 I/O系統(tǒng)
5.1.2 I/O控制方式
5.1.3 設(shè)備控制器
5.2 I/O軟件原理
5.2.1 I/0軟件設(shè)計目標(biāo)和原則
5.2.2 I/O中斷處理程序
5.2.3 I/0設(shè)備驅(qū)動程序
5.2.4 獨立于設(shè)備的I/O軟件
5.2.5 用戶空間的I/O軟件
5.3 緩沖技術(shù)
5.3.1 單緩沖
5.3.2 雙緩沖
5.3.3 多緩沖
5.4 驅(qū)動調(diào)度技術(shù)
5.4.1 存儲設(shè)備的物理結(jié)構(gòu)
5.4.2 循環(huán)排序
5.4.3 優(yōu)化分布
5.4.4 搜查定位
5.4.5 提高磁盤I/O速度的方法
5.4.6 Linux磁盤I/O調(diào)度算法
5.5 設(shè)備分配
5.5.1 設(shè)備獨立性
5.5.2 設(shè)備分配及其數(shù)據(jù)結(jié)構(gòu)
5.6 虛擬設(shè)備
5.6.1 問題的提出
5.6.2 SPOOLing設(shè)計與實現(xiàn)
5.6.3 SPOOLing應(yīng)用
5.7 Linux設(shè)備管理
5.7.1 設(shè)備管理概述
5.7.2 字符設(shè)備
5.7.3 塊設(shè)備
5.8 本章小結(jié)
習(xí)題5
第6章 文件管理
6.1 文件
6.1.1 文件概念和命名
6.1.2 文件類型和屬性
6.1.3 文件存取方法
6.2 文件目錄
6.2.1 文件控制塊、文件目錄與目錄文件
6.2.2 層次目錄結(jié)構(gòu)
6.2.3 文件目錄檢索
6.3 文件組織與數(shù)據(jù)存儲
6.3.1 文件邏輯結(jié)構(gòu)
6.3.2 文件物理結(jié)構(gòu)
6.4 文件系統(tǒng)功能及實現(xiàn)
6.4.1 文件類系統(tǒng)調(diào)用
6.4.2 文件共享
6.4.3 文件空間管理
6.4.4 內(nèi)存映射文件
6.4.5 虛擬文件系統(tǒng)
6.4.6 文件系統(tǒng)性能和可靠性問題
6.5 Linux文件系統(tǒng)
6.5.1 Linux文件系統(tǒng)結(jié)構(gòu)
6.5.2 VFS數(shù)據(jù)結(jié)構(gòu)及管理
6.5.3 VFS文件系統(tǒng)調(diào)用實現(xiàn)
6.5.4 Linux文件系統(tǒng)高速緩存機(jī)制
6.5.5 Linux ext2文件系統(tǒng)
6.5.6 Linux proc文件系統(tǒng)
6.6 本章小結(jié)
習(xí)題6
第7章 操作系統(tǒng)安全與保護(hù)
7.1 安全性概述
7.2 安全策略
7.2.1 安全需求和安全策略
7.2.2 訪問支持策略
7.2.3 訪問控制策略
7.3 安全模型
7.3.1 安全模型概述
7.3.2 安全模型示例
7.4 安全機(jī)制
7.4.1 硬件安全機(jī)制
7.4.2 認(rèn)證機(jī)制
7.4.3 授權(quán)機(jī)制
7.4.4 加密機(jī)制
7.4.5 審計機(jī)制
7.5 安全操作系統(tǒng)設(shè)計和開發(fā)
7.5.1 安全操作系統(tǒng)結(jié)構(gòu)和設(shè)計原則
7.5.2 安全操作系統(tǒng)開發(fā)
7.5.3 信息系統(tǒng)安全評價標(biāo)準(zhǔn)簡介
7.6 Linux安全機(jī)制
7.7 本章小結(jié)
習(xí)題7
第8章 操作系統(tǒng)技術(shù)新進(jìn)展
8.1 多處理器與多計算機(jī)系統(tǒng)
8.1.1 并行處理系統(tǒng)分類
8.1.2 共享存儲的對稱式多處理機(jī)
8.1.3 集群系統(tǒng)
8.2 基于網(wǎng)絡(luò)的計算模式
8.2.1 網(wǎng)絡(luò)計算
8.2.2 分布計算
8.2.3 云計算
8.3 多核與超線程
8.3.1 多核的提出
8.3.2 多核處理器的技術(shù)優(yōu)勢
8.3.3 多核計算機(jī)系統(tǒng)設(shè)計考慮
8.3.4 多核操作系統(tǒng)設(shè)計考慮
8.4 并行處理環(huán)境下的同步與調(diào)度
8.4.1 同步粒度
8.4.2 并行環(huán)境下的同步
8.4.3 多處理器調(diào)度
8.5 本章小結(jié)
習(xí)題8
參考文獻(xiàn)