Linux操作系統實驗教程
Linux操作系統實驗教程
出版社: 電子工業出版社; 第1版 (2009年2月1日)
叢書名: 高等學校規劃教材,國家精品課程教材
平裝: 167頁
正文語種: 簡體中文
開本: 16
ISBN: 9787121082177
條形碼: 9787121082177
尺寸: 25.6 x 17.8 x 0.8 cm
重量: 299 g
《Linux操作系統實驗教程》是國防科技大學國家精品課程“操作系統”配套教材,系統地講解了Linux操作系統原理和基於Linux的各種編程,特別是Linux操作系統內核編程。《Linux操作系統實驗教程》內容分為三部分:第一部分介紹Linux操作系統原理;第二部分介紹10個基於Linux的實驗;第三部分附錄包含Linux環境下的操作及與編程有關的命令和函數列表。
第一部分 Linux操作系統基本原理
第1章 Linux操作系統簡介
1.1 Linux的淵源和發展簡史
1.2 Linux的基本特性
1.3 Linux內核的開發模式與內核版本號
1.4 Linux發行版介紹
1.5 Linux內核源代碼組織結構
1.6 學習Linux的輔助軟體介紹
第2章 Linux的進程管理
2.1 進程與進程描述符
2.2 進程狀態及切換時機
2.2.1 Linux的進程狀態
2.2.2 進程的切換時機
2.3 進程的調度演演算法
2.4 進程的創建與消亡
第3章 Linux的存儲器管理
3.1 物理內存的管理
3.1.1 頁幀與區域
3.1.2 夥伴演演算法
3.1.3 slab分配器
3.2 進程地址空間的管理
3.2.1 頁表機制
3.2.2 vm_area_struct結構
3.2.3 進程地址空間的相關係統調用
3.2.4 頁面異常的處理
第4章 Linux的文件系統
4.1 VFS
4.1.1 VFS的作用
4.1.2 進程描述符中與文件系統相關的成員
4.1.3 VFS的文件模型
4.1.4 文件系統的註冊與安裝
4.1.5 各種對象的操作介面
4.2 EXT2文件系統
4.2.1 EXT2在磁碟上的物理布局
4.2.2 主要的數據結構及其基本操作
4.2.3 磁碟塊的分配與釋放
4.3 主要文件系統的系統調用處理流程
4.3.1 文件的open操作
4.3.2 文件的read操作
第5章 Linux的設備管理
5.1 設備文件的概念
5.2 設備模型基礎
5.3 相關數據結構
5.3.1 字元設備管理
5.3.2 塊設備管理
5.3.3 buffer
5.3.4 設備請求隊列和I/O調度演演算法
5.4 塊設備文件的open和read操作
5.4.1 塊設備驅動程序組成
5.4.2 open函數
5.4.3 read函數
第6章 中斷、異常及系統調用
6.1 中斷和異常的基本知識
6.2 異常處理函數
6.3 系統調用
6.4 中斷的處理
6.4.1 中斷控制器
6.4.2 管理中斷的數據結構
6.4.3 中斷的處理過程
6.5 軟中斷
第7章 Sys V進程間通信
7.1 共有的特性
7.2 信號量
7.3 消息隊列
7.4 共享內存
第二部分 基於Linux操作系統的實驗
第8章 用戶態編程實驗
8.1 實驗1——bash腳本編程
8.1.1 實驗內容
8.1.2 bash腳本編程簡介
8.1.2.1 註釋和簡單命令
8.1.2.2 環境變數
8.1.2.3 控制結構
8.1.2.4 函數
8.1.3 實驗指南
8.2 實驗2——觀察Linux行為
8.2.1 實驗內容
8.2.2 proc文件系統簡介
8.2.3 實驗指南
8.2.3.1 Linux環境下C語言編程環境簡介
8.2.3.2 實驗程序框架
8.3 實驗3——實現Linux命令解釋器
8.3.1 實驗內容
8.3.2 myshell的語法
8.3.3 myshell的程序框架
8.3.4 myshell命令行的語法分析
8.3.5 簡單命令的執行
8.3.6 myshell的Makefile
8.3.7 實驗指南
第9章 內核編程基礎實驗
9.1 實驗4——內核模塊
9.1.1 實驗內容
9.1.2 Linux內核模塊簡介
9.1.3 內核符號表
9.1.4 內核模塊編程介紹
9.1.4.1 內核模塊實例
9.1.4.2 模塊編程的基本知識
9.1.4.3 Makefile介紹
9.1.5 實驗指南
9.1.6 測試
9.2 實驗5——proc文件系統編程
9.2.1 實驗內容
9.2.2 proc文件系統編程簡介
9.2.2.1 proc文件系統編程示例
9.2.2.2 proc文件系統的核心數據結構
9.2.2.3 proc文件系統編程介面
9.2.3 實驗指南
9.3 實驗6——編譯內核及增加Linux系統調用
9.3.1 實驗內容
9.3.2 Fedora下編譯內核
9.3.2.1 第1步——下載內核
9.3.2.2 第2步——生成內核配置文件.config
9.3.2.3 第3步——編譯和安裝新的內核
9.3.3 添加psta系統調用
9.3.4 測試新增系統調用psta
9.3.5 noexec系統調用的實現
第10章 內核編程綜合實驗
10.1 實驗7——進程隱藏
10.1.1 實驗內容
10.1.2 背景知識介紹
10.1.3 proc文件系統實現簡介
10.1.4 實驗指南
10.1.4.1 功能⑴的實現
10.1.4.2 功能(5)的實現
10.1.4.3 功能(7)的實現
10.2 實驗8——字元設備驅動開發
10.2.1 實驗內容
10.2.2 字元設備驅動開發介紹
10.2.2.1 測試字元設備
10.2.2.2 描述設備的數據結構
10.2.2.3 設備號的操作
10.2.2.4 字元設備的註冊與註銷
10.2.2.5 文件操作集
10.2.2.6 同步
10.2.3 字元設備chatdev的實現
10.2.4 聊天程序chat的實現
10.3 實驗9——naive文件系統的設計與實現
10.3.1 實驗內容
10.3.2 項目的準備工作及建議
10.3.3 實驗指南
10.3.3.1 第1步——創建設備
10.3.3.2 第2步——格式化分區
10.3.3.3 第3步——定義並註冊naive文件系統
10.3.3.4 第4步——安裝/卸載文件系統分區
10.3.3.5 第5步——顯示根目錄的內容
10.3.3.6 第6步——在根目錄下創建內容為空的文件
10.3.3.7 第7步——寫文件和讀文件
10.3.3.8 第8步——刪除文件
10.3.3.9 第9步——創建目錄
10.3.3.10 第10步——刪除目錄
10.4 實驗10——塊設備驅動開發
10.4.1 實驗內容
10.4.2 實驗基礎和思路
10.4.2.1 參考驅動程序1——塊設備驅動程序sbull
10.4.2.2 參考驅動程序2——USB字元設備驅動程序usb-skeleton
10.4.3 u盤驅動的幫助函數
10.4.3.1 函數原型及其使用
10.4.3.2 工作原理和過程
10.4.4 實驗指南
第三部分 Linux環境下的操作及常用命令和函數
附錄A Linux常用命令
A.1 用戶終端命令
A.2 Vi編輯器的用法
附錄B Linux常用函數
B.1 進程管理函數
B.2 文件管理函數
B.3 進程間通信
B.4 多線程庫
附錄C 內核配置文件的生成
C.1 配置文件初步生成
C.2 修改內核配置文件
C.3 內核編譯選項介紹
參考文獻