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