作業系統實驗指導:基於Linux核心

作業系統實驗指導:基於Linux核心

“計算機作業系統”是一門非常重要的專業課程,本教材所介紹的“基於Linux核心的作業系統實驗體系”可引導學生與作業系統核心互動以理解其原理。整個實驗體系構架在Linux核心的基礎上,按“系統基本構架”、“系統五大功能”和“系統與用戶的接口”三方面分為8個實驗。

基本介紹

  • 書名:作業系統實驗指導——基於Linux核心(第2版)
  • 作者:徐虹、何嘉、張鐘澍
  • ISBN:9787302193760
  • 定價:29元
  • 出版社:清華大學出版社
  • 出版時間:2012-7-4
  • 裝幀:平裝
  • 開本:16
圖書簡介,圖書前言,目錄,

圖書簡介

本書共11章,從內容上分為三大部分。第一部分包括3章,介紹了基於Linux核心的實驗系統、Linux核心分析和使用方法;第二部分是對6項基本實驗的指導:進程管理實驗、存儲器管理實驗、用戶接口實驗、模組編程實驗、設備管理實驗和檔案系統實驗;第三部分是兩項綜合實驗的指導:作業系統構成實驗和系統信息顯示實驗。這些實驗很好地解決了配合作業系統課程教學來指導學生進行實踐的問題。
本書所介紹的實驗涵蓋了作業系統所有重要的原理和機制。本書及其實驗系統既可作為大專院校、計算機職業專科學校或者電子類各專業“作業系統”的實驗教學課程,也可供從事計算機方向研究的專業技術人員使用。

圖書前言

“作業系統”是計算機科學中一門重要的專業基礎課,同時又是一門實踐性很強的技術課程。掌握作業系統原理,熟悉作業系統的使用是各層次計算機軟硬體開發人員必不可少的基本技能。然而,困擾學校“作業系統”教學的問題是講授理論原理比較容易,而如何指導學生進行實踐則相對較難。其結果致使學生不能深刻地理解作業系統的本質,因而也不能在實際套用當中用所學的“作業系統”課程知識以及作業系統所提供的功能來解決實際問題。
目前,國內大專院校講授“作業系統”課程時,大多是在DOS或UNIX下練習一些作業系統的使用技巧。這樣的實習環境,使學生既不能理解作業系統的內部機制和體系結構,也不能利用現有的核心生成一個令自己滿意的作業系統,更不清楚作業系統的資源管理實現的過程和內部機制,更不用說試圖自己改變系統中的部分算法及資源分配方式了。
最初,A.S.Tanenbaum編寫的教學《作業系統》Minix在很長一段時間裡較好地解決了這一問題。然而,隨著計算機系統的體系結構的變化,元器件以及相應軟體的飛速發展,早年開發出的Minix在很多方面已經不能適應今天的“作業系統”教學的需要了。在當今計算機科學相對發達的國度里,人們已認識到這方面的問題,他們已經開發出適合自己教學的作業系統——OSP、BACI、NACHOS、TOYOS等,其中OSP、BACI是基於裸機的操作實驗系統,而NACHOS、TOYOS是基於模擬器的操作實驗系統。但是,一個全新的,支持基於Intel x86計算機的作業系統教學實驗系統至今是一個空白。國內這方面的研究相對滯後,就已有的幾本關於作業系統實驗的書籍來看,一個突出的問題便是教學專用實驗系統比較少。
本實驗教材提出的教學實驗體系的研製是“作業系統”課程教學的一場變革,它能夠改變“作業系統”課堂教學因為沒有實驗環境只向學生講解基本理論,從而造成理論與實踐嚴重脫離的局面。該實驗體系構架在 Linux 核心的基礎上,按“系統基本構架”、“系統五大功能”和“系統與用戶的接口”三方面分為8個實驗。設計的實驗分為基礎實驗和綜合實驗兩部分。基礎實驗包括:進程管理、存儲器管理、用戶接口、模組編程、設備管理和檔案系統實驗;綜合實驗包括作業系統構成實驗和系統信息顯示實驗。讓學生在該實驗體系的指導下來學習理解作業系統的基本原理、內部機制和體系結構,並在此基礎上能夠親自動手生成一個自己滿意的作業系統。
本次再版的《作業系統實驗指導——基於Linux核心》一書分為三大部分,共11章。第一部分包括3章,介紹了基於Linux核心的實驗系統、Linux核心分析和Linux系統的使用方法;第二部分是對6項基本實驗的指導:進程管理實驗、存儲器管理實驗、用戶接口實驗、模組編程實驗、設備管理實驗和檔案系統實驗;第三部分是兩項綜合實驗的指導:作業系統構成實驗和系統信息顯示實驗。這些實驗很好地解決了配合課程理論教學與套用實踐有機結合的問題。
本書的第1、2、3、6、7、8、11章由徐虹編寫,第5、9章由何嘉編寫,第4、10章由張鐘澍編寫。全書由徐虹主編和統稿。同時感謝薛筱宇和李代偉為實驗系統所做的貢獻。
本書及其實驗系統可作為大專院校、計算機職業專科學校或者電子類各專業“作業系統”的實驗教學課程。作為“作業系統”實驗課程的一個嘗試,本教學實驗手冊及實驗軟體系統難免有誤漏不妥之處,希望得到兄弟院校及同行的指正幫助,以便重新修訂。

目錄

第一部分 Linux的基本機制和使用方法
第1章 Linux概述
1.1 Linux作業系統簡介
1.1.1 Linux作業系統的發展
1.1.2 Linux作業系統的特點
1.1.3 目前流行的Linux版本
1.2 基於Linux核心的作業系統實驗體系
1.2.1 作業系統實驗的現狀
1.2.2 選擇Linux的原因
1.2.3 實驗設計思想
1.2.4 實驗體系的構成
第2章 Linux核心分析
2.1 Linux核心結構概述
2.2 Linux進程管理
2.2.1 描述進程的數據結構
2.2.2 進程調度
2.2.3 創建進程
2.2.4 進程通信機制
2.3 Linux存儲管理
2.3.1 物理記憶體管理器
2.3.2 核心記憶體管理器
2.3.3 虛擬記憶體管理器
2.3.4 Linux的高速緩衝機制
2.4 Linux設備管理
2.4.1 Linux設備管理結構
2.4.2 I/O控制方式
2.4.3 Linux設備驅動程式
2.4.4 字元設備驅動程式
2.4.5 塊設備驅動程式
2.5 Linux檔案系統
2.5.1 Linux檔案系統概述
2.5.2 虛擬檔案系統VFS
2.5.3 EXT2檔案系統
2.5.4 Linux的幾個重要檔案系統
第3章 Linux的使用
3.1 安裝RedHatLinux
3.2 Linux檔案系統結構
3.2.1 Linux目錄結構
3.2.2 目錄功能簡介
3.2.3 Linux檔案系統的裝載和卸載
3.3 Linux系統的基本操作
3.3.1 Linux系統的啟動與退出
3.3.2 Linux系統對檔案和目錄的操作命令
3.3.3 文檔備份與壓縮命令
3.3.4 許可權改變命令
3.3.5 Linux與用戶有關的命令
3.3.6 Linux系統管理命令
3.3.7 Linux磁碟管理命令
3.3.8 進程管理命令
3.3.9 Linux其他命令
3.4 vi的使用
3.4.1 vi的操作模式
3.4.2 vi的進入與退出
3.4.3 vi的常用命令
3.5 Linux的編譯器gcc
3.6 Shell程式設計
3.6.1 Shell程式的編寫和執行
3.6.2 Shell基礎
3.6.3 Shell程式設計
3.6.4 Shell程式的調試
第二部分 基礎實驗指導
第4章 進程管理實驗
4.1 實驗目的
4.2 準備知識
4.2.1 基本概念
4.2.2 系統調用
4.2.3 相關函式
4.3 實驗內容
4.3.1 編制一段程式,實現軟中斷通信
4.3.2 編制一段程式,實現進程的管道通信
4.4 實驗指導
4.4.1 進程的軟中斷通信
4.4.2 進程的管道通信
第5章 存儲器管理實驗
5.1 實驗目的
5.2 準備知識
5.3 實驗內容
5.4 實驗指導
5.4.1 FIFO頁面置換算法
5.4.2 LRU頁面置換算法
5.4.3 NUR頁面置換算法
5.4.4 OPT頁面置換算法
5.5 參考源程式代碼
5.6 程式運行
第6章 用戶接口實驗
6.1 實驗目的
6.1.1 控制台命令接口
6.1.2 系統調用
6.2 準備知識
6.2.1 控制台命令接口
6.2.2 添加系統調用
6.3 實驗內容
6.3.1 控制台命令接口實驗
6.3.2 系統調用實驗
6.4 實驗指導
6.4.1 控制台命令接口實驗
6.4.2 系統調用實驗
第7章 模組編程實驗
7.1 實驗目的
7.2 準備知識
7.2.1 模組的組織結構
7.2.2 模組的編譯
7.2.3 模組的載入
7.2.4 模組的卸載
7.2.5 模組連結到核心的示意圖
7.2.6 模組管理程式中的檔案操作
7.2.7 i386的暫存器
7.3 實驗內容
7.3.1 編寫一個簡單的核心模組
7.3.2 模組載入前後的比較
7.3.3 向模組中再添加一些新函式
7.3.4 系統核心暫存器數值的獲取
7.4 實驗指導
7.4.1 一個簡單的核心模組
7.4.2 模組載入前後的比較
7.4.3 向模組中添加新函式
7.4.4 模組的測試
7.4.5 系統核心暫存器數值的獲取實驗
第8章 設備管理實驗
8.1 實驗目的
8.2 準備知識
8.2.1 設備驅動程式簡介
8.2.2 設備驅動程式與外界的接口
8.2.3 設備驅動程式的組織結構
8.2.4 設備驅動程式的代碼
8.3 實驗內容
8.3.1 字元類型設備的驅動程式
8.3.2 塊類型設備的驅動程式
8.4 實驗指導
8.4.1 字元類型設備的驅動程式
8.4.2 塊類型設備的驅動程式
8.5 參考源程式代碼
8.5.1 字元設備驅動程式
8.5.2 塊設備驅動程式
第9章 檔案系統實驗
9.1 實驗目的
9.2 準備知識
9.2.1 外存管理
9.2.2 目錄管理
9.2.3 檔案系統的接口
9.2.4 Linux的EXT2檔案系統
9.2.5 可能用到的編程技術
9.2.6 用記憶體來模擬外存
9.3 實驗內容
9.4 實驗指導
9.4.1 二級檔案系統的設計與實現
9.4.2 EXT2檔案系統跟蹤程式的設計與實現
第三部分 綜合實驗指導
第10章 作業系統構成實驗
10.1 實驗目的
10.2 準備知識
10.2.1 Linux作業系統的啟動流程
10.2.2 開機載入程式——引導軟體LILO
10.2.3 Linux根檔案系統簡介
10.3 實驗內容
10.4 實驗指導
10.4.1 實驗設計思想
10.4.2 配置新核心bzImage
10.4.3 製作啟動盤
10.4.4 製作根檔案系統盤
10.4.5 系統整合
10.4.6 系統測試
第11章 系統信息顯示實驗
11.1 實驗目的
11.2 準備知識
11.2.1 proc檔案系統簡介
11.2.2 proc中的硬體信息
11.2.3 proc中的軟體信息
11.2.4 實驗中使用的庫函式
11.2.5 實驗中使用的編程技術
11.3 實驗內容
11.4 實驗指導
11.4.1 系統信息顯示實驗
11.4.2 記憶體信息監測實驗
參考文獻

相關詞條

熱門詞條

聯絡我們