《計算機作業系統教程(第4版)》是由張堯學、宋虹、張高編著,2013年清華大學出版社出版的普通高等教育“十一五”國家級規劃教材、清華大學計算機系列教材。該教材可作為高等院校計算機專業或相關專業作業系統課程的教材,也可供有關科技人員自學或參考。
全書共12章,主要內容包括作業系統用戶界面、進程與執行緒管理、處理機管理、記憶體管理、檔案系統與設備管理等基本原理及Linux和Windows兩個主流作業系統的核心介紹。
基本介紹
- 書名:計算機作業系統教程(第4版)
- 作者:張堯學、宋虹、張高
- 類別:普通高等教育“十一五”國家級規劃教材
- 出版社:清華大學出版社
- 出版時間:2013年10月1日
- 頁數:299 頁
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302336686
- 字數:490千字
- CIP核字號:2013206342
成書過程
修訂過程
出版工作
責任編輯 | 封面設計 | 責任校對 | 責任印製 |
---|---|---|---|
白立軍、戰曉雷 | 常雪影 | 梁毅 | 何芊 |
內容簡介
教材目錄
第1章緒論1 1.1作業系統概念1 1.2作業系統的歷史2 1.2.1手工操作階段2 1.2.2早期批處理3 1.2.3多道程式系統5 1.2.4分時作業系統6 1.2.5實時作業系統6 1.2.6通用作業系統7 1.2.7作業系統的進一步發展7 1.3作業系統的基本類型8 1.3.1批處理作業系統8 1.3.2分時系統9 1.3.3實時系統9 1.3.4通用作業系統10 1.3.5個人計算機上的作業系統10 1.3.6網路作業系統10 1.3.7分散式作業系統11 1.4作業系統功能11 1.4.1處理機管理12 1.4.2存儲管理12 1.4.3設備管理12 1.4.4信息管理(檔案系統管理)12 1.4.5用戶接口13 1.5計算機硬體簡介13 1.5.1計算機的基本硬體元素13 1.5.2與作業系統相關的幾種主要暫存器14 1.5.3存儲器的訪問速度15 1.5.4指令的執行與中斷15 1.5.5作業系統的啟動16 1.6算法的描述16 1.7研究作業系統的幾種觀點17 1.7.1計算機資源管理者的觀點18 1.7.2用戶界面的觀點18 1.7.3進程管理的觀點18 本章小結18 習題19 第2章作業系統用戶界面20 2.1簡介20 2.2一般用戶的輸入輸出界面21 2.2.1作業的定義21 2.2.2作業組織21 2.2.3一般用戶的輸入輸出方式22 2.3命令控制界面24 2.4Linux與Windows的命令控制界面25 2.4.1Linux的命令控制界面25 2.4.2Windows的命令控制界面27 2.5系統調用29 2.6Linux和Windows的系統調用31 2.6.1Linux系統調用31 2.6.2Windows系統調用32 本章小結33 習題34 第3章進程管理35 3.1進程的概念35 3.1.1程式的並發執行35 3.1.2進程的定義39 3.2進程的描述39 3.2.1進程控制塊40 3.2.2進程上下文41 3.2.3進程上下文切換43 3.2.4進程空間與大小43 3.3進程狀態及其轉換44 3.3.1進程狀態44 3.3.2進程狀態轉換44 3.4進程控制45 3.4.1進程創建與撤銷45 3.4.2進程的阻塞與喚醒47 3.5進程互斥47 3.5.1資源共享所引起的制約47 3.5.2互斥的加鎖實現50 3.5.3信號量和P、V原語51 3.5.4用P、V原語實現進程互斥54 3.6進程同步55 3.6.1同步的概念55 3.6.2私用信號量56 3.6.3用P、V原語操作實現同步57 3.6.4生產者消費者問題58 3.7進程通信59 3.7.1進程的通信方式59 3.7.2訊息緩衝機制60 3.7.3信箱通信61 3.7.4進程通信的實例——和控制台的通信62 3.7.5進程通信的實例——管道66 3.8死鎖問題69 3.8.1死鎖的概念69 3.8.2死鎖的消除方法70 3.9執行緒的概念71 3.9.1為什麼要引入執行緒71 3.9.2執行緒的基本概念72 3.9.3執行緒與進程的區別72 3.9.4執行緒的適用範圍73 3.10執行緒分類與執行74 3.10.1執行緒的分類74 3.10.2執行緒的執行特性76 本章小結77 習題77 第4章處理機調度79 4.1分級調度79 4.1.1作業的狀態及其轉換79 4.1.2調度的層次80 4.1.3作業與進程的關係81 4.2作業調度81 4.2.1作業調度功能81 4.2.2作業調度目標與性能衡量82 4.3進程調度84 4.3.1進程調度的功能84 4.3.2進程調度的時機85 4.3.3進程調度性能評價86 4.4調度算法86 4.5算法評價90 4.5.1FCFS方式的調度性能分析90 4.5.2輪轉法調度性能評價93 4.5.3線性優先權法的調度性能94 4.6實時系統調度方法95 4.6.1實時系統的特點95 4.6.2實時調度算法的分類97 4.6.3時限調度算法與頻率單調調度算法97 本章小結99 習題99 第5章存儲管理101 5.1存儲管理的功能101 5.1.1虛擬存儲器101 5.1.2地址變換102 5.1.3內外存數據傳輸的控制104 5.1.4記憶體的分配與回收104 5.1.5記憶體信息的共享與保護105 5.2分區存儲管理106 5.2.1分區管理基本原理106 5.2.2分區的分配與回收108 5.2.3有關分區管理其他問題的討論111 5.3覆蓋與交換技術112 5.3.1覆蓋技術112 5.3.2交換技術113 5.4頁式管理115 5.4.1頁式管理的基本原理115 5.4.2靜態頁面管理115 5.4.3動態頁式管理118 5.4.4請求頁式管理中的置換算法120 5.4.5存儲保護123 5.4.6頁式管理的優缺點123 5.5段式與段頁式管理124 5.5.1段式管理的基本思想124 5.5.2段式管理的實現原理124 5.5.3段式管理的優缺點128 5.5.4段頁式管理的基本思想129 5.5.5段頁式管理的實現原理129 5.6局部性原理和抖動問題131 本章小結134 習題134 第6章進程與存儲管理示例136 6.1Linux進程和存儲管理簡介136 6.2Linux進程結構139 6.2.1進程的概念139 6.2.2進程的虛擬地址結構140 6.2.3進程上下文141 6.2.4進程的狀態和狀態轉換143 6.2.5小結145 6.3Linux進程控制145 6.3.1Linux啟動及進程樹的形成145 | 6.3.2進程控制146 6.4Linux進程調度149 6.5Linux進程通信152 6.5.1Linux的低級通信152 6.5.2進程間通信153 6.6Linux存儲管理161 6.6.1虛存空間和管理161 6.6.2請求調頁技術163 本章小結165 習題166 第7章Windows的進程與記憶體管理167 7.1WindowsNT的特點及相關的概念167 7.1.1WindowsNT體系結構的特點167 7.1.2Windows的管理機制168 7.2Windows進程和執行緒169 7.2.1Windows的進程和執行緒的定義170 7.2.2進程和執行緒的關聯170 7.2.3Windows進程的結構170 7.2.4Windows執行緒的結構171 7.2.5Windows進程和執行緒的創建172 7.3Windows處理器調度機制173 7.3.1調度優先權174 7.3.2執行緒狀態174 7.3.3執行緒調度機制175 7.4Windows的記憶體管理176 7.4.1記憶體管理器177 7.4.2記憶體管理的機制177 7.5虛擬地址空間178 7.5.1虛擬地址空間布局178 7.5.2虛擬地址轉換179 7.6頁面調度181 7.6.1缺頁處理181 7.6.2工作集及頁面調度策略182 7.6.3頁框號和物理記憶體管理182 本章小結183 習題184 第8章檔案系統185 8.1檔案系統的概念185 8.2檔案的邏輯結構與存取方法187 8.2.1邏輯結構187 8.2.2存取方法189 8.3檔案的物理結構與存儲設備191 8.3.1檔案的物理結構192 8.3.2檔案存儲設備194 8.4檔案存儲空間管理195 8.5檔案目錄管理197 8.5.1檔案的組成198 8.5.2檔案目錄198 8.5.3便於共享的檔案目錄200 8.5.4目錄管理201 8.6檔案存取控制203 8.7檔案的使用205 8.8檔案系統的層次模型205 本章小結207 習題208 第9章設備管理210 9.1引言210 9.1.1設備的類別210 9.1.2設備管理的功能和任務211 9.2數據傳送控制方式212 9.2.1程式直接控制方式212 9.2.2中斷方式213 9.2.3DMA方式215 9.2.4通道控制方式217 9.3中斷技術219 9.3.1中斷的基本概念219 9.3.2中斷的分類與優先權219 9.3.3軟中斷220 9.3.4中斷處理過程220 9.4緩衝技術222 9.4.1緩衝的引入222 9.4.2緩衝的種類222 9.4.3緩衝池的管理223 9.5設備分配225 9.5.1設備分配用數據結構225 9.5.2設備分配的原則227 9.5.3設備分配算法228 9.6I/O進程控制228 9.6.1I/O控制的引入228 9.6.2I/O控制的功能228 9.6.3I/O控制的實現229 9.7設備驅動程式230 本章小結230 習題231 第10章Linux檔案系統233 10.1Linux檔案系統的特點與檔案類別233 10.1.1特點233 10.1.2檔案類型234 10.2Linux的虛擬檔案系統235 10.2.1虛擬檔案系統框架235 10.2.2Linux虛擬檔案系統的數據結構235 10.2.3VFS的系統調用241 10.3檔案系統的註冊和掛裝242 10.3.1檔案系統註冊242 10.3.2已掛裝檔案系統描述符鍊表243 10.3.3掛裝根檔案系統244 10.3.4掛裝一般檔案系統245 10.3.5卸載檔案系統246 10.4進程與檔案系統的聯繫246 10.4.1系統打開檔案表246 10.4.2用戶打開檔案表246 10.4.3進程的當前目錄和根目錄247 10.5ext2檔案系統247 10.5.1ext2檔案系統的存儲結構247 10.5.2ext2檔案系統主要的磁碟數據結構248 10.5.3ext2檔案系統的記憶體數據結構251 10.5.4數據塊定址252 10.6塊設備驅動253 10.6.1設備配置253 10.6.2設備驅動程式的接口254 10.7字元設備驅動255 本章小結256 習題257 第11章Windows的設備管理和檔案系統258 11.1WindowsI/O系統的結構258 11.1.1設計目標258 11.1.2設備管理服務258 11.2設備驅動程式和I/O處理259 11.2.1設備驅動類型和結構260 11.2.2Windows的I/O處理260 11.3Windows的檔案系統262 11.3.1Windows磁碟管理263 11.3.2Windows檔案系統格式263 11.3.3Windows檔案系統驅動264 11.4NTFS檔案系統264 11.4.1NTFS的特點264 11.4.2NTFS的磁碟結構265 11.4.3NTFS的檔案系統恢復266 本章小結267 習題268 第12章嵌入式作業系統簡介269 12.1嵌入式作業系統的總體架構269 12.1.1嵌入式作業系統特點及分類269 12.1.2嵌入式作業系統的總體架構270 12.2嵌入式作業系統的任務管理273 12.2.1多任務機制273 12.2.2任務狀態和任務狀態遷移274 12.2.3任務調度275 12.2.4任務間通信276 12.2.5VxWorks任務管理278 12.3記憶體管理281 12.3.1動態記憶體管理機制282 12.3.2VxWorks動態記憶體管理函式282 12.3.3虛擬記憶體管理機制283 12.3.4VxWorks虛擬記憶體管理284 12.4設備管理與檔案系統285 12.4.1I/O系統內部結構285 12.4.2實時核心的中斷管理286 12.4.3基本I/O操作流程287 12.4.4VxWorks的I/O接口287 12.4.5檔案系統架構及操作288 12.4.6VxWorks檔案系統289 12.5嵌入式作業系統的開發290 12.5.1集成開發環境Tornado291 12.5.2VxWorks的交叉編譯開發環境294 12.5.3實例開發的設計與實現過程296 本章小結297 習題298 參考文獻299 |
教學資源
書名 | 書號 | 出版社 | 出版時間 | 作者 |
---|---|---|---|---|
《計算機作業系統教程(第4版)習題解答與實驗指導》 | 9787302336754 | 清華大學出版社 | 2013.11.01 | 張堯學 |