圖書信息
書 名: 作業系統課程設計
作 者:李善平,季江民,尹康凱
出版時間: 2009-6-1
ISBN: 9787308067980
開本: 16開
定價: 38.00元
內容簡介
本書介紹了Linux作業系統機制,分析了部分Linux核心代碼,並列出了作業系統針對性的實驗;從Linux作業系統環境、系統調用、定時器、核心模組、進程調度、虛擬存儲、檔案系統,循序漸進到Linux核心的改動。Linux作業系統環境使用放在本書的附錄中,對於沒有學習過Linux作業系統命令的讀者來說,需要掌握這方面的知識。
另一方面,作者本身也是程式設計師,對程式設計過程中的“創造性”有一定的體會。建議讀者在使用本書時,大可不必循規蹈矩,讀者可以用自己的思路學習Linux核心,這樣既學到Linux源程式本身,更學到程式的“靈魂”。
圖書目錄
第1章 作業系統課程設計概要
1.1 課程設計目的
1.2 課程設計實驗報告基本要求
1.3 課程設計實驗報告樣例
第2章 Linux作業系統環境
第3章 編譯Linux核心
3.1 Linux核心基礎
3.1.1 Linux源程式的目錄分布
3.1.2 kernel目錄
3.1.3 mm目錄
3.1.4 fs目錄
3.1.5 arch目錄
3.1.6 include目錄
3.1.7 net目錄
3.2 實驗編譯Linux核心
3.2.1 下載核心原始碼
3.2.2 部署核心原始碼
3.2.3 配置核心
3.2.4 編譯核心和模組
3.2.5 啟動Linux核心
3.2.6 套用grub配置啟動檔案
第4章 系統調用
4.1 系統調用基礎知識
4.1.1 一個使用系統調用的例子
4.1.2 系統調用是什麼
4.1.3 為什麼需要系統調用
4.2 Linux系統調用實現機制分析
4.2.1 entry.S彙編檔案
4.2.2 traps.c(arch/i386/kelaael/traps.c)檔案
4.2.3 系統調用中普通參數的傳遞及unistd.h
4.2.4getuid()系統調用的實現
4.3 實驗1添加一個簡單系統調用
4.4 實驗2添加一個更複雜的系統調用
第5章 進程管理
5.1 Linux進程
5.1.1 進程是什麼
5.1.2 Linux進程控制塊
5.2 Linux進程創建及分析
5.2.1 第一個進程
5.2.2 fork、clone、kernel-thread
5.2.3 exec裝載與執行進程
5.2.4 Linux中的執行緒
5.3 實驗1分析系統調用sys—exit函式
5.4 實驗2用fork()創建子進程
5.5 實驗3用clone()創建子進程
第6章 /proe檔案系統
6.1 /proc檔案系統的介紹
6.1.1 系統信息
6.1.2 進程信息
6.2 /proc檔案系統的使用
6.2.1 創建與刪除proc檔案
6.2.2 讀寫proc檔案
6.3 /proc檔案系統分析
6.3.1 /proc檔案數據結構定義
6.3.2 /proc下檔案的創建和刪除
6.3.3 /proc下超級塊和索引節點的操作
6.3.4 /proc檔案系統初始化
6.4 實驗1分析/proc檔案系統初始化
6.5 實驗2/proc檔案系統的一個簡單套用
第7章 核心模組
7.1 什麼是核心模組
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 模組實用程式modutils
7.4 實驗1編寫一個簡單的核心模組
7.5 實驗2多檔案核心模組的實現
第8章 虛擬記憶體管理
8.1 Linux虛擬記憶體管理
8.1.1 虛擬記憶體的抽象模型
8.1.2 Linux的分頁管理
8.1.3 虛存段(vma)的組織和管理
8.1.4 頁面分配與回收
8.2 實驗1統計系統缺頁次數
8.3 實驗2統計一段時間內系統缺頁次數
第9章 時鐘與定時器
9.1 時鐘和定時器介紹
9.1.1 系統時鐘
9.1.2 定時器
9.1.3 bottom half
9.2 Linux系統時鐘
9.2.1 系統時鐘的正常運行
9.2.2 系統時鐘的設定和調整
9.3 Linux系統定時器
9.3.1 定時器的實現機制
9.3.2 定時器具體實現
9.4 實驗1一個簡單的定時器的實現
9.5 實驗2統計進程的時間
第10章 檔案系統
10.1 Linux檔案系統概念
10.2VFS檔案系統分析
10.2.1 什麼是VFS檔案系統
10.2.2 為什麼需要VFS
10.2.3 VFS檔案系統的結構
10.2.4 進程與檔案的關係
10.2.5 檔案系統的安裝(mount.)
10.2.6 路徑的定位和查找
10.3 ext2檔案系統
10.3.1 ext2體系結構
10.3.2 ext2的關鍵數據結構
10.3.3 ext2的操作實現
10.3.4 ext2數據塊分配機制
10.4 檔案操作分析
10.4.1 open操作
10.4.2 read操作
10.4.3 ext2的read、write操作
10.5 實驗1 分析close和write操作
10.6 實驗2添加一個檔案系統
附錄 Linux作業系統環境 參考文獻