本書系統(tǒng)地介紹了操作系統(tǒng)的基本概念、原理和方法。全書共10章,第1~8章內(nèi)容包括操作系統(tǒng)概述、進(jìn)程與線程、互斥與同步、處理器調(diào)度、內(nèi)存管理、文件管理、輸入/輸出管理、操作系統(tǒng)安全等。在操作系統(tǒng)各部分基本原理和方法介紹后,均以當(dāng)代最流行的操作系統(tǒng)(UNIX、Linux、Windows,以及鴻蒙操作系統(tǒng))為例,介紹先進(jìn)操作系統(tǒng)的設(shè)計實現(xiàn)原理和特點。第9章詳細(xì)介紹鴻蒙操作系統(tǒng),包括系統(tǒng)架構(gòu)、內(nèi)核子系統(tǒng)、驅(qū)動子系統(tǒng)、啟動流程,以及開發(fā)實踐等。第10章介紹了操作系統(tǒng)設(shè)計所要考慮的各種問題。
本書根據(jù)操作系統(tǒng)課程教學(xué)特點,從整體到局部,分層分類介紹操作系統(tǒng)的基本概念、基本原理和實現(xiàn)方法,做到層次分明,通俗易懂; 引入先進(jìn)的操作系統(tǒng)相關(guān)技術(shù)實例介紹,力求將理論與實踐相結(jié)合,反映操作系統(tǒng)的新進(jìn)展; 以問題導(dǎo)向的設(shè)計方法介紹有助于讀者對操作系統(tǒng)復(fù)雜工程問題解決方案的理解。更重要的是,本書在操作系統(tǒng)各部分均介紹了鴻蒙操作系統(tǒng)的實現(xiàn)實例,并利用單獨的一章專門介紹鴻蒙操作系統(tǒng)。
本書可作為高等學(xué)校計算機(jī)類專業(yè)本科生的教材,也可供從事操作系統(tǒng)設(shè)計和維護(hù)的科技人員閱讀參考。
(1)問題驅(qū)動,由淺入深。
本書通過分析問題,由淺入深、逐步地對操作系統(tǒng)的重要概念和知識點進(jìn)行講解與探究,
引導(dǎo)讀者更好地掌握操作系統(tǒng)的設(shè)計方法和實現(xiàn)原理。
(2)突出重點,強(qiáng)化理解。
本書結(jié)合作者多年的教學(xué)經(jīng)驗,針對應(yīng)用型本科的教學(xué)要求和學(xué)生特點,突出重點、深入分析,同時在內(nèi)容方面全面兼顧知識的系統(tǒng)化要求。
(3)注重理論,聯(lián)系實際。
本書通過分析UNIX、Linux、Windows以及鴻蒙操作系統(tǒng)的實例,將理論與實際相結(jié)合,
展示了不同操作系統(tǒng)的特點,幫助讀者深入理解操作系統(tǒng)的設(shè)計思想。
(4)國產(chǎn)系統(tǒng),自主可控。
本書特別介紹了國產(chǎn)操作系統(tǒng)OpenHarmony的最新技術(shù),包括OpenHarmony的設(shè)計
理念和開發(fā)方法,為讀者展示了國產(chǎn)操作系統(tǒng)的創(chuàng)新成果和前沿技術(shù)趨勢。
操作系統(tǒng)是計算機(jī)系統(tǒng)最基本的系統(tǒng)軟件之一,是用戶開發(fā)和使用應(yīng)用軟件不可缺少的支撐環(huán)境。隨著計算機(jī)系統(tǒng)軟硬件規(guī)模的日益擴(kuò)大和性能的不斷提高,用戶與操作系統(tǒng)的聯(lián)系愈加密切,操作系統(tǒng)課程是計算機(jī)類專業(yè)的必修課程。
本書改變了傳統(tǒng)教材的框架,把操作系統(tǒng)的基本原理與設(shè)計實現(xiàn)方法有機(jī)地結(jié)合起來,以原理指導(dǎo)設(shè)計,又從設(shè)計中加深對原理的理解。在介紹操作系統(tǒng)基本設(shè)計原理的同時,與UNIX、Linux、Windows 以及鴻蒙操作系統(tǒng)等主流的操作系統(tǒng)的實現(xiàn)技術(shù)和特點相結(jié)合,有利于學(xué)生對這些常用操作系統(tǒng)的理解和實際設(shè)計能力的培養(yǎng)。
本書主要內(nèi)容
全書共10章,內(nèi)容覆蓋了學(xué)習(xí)操作系統(tǒng)課程應(yīng)掌握的基本概念、基本原理、主要技術(shù)和實現(xiàn)方法。
第1章主要介紹操作系統(tǒng)的基本概念,發(fā)展史以及現(xiàn)代操作系統(tǒng)概況。
第2章主要介紹進(jìn)程和線程模型及管理實例。
第3章主要介紹互斥與同步的基本概念、進(jìn)程互斥和同步的算法設(shè)計、進(jìn)程通信、死鎖及進(jìn)程同步與通信實例。
第4章介紹處理器調(diào)度類型、單/多處理器調(diào)度、實時調(diào)度,以及處理器調(diào)度實例與新進(jìn)展。
第5章主要介紹幾種常用的內(nèi)存管理方法,包括分區(qū)管理、頁式存儲、段式存儲、段頁式存儲、內(nèi)存管理實例和虛擬存儲管理等原理和設(shè)計實現(xiàn)方法。
第6章介紹文件的概念、文件目錄、文件系統(tǒng)的空間管理、文件系統(tǒng)的可靠性、虛擬文件系統(tǒng)、文件系統(tǒng)的類型和文件系統(tǒng)實例。
第7章介紹輸入/輸出控制方式、輸入/輸出緩沖、設(shè)備驅(qū)動程序、設(shè)備分配、磁盤調(diào)度、時鐘管理和電源管理及輸入/輸出管理實例。
第8章介紹計算機(jī)安全評估與標(biāo)準(zhǔn)、安全機(jī)制、安全模型、安全體系結(jié)構(gòu)和相關(guān)實例。
第9章介紹鴻蒙操作系統(tǒng),包括系統(tǒng)架構(gòu)、內(nèi)核子系統(tǒng)、驅(qū)動子系統(tǒng)、啟動流程,以及開發(fā)實踐等。
第10章介紹操作系統(tǒng)設(shè)計問題,包括操作系統(tǒng)設(shè)計目標(biāo)、界面設(shè)計、操作系統(tǒng)設(shè)計實現(xiàn)、性能優(yōu)化、項目管理等。
本書特色
(1) 問題驅(qū)動,由淺入深。
本書通過分析問題,由淺入深、逐步地對操作系統(tǒng)的重要概念和知識點進(jìn)行講解與探究,引導(dǎo)讀者更好地掌握操作系統(tǒng)的設(shè)計方法和實現(xiàn)原理。
(2) 突出重點,強(qiáng)化理解。
本書結(jié)合作者多年的教學(xué)經(jīng)驗,針對應(yīng)用型本科的教學(xué)要求和學(xué)生特點,突出重點、深入分析,同時在內(nèi)容方面全面兼顧知識的系統(tǒng)化要求。
(3) 注重理論,聯(lián)系實際。
本書通過分析UNIX、Linux、Windows以及鴻蒙操作系統(tǒng)的實例,將理論與實際相結(jié)合,展示了不同操作系統(tǒng)的特點,幫助讀者深入理解操作系統(tǒng)的設(shè)計思想。
(4) 國產(chǎn)系統(tǒng),自主可控。
本書特別介紹了國產(chǎn)操作系統(tǒng)OpenHarmony的最新技術(shù),包括OpenHarmony的設(shè)計理念和開發(fā)方法,為讀者展示了國產(chǎn)操作系統(tǒng)的創(chuàng)新成果和前沿技術(shù)趨勢。
配套資源
為便于教與學(xué),本書配有源代碼、微課視頻、教學(xué)課件、教學(xué)大綱、教學(xué)日歷、習(xí)題題庫。
(1) 觀看微課視頻方法: 先刮開并用手機(jī)版微信App掃描本書封底的文泉云盤防盜碼,授權(quán)后再掃描書中的二維碼,觀看教學(xué)視頻。
(2) 其他配套資源可以掃描本書封底的圖書資源二維碼,關(guān)注后回復(fù)本書書號,即可下載。
源代碼
全書網(wǎng)址
讀者對象
本書可作為全國高等學(xué)校計算機(jī)類專業(yè)本科生的教材,也可供從事操作系統(tǒng)設(shè)計和維護(hù)的科技人員閱讀參考。
本書由高校和企業(yè)合作編寫,各章均穿插介紹流行的操作系統(tǒng)相關(guān)設(shè)計與實現(xiàn)方法,同時章前均有本章知識要點、預(yù)習(xí)準(zhǔn)備、興趣實踐和探索思考提示,章后有小結(jié)、習(xí)題等,便于學(xué)生探索學(xué)習(xí)和教師的融會貫通與按需授課。
參加編寫的人員及分工: 第1、4、7章由毛啟容編寫,第2、3章由牛德姣編寫,第5、10章由賈洪杰編寫,第6、8章由蔡濤編寫,第9章由劉太俊和夏德旺編寫。全書由毛啟容統(tǒng)一規(guī)劃與統(tǒng)稿。
由于書中所涉及的操作系統(tǒng)(UNIX、 Linux、Windows和鴻蒙操作系統(tǒng))是作為應(yīng)用實例來介紹的,所以這些部分難免不成體系。需要系統(tǒng)學(xué)習(xí)這些操作系統(tǒng)的實現(xiàn)及使用方法的讀者,可以進(jìn)一步參閱有關(guān)資料。另外,操作系統(tǒng)的發(fā)展日新月異,加之編者水平有限,書中疏漏之處在所難免,敬請讀者批評指正。
作者
2025年3月
第1章操作系統(tǒng)概述
1.1操作系統(tǒng)的定義
1.1.1基本概念
1.1.2一個計算機(jī)系統(tǒng)的視圖
1.1.3操作系統(tǒng)的基本功能
1.2操作系統(tǒng)的形成和發(fā)展
1.3操作系統(tǒng)的分類
1.3.1單用戶操作系統(tǒng)
1.3.2批處理操作系統(tǒng)
1.3.3實時操作系統(tǒng)
1.3.4分時操作系統(tǒng)
1.3.5網(wǎng)絡(luò)操作系統(tǒng)
1.3.6分布式操作系統(tǒng)
1.3.7嵌入式操作系統(tǒng)
1.4操作系統(tǒng)的運行環(huán)境
1.4.1中央處理器
1.4.2特權(quán)指令
1.4.3處理器的狀態(tài)
1.4.4程序狀態(tài)字
1.5操作系統(tǒng)的結(jié)構(gòu)
1.6現(xiàn)代操作系統(tǒng)
1.6.1現(xiàn)代操作系統(tǒng)技術(shù)特性
1.6.2UNIX技術(shù)特性
1.6.3Linux技術(shù)特性
1.6.4Windows技術(shù)特性
1.6.5OpenHarmony技術(shù)特性
小 結(jié)
習(xí)題
第2章進(jìn)程與線程
2.1多道程序與并發(fā)執(zhí)行
2.1.1單道程序的順序執(zhí)行
2.1.2多道程序的并發(fā)執(zhí)行
2.2進(jìn)程模型
2.2.1進(jìn)程的概念
2.2.2進(jìn)程的實體
2.2.3進(jìn)程狀態(tài)和轉(zhuǎn)換
2.2.4進(jìn)程控制
2.3線程模型
2.3.1線程的概念
2.3.2線程與進(jìn)程的比較
2.3.3線程的實現(xiàn)
2.3.4線程調(diào)度激發(fā)
2.4進(jìn)程、線程管理實例
2.4.1UNIX進(jìn)程管理
2.4.2Linux進(jìn)程與線程管理
2.4.3Windows進(jìn)程與線程管理
2.4.4OpenHarmony進(jìn)程與線程管理
小結(jié)
習(xí)題
第3章互斥與同步
3.1進(jìn)程互斥
3.1.1并發(fā)原理
3.1.2臨界資源與臨界區(qū)
3.1.3互斥的軟件實現(xiàn)方法
3.1.4信號量和P、V操作
3.2進(jìn)程同步
3.2.1進(jìn)程同步概念
3.2.2用P、V操作實現(xiàn)同步
3.2.3經(jīng)典問題
3.3進(jìn)程通信
3.3.1進(jìn)程通信的類型
3.3.2進(jìn)程通信中的問題
3.3.3消息傳遞
3.4死鎖
3.4.1死鎖的概念
3.4.2死鎖的必要條件
3.4.3死鎖的防止
3.4.4死鎖的避免
3.4.5死鎖檢測與恢復(fù)
3.4.6兩階段加鎖
3.4.7活鎖
3.4.8饑餓
3.5多核環(huán)境下的進(jìn)程同步
3.6進(jìn)程同步與通信實例
3.6.1UNIX進(jìn)程同步與通信
3.6.2Linux進(jìn)程同步與通信
3.6.3Windows進(jìn)程同步與通信
3.6.4OpenHarmony進(jìn)程同步與通信
小結(jié)
習(xí)題
第4章處理器調(diào)度
4.1處理器調(diào)度類型
4.1.1長程調(diào)度
4.1.2中程調(diào)度
4.1.3短程調(diào)度
4.2單處理器調(diào)度算法
4.2.1處理器調(diào)度功能與標(biāo)準(zhǔn)
4.2.2常用的處理器調(diào)度算法
4.3多處理器調(diào)度
4.3.1多處理器調(diào)度考慮的問題
4.3.2多處理器的進(jìn)程調(diào)度
4.3.3多處理器的線程調(diào)度
4.4實時調(diào)度
4.4.1實時調(diào)度的特點
4.4.2常用的實時調(diào)度算法
4.5處理器調(diào)度實例
4.5.1UNIX處理器調(diào)度方法
4.5.2Linux處理器調(diào)度方法
4.5.3Windows處理器調(diào)度方法
4.5.4OpenHarmony處理器調(diào)度方法
4.6處理器調(diào)度新進(jìn)展
小 結(jié)
習(xí)題
第5章內(nèi)存管理
5.1內(nèi)存管理的功能
5.1.1計算機(jī)系統(tǒng)的多級存儲結(jié)構(gòu)
5.1.2內(nèi)存管理的任務(wù)和功能
5.2內(nèi)存分配的幾種形式與重定位
5.2.1內(nèi)存分配的幾種形式
5.2.2重定位
5.2.3覆蓋與交換
5.3分區(qū)內(nèi)存管理
5.3.1動態(tài)分區(qū)的基本概念
5.3.2動態(tài)分區(qū)的分配與回收
5.3.3分區(qū)管理的其他問題
5.4頁式存儲管理
5.4.1概述
5.4.2靜態(tài)分頁管理
5.4.3虛擬頁式存儲管理
5.4.4分頁存儲管理的優(yōu)缺點
5.5段式及段頁式存儲管理
5.5.1段式存儲管理
5.5.2段式虛擬存儲管理
5.5.3段頁式虛擬存儲管理
5.6內(nèi)存管理實例
5.6.1UNIX內(nèi)存管理
5.6.2Linux內(nèi)存管理
5.6.3Windows內(nèi)存管理
5.6.4OpenHarmony內(nèi)存管理
5.7內(nèi)存管理設(shè)計與實現(xiàn)問題
5.7.1內(nèi)存管理設(shè)計問題
5.7.2內(nèi)存管理實現(xiàn)問題
小結(jié)
習(xí)題
第6章文件管理
6.1文件
6.1.1文件名
6.1.2文件的類型
6.1.3文件屬性
6.1.4文件的操作
6.1.5文件數(shù)據(jù)的訪問方法
6.1.6文件數(shù)據(jù)的邏輯結(jié)構(gòu)
6.2目錄
6.2.1目錄與目錄操作
6.2.2目錄的類型
6.2.3文件的共享
6.3文件系統(tǒng)的空間管理
6.3.1文件系統(tǒng)的布局
6.3.2存儲空間的組織
6.3.3文件空間的分配
6.3.4讀寫性能優(yōu)化
6.4文件系統(tǒng)的可靠性
6.4.1文件系統(tǒng)的一致性
6.4.2基于日志的文件系統(tǒng)
6.5虛擬文件系統(tǒng)
6.6文件系統(tǒng)的類型
6.7文件系統(tǒng)實例
6.7.1Linux的文件系統(tǒng)
6.7.2OpenHarmony的文件系統(tǒng)
小結(jié)
習(xí)題
第7章輸入/輸出管理
7.1輸入/輸出管理概述
7.1.1輸入/輸出管理目標(biāo)與功能
7.1.2輸入/輸出系統(tǒng)組成
7.2輸入/輸出控制方式
7.2.1程序直接控制方式
7.2.2中斷控制方式
7.2.3直接存儲器存取方式
7.2.4通道控制方式
7.3輸入/輸出緩沖
7.3.1單緩沖
7.3.2雙緩沖
7.3.3循環(huán)緩沖
7.3.4緩沖池
7.3.5緩沖的作用
7.4設(shè)備驅(qū)動程序
7.5設(shè)備分配
7.5.1設(shè)備分配原則與分配方式
7.5.2設(shè)備分配時應(yīng)考慮的因素
7.5.3設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)
7.5.4輸入/輸出設(shè)備分配的基本流程
7.5.5SPOOLing技術(shù)
7.6磁盤存儲器的管理
7.6.1磁盤性能參數(shù)
7.6.2磁盤調(diào)度
7.7時鐘管理和電源管理
7.7.1時鐘管理
7.7.2電源管理
7.8輸入/輸出管理實例
7.8.1UNIX系統(tǒng)輸入/輸出管理
7.8.2Linux系統(tǒng)輸入/輸出管理
7.8.3Windows系統(tǒng)輸入/輸出管理
7.8.4OpenHarmony系統(tǒng)輸入/輸出管理
小結(jié)
習(xí)題
第8章操作系統(tǒng)安全
8.1概述
8.1.1信息系統(tǒng)與計算機(jī)系統(tǒng)安全
8.1.2操作系統(tǒng)安全性
8.1.3相關(guān)概念
8.2安全評估與標(biāo)準(zhǔn)
8.2.1可信計算機(jī)系統(tǒng)評價標(biāo)準(zhǔn)
8.2.2GB 178591999
8.2.3信息技術(shù)安全評定標(biāo)準(zhǔn)
8.3安全機(jī)制
8.3.1標(biāo)識與鑒別機(jī)制
8.3.2訪問控制
8.3.3可信通路
8.3.4安全審計機(jī)制
8.3.5存儲保護(hù)、運行保護(hù)和I/O保護(hù)
8.3.6加密技術(shù)
8.3.7惡意代碼
8.3.8備份與容錯
8.3.9隱通道分析與處理
8.4安全模型
8.4.1BellLaPadula模型
8.4.2Biba模型
8.4.3ClarkWilson模型
8.4.4中國墻模型
8.4.5基于角色的訪問控制模型
8.5安全體系結(jié)構(gòu)
8.6相關(guān)實例
8.6.1SELinux系統(tǒng)
8.6.2EROS系統(tǒng)
小結(jié)
習(xí)題
第9章OpenHarmony系統(tǒng)
9.1OpenHarmony簡介
9.1.1技術(shù)特性
9.1.2系統(tǒng)類型劃分
9.1.3多內(nèi)核
9.2OpenHarmony的架構(gòu)
9.2.1系統(tǒng)架構(gòu)概覽
9.2.2子系統(tǒng)與組件概述
9.3OpenHarmony開發(fā)實踐
9.3.1安裝適用于Linux的Windows子系統(tǒng)
9.3.2安裝庫和工具集
9.3.3下載OpenHarmony源碼
9.3.4編譯源碼
9.3.5燒錄鏡像
9.3.6編程實例
小結(jié)
習(xí)題
第10章操作系統(tǒng)設(shè)計問題
10.1操作系統(tǒng)設(shè)計目標(biāo)
10.2界面設(shè)計
10.3操作系統(tǒng)設(shè)計實現(xiàn)
10.4性能優(yōu)化
10.5項目管理
小結(jié)
習(xí)題
參考文獻(xiàn)