本教材是操作系統(tǒng)原理的實驗配套教材,以CentOS 7.5為實驗平臺,根據(jù)操作系統(tǒng)的功能模塊設(shè)計了若干相關(guān)實驗,包括文件管理、進(jìn)程管理、存儲管理、設(shè)備管理等幾大功能模塊。全書共7章,第1章介紹了Linux的安裝;第2章介紹了Linux操作系統(tǒng)的基本使用;第3章介紹了文件管理;第4章介紹了進(jìn)程管理;第5章是存儲管理;第6章是設(shè)備管理;第7章是網(wǎng)絡(luò)基本配置及shell編程簡介。讀者可以通過這些實驗完成操作系統(tǒng)的主要功能實現(xiàn)原理的學(xué)習(xí)。本教材適合應(yīng)用型本科計算機(jī)類操作系統(tǒng)原理的教學(xué),也可作為有興趣學(xué)習(xí)Linux原理的參考書。
第1部分 概論與基本操作
第1章 安裝CentOS 7
1.1 實驗?zāi)康?
1.2 實驗環(huán)境
1.3 預(yù)備知識
1.3.1 虛擬機(jī)簡介
1.3.2 CentOS簡介
1.3.3 安裝CentOS基礎(chǔ)知識
1.4 實驗步驟
1.4.1 創(chuàng)建虛擬機(jī)
1.4.2 使用ISO文件安裝CentOS 7
1.5 思考與練習(xí)
第二部分 Linux操作基礎(chǔ)
第2章 Linux的啟動、登錄和關(guān)機(jī)
2.1 實驗?zāi)康?
2.2 實驗環(huán)境
2.3 預(yù)備知識
2.4 實驗步驟
2.4.1 啟動和登錄Linux
2.4.2 練習(xí)完成以下操作
2.4.3 注銷系統(tǒng)與關(guān)機(jī)
2.5 思考與練習(xí)
第3章 Linux的權(quán)限用戶(組)管理基本操作
3.1 實驗?zāi)康?
3.2 實驗環(huán)境
3.3 預(yù)備知識
3.3.1 與權(quán)限用戶(組)管理相關(guān)的文件
3.3.2 權(quán)限用戶管理命令
3.3.3 權(quán)限用戶組管理命令
3.3.4 密碼管理命令
3.4 實驗步驟
3.4.1 權(quán)限用戶創(chuàng)建和管理
3.4.2 練習(xí)完成以下操作
3.5 思考與練習(xí)
第4章 vi文本編輯器的使用
4.1 實驗?zāi)康?
4.2 實驗環(huán)境
4.3 預(yù)備知識
4.4 實驗步驟
4.5 思考與練習(xí)
第三部分 文 件 管 理
第5章 Linux文件(目錄)訪問權(quán)限
5.1 實驗?zāi)康?
5.2 實驗環(huán)境
5.3 預(yù)備知識
5.3.1 Linux文件系統(tǒng)
5.3.2 Linux文件屬性
5.3.3 常用文件操作命令
5.4 實驗步驟
5.4.1 查看和修改文件的權(quán)限
5.4.2 用戶和用戶組權(quán)限設(shè)置測試
5.5 思考與練習(xí)
第6章 Linux常用文件系統(tǒng)
6.1 實驗?zāi)康?
6.2 實驗環(huán)境
6.3 預(yù)備知識
6.3.1 硬盤參數(shù)
6.3.2 Linux常用文件系統(tǒng)
6.3.3 文件系統(tǒng)常用操作命令
6.3.4 xfs文件系統(tǒng)的信息
6.3.5 AG*塊信息
6.4 實驗步驟
6.4.1 使用命令ls查看文件屬性信息
6.4.2 使用命令df查看文件系統(tǒng)磁盤占用信息
6.4.3 查看xfs文件系統(tǒng)的描述數(shù)據(jù)
6.4.4 查看inode信息數(shù)據(jù)
6.5 思考與練習(xí)
第7章 Linux文件系統(tǒng)的管理
7.1 實驗?zāi)康?
7.2 實驗環(huán)境
7.3 預(yù)備知識
7.3.1 文件系統(tǒng)的創(chuàng)建
7.3.2 文件系統(tǒng)的注冊和注銷
7.3.3 文件系統(tǒng)的安裝與卸載
7.4 實驗步驟
7.4.1 查看文件系統(tǒng)的安裝情況
7.4.2 文件系統(tǒng)的創(chuàng)建及使用
7.4.3 文件系統(tǒng)的自動掛載
7.5 思考與練習(xí)
第四部分 進(jìn) 程 管 理
第8章 Linux*程查看及計劃任務(wù)
8.1 實驗?zāi)康?
8.2 實驗環(huán)境
8.3 預(yù)備知識
8.3.1 進(jìn)程管理和監(jiān)控常用命令
8.3.2 Linux系統(tǒng)中作業(yè)啟動
8.4 實驗步驟
8.4.1 進(jìn)程查看命令練習(xí)
8.4.2 計劃任務(wù)配置
8.5 思考與練習(xí)
第9章 GCC編譯器的使用
9.1 實驗?zāi)康?
9.2 實驗環(huán)境
9.3 預(yù)備知識
9.3.1 GCC編譯器
9.3.2 GDB調(diào)試器
9.3.3 Linux文件操作函數(shù)簡介
9.3.4 fork()函數(shù)
9.4 實驗步驟
9.4.1 gcc編譯程序
9.4.2 用fork創(chuàng)建子進(jìn)程
9.5 思考與練習(xí)
第10章 子進(jìn)程的創(chuàng)建
10.1 實驗?zāi)康?
10.2 實驗環(huán)境
10.3 預(yù)備知識
10.4 實驗步驟
10.4.1 子進(jìn)程創(chuàng)建示例
10.4.2 子進(jìn)程創(chuàng)建編程
10.4.3 返回子進(jìn)程退出狀態(tài)
10.5 思考與練習(xí)
第11章 進(jìn)程同步與互斥
11.1 實驗?zāi)康?
11.2 實驗環(huán)境
11.3 預(yù)備知識
11.3.1 進(jìn)程同步與互斥概念
11.3.2 P、V操作與信號量
11.3.3 利用P、V操作實現(xiàn)進(jìn)程的同步與互斥
11.4 實驗步驟
11.4.1 生產(chǎn)者—消費者問題
11.4.2 一個簡單例子
11.5 思考與練習(xí)
第12章 信號通信及管道通信
12.1 實驗?zāi)康?
12.2 實驗環(huán)境
12.3 預(yù)備知識
12.3.1 信號通信
12.3.2 管道通信
12.4 實驗步驟
12.4.1 信號通信源程序
12.4.2 無名管道通信源程序
12.4.3 有名管道通信源程序
12.5 思考與練習(xí)
第13章 消息隊列通信及共享內(nèi)存通信
13.1 實驗?zāi)康?
13.2 實驗環(huán)境
13.3 預(yù)備知識
13.3.1 消息隊列通信
13.3.2 共享內(nèi)存通信
13.4 實驗步驟
13.4.1 消息隊列通信
13.4.2 共享內(nèi)存通信
13.5 思考與練習(xí)
第14章 信號量通信
14.1 實驗?zāi)康?
14.2 實驗環(huán)境
14.3 預(yù)備知識
14.3.1 信號量集的概念
14.3.2 信號量集涉及的函數(shù)及結(jié)構(gòu)
14.4 實驗步驟
14.5 思考與練習(xí)
第15章 套接字通信
15.1 實驗?zāi)康?
15.2 實驗環(huán)境
15.3 預(yù)備知識
15.3.1 socket概述
15.3.2 socket編程所涉及的基本函數(shù)
15.3.3 socket編程模型
15.4 實驗步驟
15.4.1 socket通信服務(wù)器端源代碼
15.4.2 socket通信客戶端源代碼
15.5 思考與練習(xí)
第16章 銀行家算法
16.1 實驗?zāi)康?
16.2 實驗環(huán)境
16.3 預(yù)備知識
16.3.1 死鎖的概念
16.3.2 銀行家算法
16.4 實驗步驟
16.5 思考與練習(xí)
第五部分 存 儲 管 理
第17章 內(nèi)存監(jiān)控和回收
17.1 實驗?zāi)康?
17.2 實驗環(huán)境
17.3 預(yù)備知識
17.3.1 內(nèi)存實時查看命令
17.3.2 /proc/meminfo文件
17.3.3 內(nèi)存分配及釋放
17.4 實驗步驟
17.5 思考與練習(xí)
第18章 Linux虛擬內(nèi)存
18.1 實驗?zāi)康?
18.2 實驗環(huán)境
18.3 預(yù)備知識
18.3.1 32位的Linux虛擬內(nèi)存、內(nèi)核空間和用戶空間
18.3.2 64位的Linux虛擬內(nèi)存、內(nèi)核空間和用戶空間
18.4 實驗步驟
18.5 思考與練習(xí)
第六部分 設(shè) 備 管 理
第19章 設(shè)備查看與設(shè)備驅(qū)動
19.1 實驗?zāi)康?
19.2 實驗環(huán)境
19.3 預(yù)備知識
19.3.1 設(shè)備相關(guān)文件
19.3.2 設(shè)備號
19.3.3 stat命令
19.3.4 設(shè)備驅(qū)動程序
19.4 實驗步驟
19.4.1 設(shè)備查看操作
19.4.2 驅(qū)動程序示例
19.5 思考與練習(xí)
第七部分 Linux網(wǎng)絡(luò)配置與管理
第20章 網(wǎng)絡(luò)配置與shell編程
20.1 實驗?zāi)康?
20.2 實驗環(huán)境
20.3 預(yù)備知識
20.3.1 網(wǎng)絡(luò)參數(shù)配置方法
20.3.2 shell程序編程簡介
20.4 實驗步驟
20.4.1 網(wǎng)絡(luò)參數(shù)查看及配置
20.4.2 shell程序設(shè)計
20.5 思考與練習(xí)
第21章 基于KVM的虛擬機(jī)安裝
21.1 實驗?zāi)康?
21.2 實驗環(huán)境
21.3 預(yù)備知識
21.4 實驗步驟
21.4.1 安裝虛擬化軟件包
21.4.2 安裝虛擬機(jī)
21.5 思考與練習(xí)
附錄AVMware Workstation 14 Pro使用指南
A.1 認(rèn)識虛擬機(jī)
A.1.1 虛擬機(jī)簡介
A.1.2 虛擬機(jī)的優(yōu)點
A.1.3 使用虛擬機(jī)的系統(tǒng)環(huán)境
A.1.4 關(guān)于虛擬機(jī)的4個術(shù)語
A.2 使用虛擬機(jī)
A.2.1 啟動虛擬機(jī)
A.2.2 關(guān)閉虛擬機(jī)
A.2.3 為虛擬機(jī)拍攝快照
A.3 配置虛擬機(jī)的網(wǎng)絡(luò)
A.3.1 橋接模式
A.3.2 網(wǎng)絡(luò)地址轉(zhuǎn)換模式
A.3.3 僅主機(jī)模式
A.3.4 自定義配置模式
A.4 配置VMware虛擬網(wǎng)絡(luò)
A.4.1 添加虛擬網(wǎng)卡
A.4.2 虛擬網(wǎng)絡(luò)編輯器
附錄B使用yum安裝軟件包
B.1 直接使用Internet安裝軟件包
B.2 使用本地光盤源安裝軟件包
附錄CELF文件簡介
C.1 ELF file header
C.2 Section header
C.3 Program segment header
C.4 ELF文件實例分析
C.5 readelf命令
附錄Dmakefile文件簡介
D.1 makefile的語法
D.2 偽目標(biāo)
D.3 make命令
D.4 自定義變量與系統(tǒng)變量
參考文獻(xiàn)