操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)最基本的系統(tǒng)軟件之一,是用戶開(kāi)發(fā)和使用應(yīng)用軟件不可缺少的支撐環(huán)境。隨著計(jì)算機(jī)系統(tǒng)軟硬件規(guī)模的日益擴(kuò)大和性能的不斷提高,用戶與操作系統(tǒng)的聯(lián)系愈加密切,操作系統(tǒng)課程是計(jì)算機(jī)類專業(yè)的必修課程。
本書(shū)改變了傳統(tǒng)教材的框架,把操作系統(tǒng)的基本原理與設(shè)計(jì)實(shí)現(xiàn)方法有機(jī)地結(jié)合起來(lái),以原理指導(dǎo)設(shè)計(jì),又從設(shè)計(jì)中加深對(duì)原理的理解。在介紹操作系統(tǒng)基本設(shè)計(jì)原理的同時(shí),與UNIX、Linux、Windows 以及鴻蒙操作系統(tǒng)等主流的操作系統(tǒng)的實(shí)現(xiàn)技術(shù)和特點(diǎn)相結(jié)合,有利于學(xué)生對(duì)這些常用操作系統(tǒng)的理解和實(shí)際設(shè)計(jì)能力的培養(yǎng)。
本書(shū)主要內(nèi)容
全書(shū)共10章,內(nèi)容覆蓋了學(xué)習(xí)操作系統(tǒng)課程應(yīng)掌握的基本概念、基本原理、主要技術(shù)和實(shí)現(xiàn)方法。
第1章主要介紹操作系統(tǒng)的基本概念,發(fā)展史以及現(xiàn)代操作系統(tǒng)概況。
第2章主要介紹進(jìn)程和線程模型及管理實(shí)例。
第3章主要介紹互斥與同步的基本概念、進(jìn)程互斥和同步的算法設(shè)計(jì)、進(jìn)程通信、死鎖及進(jìn)程同步與通信實(shí)例。
第4章介紹處理器調(diào)度類型、單/多處理器調(diào)度、實(shí)時(shí)調(diào)度,以及處理器調(diào)度實(shí)例與新進(jìn)展。
第5章主要介紹幾種常用的內(nèi)存管理方法,包括分區(qū)管理、頁(yè)式存儲(chǔ)、段式存儲(chǔ)、段頁(yè)式存儲(chǔ)、內(nèi)存管理實(shí)例和虛擬存儲(chǔ)管理等原理和設(shè)計(jì)實(shí)現(xiàn)方法。
第6章介紹文件的概念、文件目錄、文件系統(tǒng)的空間管理、文件系統(tǒng)的可靠性、虛擬文件系統(tǒng)、文件系統(tǒng)的類型和文件系統(tǒng)實(shí)例。
第7章介紹輸入/輸出控制方式、輸入/輸出緩沖、設(shè)備驅(qū)動(dòng)程序、設(shè)備分配、磁盤(pán)調(diào)度、時(shí)鐘管理和電源管理及輸入/輸出管理實(shí)例。
第8章介紹計(jì)算機(jī)安全評(píng)估與標(biāo)準(zhǔn)、安全機(jī)制、安全模型、安全體系結(jié)構(gòu)和相關(guān)實(shí)例。
第9章介紹鴻蒙操作系統(tǒng),包括系統(tǒng)架構(gòu)、內(nèi)核子系統(tǒng)、驅(qū)動(dòng)子系統(tǒng)、啟動(dòng)流程,以及開(kāi)發(fā)實(shí)踐等。
第10章介紹操作系統(tǒng)設(shè)計(jì)問(wèn)題,包括操作系統(tǒng)設(shè)計(jì)目標(biāo)、界面設(shè)計(jì)、操作系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)、性能優(yōu)化、項(xiàng)目管理等。
本書(shū)特色
(1) 問(wèn)題驅(qū)動(dòng),由淺入深。
本書(shū)通過(guò)分析問(wèn)題,由淺入深、逐步地對(duì)操作系統(tǒng)的重要概念和知識(shí)點(diǎn)進(jìn)行講解與探究,引導(dǎo)讀者更好地掌握操作系統(tǒng)的設(shè)計(jì)方法和實(shí)現(xiàn)原理。
(2) 突出重點(diǎn),強(qiáng)化理解。
本書(shū)結(jié)合作者多年的教學(xué)經(jīng)驗(yàn),針對(duì)應(yīng)用型本科的教學(xué)要求和學(xué)生特點(diǎn),突出重點(diǎn)、深入分析,同時(shí)在內(nèi)容方面全面兼顧知識(shí)的系統(tǒng)化要求。
(3) 注重理論,聯(lián)系實(shí)際。
本書(shū)通過(guò)分析UNIX、Linux、Windows以及鴻蒙操作系統(tǒng)的實(shí)例,將理論與實(shí)際相結(jié)合,展示了不同操作系統(tǒng)的特點(diǎn),幫助讀者深入理解操作系統(tǒng)的設(shè)計(jì)思想。
(4) 國(guó)產(chǎn)系統(tǒng),自主可控。
本書(shū)特別介紹了國(guó)產(chǎn)操作系統(tǒng)OpenHarmony的最新技術(shù),包括OpenHarmony的設(shè)計(jì)理念和開(kāi)發(fā)方法,為讀者展示了國(guó)產(chǎn)操作系統(tǒng)的創(chuàng)新成果和前沿技術(shù)趨勢(shì)。
配套資源
為便于教與學(xué),本書(shū)配有源代碼、微課視頻、教學(xué)課件、教學(xué)大綱、教學(xué)日歷、習(xí)題題庫(kù)。
(1) 觀看微課視頻方法: 先刮開(kāi)并用手機(jī)版微信App掃描本書(shū)封底的文泉云盤(pán)防盜碼,授權(quán)后再掃描書(shū)中的二維碼,觀看教學(xué)視頻。
(2) 其他配套資源可以掃描本書(shū)封底的圖書(shū)資源二維碼,關(guān)注后回復(fù)本書(shū)書(shū)號(hào),即可下載。
源代碼
全書(shū)網(wǎng)址
讀者對(duì)象
本書(shū)可作為全國(guó)高等學(xué)校計(jì)算機(jī)類專業(yè)本科生的教材,也可供從事操作系統(tǒng)設(shè)計(jì)和維護(hù)的科技人員閱讀參考。
本書(shū)由高校和企業(yè)合作編寫(xiě),各章均穿插介紹流行的操作系統(tǒng)相關(guān)設(shè)計(jì)與實(shí)現(xiàn)方法,同時(shí)章前均有本章知識(shí)要點(diǎn)、預(yù)習(xí)準(zhǔn)備、興趣實(shí)踐和探索思考提示,章后有小結(jié)、習(xí)題等,便于學(xué)生探索學(xué)習(xí)和教師的融會(huì)貫通與按需授課。
參加編寫(xiě)的人員及分工: 第1、4、7章由毛啟容編寫(xiě),第2、3章由牛德姣編寫(xiě),第5、10章由賈洪杰編寫(xiě),第6、8章由蔡濤編寫(xiě),第9章由劉太俊和夏德旺編寫(xiě)。全書(shū)由毛啟容統(tǒng)一規(guī)劃與統(tǒng)稿。
由于書(shū)中所涉及的操作系統(tǒng)(UNIX、 Linux、Windows和鴻蒙操作系統(tǒng))是作為應(yīng)用實(shí)例來(lái)介紹的,所以這些部分難免不成體系。需要系統(tǒng)學(xué)習(xí)這些操作系統(tǒng)的實(shí)現(xiàn)及使用方法的讀者,可以進(jìn)一步參閱有關(guān)資料。另外,操作系統(tǒng)的發(fā)展日新月異,加之編者水平有限,書(shū)中疏漏之處在所難免,敬請(qǐng)讀者批評(píng)指正。
作者
2025年3月
 
第1章操作系統(tǒng)概述
1.1操作系統(tǒng)的定義
1.1.1基本概念
1.1.2一個(gè)計(jì)算機(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實(shí)時(shí)操作系統(tǒng)
1.3.4分時(shí)操作系統(tǒng)
1.3.5網(wǎng)絡(luò)操作系統(tǒng)
1.3.6分布式操作系統(tǒng)
1.3.7嵌入式操作系統(tǒng)
1.4操作系統(tǒng)的運(yùn)行環(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)程的實(shí)體
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線程的實(shí)現(xiàn)
2.3.4線程調(diào)度激發(fā)
2.4進(jìn)程、線程管理實(shí)例
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互斥的軟件實(shí)現(xiàn)方法
3.1.4信號(hào)量和P、V操作
3.2進(jìn)程同步
3.2.1進(jìn)程同步概念
3.2.2用P、V操作實(shí)現(xiàn)同步
3.2.3經(jīng)典問(wèn)題
3.3進(jìn)程通信
3.3.1進(jìn)程通信的類型
3.3.2進(jìn)程通信中的問(wèn)題
3.3.3消息傳遞
3.4死鎖
3.4.1死鎖的概念
3.4.2死鎖的必要條件
3.4.3死鎖的防止
3.4.4死鎖的避免
3.4.5死鎖檢測(cè)與恢復(fù)
3.4.6兩階段加鎖
3.4.7活鎖
3.4.8饑餓
3.5多核環(huán)境下的進(jìn)程同步
3.6進(jìn)程同步與通信實(shí)例
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長(zhǎng)程調(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)度考慮的問(wèn)題
4.3.2多處理器的進(jìn)程調(diào)度
4.3.3多處理器的線程調(diào)度
4.4實(shí)時(shí)調(diào)度
4.4.1實(shí)時(shí)調(diào)度的特點(diǎn)
4.4.2常用的實(shí)時(shí)調(diào)度算法
4.5處理器調(diào)度實(shí)例
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ì)算機(jī)系統(tǒng)的多級(jí)存儲(chǔ)結(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動(dòng)態(tài)分區(qū)的基本概念
5.3.2動(dòng)態(tài)分區(qū)的分配與回收
5.3.3分區(qū)管理的其他問(wèn)題
5.4頁(yè)式存儲(chǔ)管理
5.4.1概述
5.4.2靜態(tài)分頁(yè)管理
5.4.3虛擬頁(yè)式存儲(chǔ)管理
5.4.4分頁(yè)存儲(chǔ)管理的優(yōu)缺點(diǎn)
5.5段式及段頁(yè)式存儲(chǔ)管理
5.5.1段式存儲(chǔ)管理
5.5.2段式虛擬存儲(chǔ)管理
5.5.3段頁(yè)式虛擬存儲(chǔ)管理
5.6內(nèi)存管理實(shí)例
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è)計(jì)與實(shí)現(xiàn)問(wèn)題
5.7.1內(nèi)存管理設(shè)計(jì)問(wèn)題
5.7.2內(nèi)存管理實(shí)現(xiàn)問(wèn)題
小結(jié)
習(xí)題
第6章文件管理
6.1文件
6.1.1文件名
6.1.2文件的類型
6.1.3文件屬性
6.1.4文件的操作
6.1.5文件數(shù)據(jù)的訪問(wèn)方法
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存儲(chǔ)空間的組織
6.3.3文件空間的分配
6.3.4讀寫(xiě)性能優(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)實(shí)例
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直接存儲(chǔ)器存取方式
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ū)動(dòng)程序
7.5設(shè)備分配
7.5.1設(shè)備分配原則與分配方式
7.5.2設(shè)備分配時(shí)應(yīng)考慮的因素
7.5.3設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)
7.5.4輸入/輸出設(shè)備分配的基本流程
7.5.5SPOOLing技術(shù)
7.6磁盤(pán)存儲(chǔ)器的管理
7.6.1磁盤(pán)性能參數(shù)
7.6.2磁盤(pán)調(diào)度
7.7時(shí)鐘管理和電源管理
7.7.1時(shí)鐘管理
7.7.2電源管理
7.8輸入/輸出管理實(shí)例
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ì)算機(jī)系統(tǒng)安全
8.1.2操作系統(tǒng)安全性
8.1.3相關(guān)概念
8.2安全評(píng)估與標(biāo)準(zhǔn)
8.2.1可信計(jì)算機(jī)系統(tǒng)評(píng)價(jià)標(biāo)準(zhǔn)
8.2.2GB 178591999
8.2.3信息技術(shù)安全評(píng)定標(biāo)準(zhǔn)
8.3安全機(jī)制
8.3.1標(biāo)識(shí)與鑒別機(jī)制
8.3.2訪問(wèn)控制
8.3.3可信通路
8.3.4安全審計(jì)機(jī)制
8.3.5存儲(chǔ)保護(hù)、運(yùn)行保護(hù)和I/O保護(hù)
8.3.6加密技術(shù)
8.3.7惡意代碼
8.3.8備份與容錯(cuò)
8.3.9隱通道分析與處理
8.4安全模型
8.4.1BellLaPadula模型
8.4.2Biba模型
8.4.3ClarkWilson模型
8.4.4中國(guó)墻模型
8.4.5基于角色的訪問(wèn)控制模型
8.5安全體系結(jié)構(gòu)
8.6相關(guān)實(shí)例
8.6.1SELinux系統(tǒng)
8.6.2EROS系統(tǒng)
小結(jié)
習(xí)題
第9章OpenHarmony系統(tǒng)
9.1OpenHarmony簡(jiǎn)介
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開(kāi)發(fā)實(shí)踐
9.3.1安裝適用于Linux的Windows子系統(tǒng)
9.3.2安裝庫(kù)和工具集
9.3.3下載OpenHarmony源碼
9.3.4編譯源碼
9.3.5燒錄鏡像
9.3.6編程實(shí)例
小結(jié)
習(xí)題
第10章操作系統(tǒng)設(shè)計(jì)問(wèn)題
10.1操作系統(tǒng)設(shè)計(jì)目標(biāo)
10.2界面設(shè)計(jì)
10.3操作系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
10.4性能優(yōu)化
10.5項(xiàng)目管理
小結(jié)
習(xí)題
參考文獻(xiàn)