操作系統(tǒng)實(shí)用教程(第三版)實(shí)驗(yàn)指導(dǎo)
定 價(jià):29 元
- 作者:任愛(ài)華、羅曉峰
- 出版時(shí)間:2009/9/1
- ISBN:9787302202509
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP316
- 頁(yè)碼:
- 紙張:20
- 版次:1
- 開(kāi)本:16開(kāi)
操作系統(tǒng)課的實(shí)驗(yàn)環(huán)節(jié)一直是操作系統(tǒng)教學(xué)的難點(diǎn)。本書(shū)通過(guò)Windows和Linux兩個(gè)操作系統(tǒng)各自的編程接口,提供一些編程實(shí)例,以此加深學(xué)生對(duì)操作系統(tǒng)設(shè)計(jì)原理的領(lǐng)會(huì)和對(duì)操作系統(tǒng)實(shí)現(xiàn)方法的理解,并且使學(xué)生在程序設(shè)計(jì)方面能夠得到基本的訓(xùn)練。
本書(shū)提供了操作系統(tǒng)接口的設(shè)計(jì)實(shí)例以及有關(guān)進(jìn)程調(diào)度、作業(yè)調(diào)度、虛存管理、文件管理、設(shè)備管理等內(nèi)容的實(shí)踐例子。書(shū)中的實(shí)驗(yàn)環(huán)境基于Windows操作系統(tǒng)或者Linux操作系統(tǒng)。每個(gè)實(shí)驗(yàn)分為六個(gè)部分,即實(shí)驗(yàn)?zāi)康、?shí)驗(yàn)要求、相關(guān)基礎(chǔ)知識(shí)、實(shí)驗(yàn)設(shè)計(jì)、實(shí)驗(yàn)總結(jié)、源程序與運(yùn)行結(jié)果。
本書(shū)的使用對(duì)象是普通高等院校計(jì)算機(jī)專業(yè)的學(xué)生,或者是具有一些操作系統(tǒng)基本知識(shí)并想進(jìn)一步了解程序設(shè)計(jì)以及操作系統(tǒng)實(shí)驗(yàn)內(nèi)容的讀者,也可作為普通高等院校操作系統(tǒng)實(shí)驗(yàn)教學(xué)的參考書(shū)。
第三版前言
操作系統(tǒng)課程是一門(mén)實(shí)踐性很強(qiáng)的技術(shù)課程,是計(jì)算機(jī)專業(yè)本科生的必修課。開(kāi)設(shè)本實(shí)驗(yàn)課的目的在于培養(yǎng)學(xué)生的實(shí)踐能力,促進(jìn)理論與實(shí)踐的結(jié)合。本書(shū)通過(guò)兩個(gè)著名的操作系統(tǒng)Windows和Linux各自的編程接口,提供一些編程實(shí)例,使學(xué)生熟悉對(duì)操作系統(tǒng)程序接口的使用,并了解如何模擬操作系統(tǒng)原理的實(shí)現(xiàn),加深對(duì)操作系統(tǒng)設(shè)計(jì)原理和實(shí)現(xiàn)方法的理解,使學(xué)生在程序設(shè)計(jì)方面能夠得到基本的訓(xùn)練。
操作系統(tǒng)本身的構(gòu)造十分復(fù)雜,如何在有效的時(shí)間內(nèi),使學(xué)生既能了解其實(shí)現(xiàn)原理,又能對(duì)原理部分進(jìn)行有效的實(shí)踐,是操作系統(tǒng)教學(xué)一直在探索的內(nèi)容。本書(shū)從基本原理出發(fā),提供了不同類型的上機(jī)實(shí)習(xí)題。每個(gè)實(shí)習(xí)題都配有測(cè)試通過(guò)的源程序代碼供讀者參考,也對(duì)實(shí)習(xí)題的設(shè)計(jì)進(jìn)行了詳細(xì)的講解和指導(dǎo)。
本書(shū)的使用對(duì)象是針對(duì)普通高等院校計(jì)算機(jī)專業(yè)的學(xué)生,或者是具有一些操作系統(tǒng)基本知識(shí)并想進(jìn)一步了解程序設(shè)計(jì)以及操作系統(tǒng)實(shí)驗(yàn)內(nèi)容的讀者。實(shí)驗(yàn)的環(huán)境是Windows操作系統(tǒng)或者是Linux操作系統(tǒng)。Windows操作系統(tǒng)已經(jīng)很普及,但是對(duì)于Linux操作系統(tǒng)并不是每個(gè)用戶都有所了解,僅是有具體應(yīng)用目的或者對(duì)Linux感興趣的人才會(huì)去接觸Linux。所以,在附錄B中為讀者提供了有關(guān)Linux的安裝知識(shí)和常用命令。而對(duì)Windows的使用,我們便主觀地認(rèn)為學(xué)生已經(jīng)熟知了它的使用,所以在介紹實(shí)驗(yàn)方法時(shí),只重點(diǎn)介紹編程工具的使用過(guò)程以及實(shí)驗(yàn)設(shè)計(jì)本身的內(nèi)容。
在Windows的實(shí)驗(yàn)中,重點(diǎn)放在對(duì)Windows的應(yīng)用程序接口API的使用上。利用這些與操作系統(tǒng)原理直接相關(guān)的API,編寫(xiě)一些實(shí)踐操作系統(tǒng)概念的實(shí)例,便于對(duì)抽象概念的理解和具體化;通過(guò)閱讀本書(shū)提供的實(shí)例程序代碼,使讀者得到編程方面的體驗(yàn)和訓(xùn)練。
在Linux的實(shí)驗(yàn)中,基本上也是在系統(tǒng)調(diào)用的層次上對(duì)學(xué)生進(jìn)行訓(xùn)練,所不同的是Linux是開(kāi)放源代碼的自由軟件,讀者可以很方便地得到Linux操作系統(tǒng)的全部源代碼。比如常用的由Red Hat Software公司提供的Red Hat Linux,既可從網(wǎng)站上下載,也可從一般的書(shū)店中買(mǎi)到安裝光盤(pán)。Linux是深入學(xué)習(xí)操作系統(tǒng)的有利環(huán)境,通過(guò)對(duì)Linux的不斷了解,不僅可以深入學(xué)習(xí)操作系統(tǒng)的設(shè)計(jì)原理和技巧,還可以在互聯(lián)網(wǎng)上與熱衷于編程的人探討與Linux相關(guān)的技術(shù)難題。如今的筆記本電腦已經(jīng)十分普及,從而使Linux的實(shí)驗(yàn)環(huán)境可以隨讀者的筆記本電腦安裝并建立。
本書(shū)在Windows環(huán)境下提供了四個(gè)實(shí)驗(yàn),分別是關(guān)于操作系統(tǒng)命令接口的設(shè)計(jì)、進(jìn)程調(diào)度、虛存管理以及文件管理方面的實(shí)驗(yàn)內(nèi)容。
在Linux環(huán)境下提供了四個(gè)實(shí)驗(yàn),分別是關(guān)于操作系統(tǒng)的命令接口程序shell的編制、虛存管理、作業(yè)控制系統(tǒng)以及文件系統(tǒng)方面的實(shí)例。
書(shū)中有些實(shí)驗(yàn)題目是基于北京航空航天大學(xué)計(jì)算機(jī)學(xué)院操作系統(tǒng)課設(shè)的實(shí)驗(yàn)內(nèi)容,書(shū)中配備的實(shí)驗(yàn)源程序有一部分來(lái)自于學(xué)生提交的實(shí)際作業(yè)。考慮到實(shí)驗(yàn)的覆蓋面,在附錄中增加了存儲(chǔ)管理以及命令接口設(shè)計(jì)等方面的實(shí)驗(yàn)實(shí)例供讀者參考和學(xué)習(xí)。
本書(shū)的Windows實(shí)驗(yàn)部分由羅曉峰執(zhí)筆,Linux的實(shí)驗(yàn)部分由李鵬和羅曉峰執(zhí)筆,任愛(ài)華完成全書(shū)的統(tǒng)稿、編寫(xiě)和審校工作。參與本書(shū)實(shí)驗(yàn)的設(shè)計(jì)與驗(yàn)證工作的還有李萌、張愷、張曉敏、原攀峰、郝美玲、胡寶雷、郭威、叢佩政、張迪、茹曉毅、佘世偉、楊洋、鄭志明等。
限于編者水平,錯(cuò)誤和不妥之處在所難免,懇請(qǐng)讀者批評(píng)指正。
任愛(ài)華 于北京
2009年6月
VI
操作系統(tǒng)實(shí)用教程(第三版)實(shí)驗(yàn)指導(dǎo)
VII
第三版前言
目 錄
實(shí)驗(yàn)一 命令解釋程序1
1.1 實(shí)驗(yàn)?zāi)康?
1.2 實(shí)驗(yàn)要求1
1.2.1 基本要求1
1.2.2 進(jìn)一步要求2
1.2.3 實(shí)驗(yàn)步驟建議3
1.3 相關(guān)基礎(chǔ)知識(shí)3
1.3.1 命令解釋程序與內(nèi)核的關(guān)系3
1.3.2 系統(tǒng)調(diào)用4
1.3.3 重要API的使用說(shuō)明10
1.4 實(shí)驗(yàn)設(shè)計(jì)12
1.4.1 重要的數(shù)據(jù)結(jié)構(gòu)12
1.4.2 程序?qū)崿F(xiàn)14
1.5 實(shí)驗(yàn)總結(jié)15
1.6 源程序與運(yùn)行結(jié)果16
1.6.1 程序源代碼16
1.6.2 程序運(yùn)行結(jié)果29
1.6.3 實(shí)驗(yàn)報(bào)告模板29
實(shí)驗(yàn)二 虛存管理(Windows)31
2.1 實(shí)驗(yàn)?zāi)康?1
2.2 實(shí)驗(yàn)要求31
2.2.1 基本要求31
2.2.2 進(jìn)一步要求31
2.3 相關(guān)基礎(chǔ)知識(shí)32
2.3.1 虛擬存儲(chǔ)器32
2.3.2 頁(yè)式存儲(chǔ)管理方式32
2.3.3 Windows中的虛擬存儲(chǔ)技術(shù)35
2.4 實(shí)驗(yàn)設(shè)計(jì)38
2.4.1 重要的數(shù)據(jù)結(jié)構(gòu)38
2.4.2 程序?qū)崿F(xiàn)40
2.5 實(shí)驗(yàn)總結(jié)45
2.6 源程序與運(yùn)行結(jié)果45
2.6.1 程序源代碼45
2.6.2 程序運(yùn)行結(jié)果57
實(shí)驗(yàn)三 進(jìn)程調(diào)度58
3.1 實(shí)驗(yàn)?zāi)康?8
3.2 實(shí)驗(yàn)要求58
3.2.1 基本要求58
3.2.2 進(jìn)一步要求59
3.3 相關(guān)基礎(chǔ)知識(shí)59
3.3.1 進(jìn)程調(diào)度59
3.3.2 Windows中的進(jìn)程和線程61
3.3.3 相關(guān)Win32 API介紹62
3.4 實(shí)驗(yàn)設(shè)計(jì)64
3.4.1 重要的數(shù)據(jù)結(jié)構(gòu)64
3.4.2 程序?qū)崿F(xiàn)65
3.5 實(shí)驗(yàn)總結(jié)68
3.6 源程序與運(yùn)行結(jié)果68
3.6.1 程序源代碼68
3.6.2 程序運(yùn)行結(jié)果83
實(shí)驗(yàn)四 文件系統(tǒng)85
4.1 實(shí)驗(yàn)?zāi)康?5
4.2 實(shí)驗(yàn)要求85
4.2.1 基本要求85
4.2.2 進(jìn)一步要求86
4.3 相關(guān)基礎(chǔ)知識(shí)87
4.3.1 Windows的文件系統(tǒng)87
4.3.2 FAT16文件系統(tǒng)88
4.3.3 相關(guān)API函數(shù)說(shuō)明92
4.4 實(shí)驗(yàn)設(shè)計(jì)95
4.4.1 重要的數(shù)據(jù)結(jié)構(gòu)95
4.4.2 程序?qū)崿F(xiàn)97
4.4.3 編譯及運(yùn)行102
4.5 實(shí)驗(yàn)總結(jié)103
4.6 源程序與運(yùn)行結(jié)果103
4.6.1 程序源代碼103
4.6.2 程序運(yùn)行結(jié)果119
實(shí)驗(yàn)五 shell程序120
5.1 實(shí)驗(yàn)?zāi)康?20
5.2 實(shí)驗(yàn)要求120
5.2.1 基本要求120
5.2.2 進(jìn)一步要求122
5.2.3 實(shí)驗(yàn)步驟建議122
5.3 相關(guān)基礎(chǔ)知識(shí)123
5.3.1 shell與內(nèi)核的關(guān)系123
5.3.2 系統(tǒng)調(diào)用123
5.3.3 Lex和YACC介紹133
5.4 實(shí)驗(yàn)設(shè)計(jì)134
5.4.1 重要的數(shù)據(jù)結(jié)構(gòu)135
5.4.2 程序?qū)崿F(xiàn)136
5.5 實(shí)驗(yàn)總結(jié)143
5.6 源程序與運(yùn)行結(jié)果143
5.6.1 程序源代碼143
5.6.2 程序運(yùn)行結(jié)果160
實(shí)驗(yàn)六 虛存管理(Linux)162
6.1 實(shí)驗(yàn)?zāi)康?62
6.2 實(shí)驗(yàn)要求162
6.2.1 基本要求162
6.2.2 進(jìn)一步要求162
6.3 相關(guān)基礎(chǔ)知識(shí)163
6.3.1 存儲(chǔ)管理163
6.3.2 虛擬存儲(chǔ)的功能163
6.3.3 虛擬存儲(chǔ)的抽象模型163
6.3.4 按需裝入頁(yè)面164
6.3.5 頁(yè)面交換165
6.3.6 共享內(nèi)存166
6.3.7 存取控制166
6.3.8 系統(tǒng)頁(yè)表167
6.3.9 頁(yè)面的分配和釋放168
6.3.10 內(nèi)存映射169
6.3.11 缺頁(yè)中斷170
6.4 實(shí)驗(yàn)設(shè)計(jì)171
6.4.1 重要的數(shù)據(jù)結(jié)構(gòu)171
6.4.2 虛存管理程序的實(shí)現(xiàn)172
6.5 實(shí)驗(yàn)總結(jié)178
6.6 源程序與運(yùn)行結(jié)果178
6.6.1 程序源代碼178
6.6.2 程序運(yùn)行結(jié)果190
實(shí)驗(yàn)七 作業(yè)調(diào)度192
7.1 實(shí)驗(yàn)?zāi)康?92
7.2 實(shí)驗(yàn)要求192
7.2.1 基本要求192
7.2.2 進(jìn)一步要求193
7.3 相關(guān)基礎(chǔ)知識(shí)194
7.3.1 進(jìn)程及作業(yè)的概念194
7.3.2 作業(yè)調(diào)度195
7.3.3 進(jìn)程間通信196
7.4 實(shí)驗(yàn)設(shè)計(jì)198
7.4.1 重要數(shù)據(jù)結(jié)構(gòu)198
7.4.2 程序?qū)崿F(xiàn)199
7.5 實(shí)驗(yàn)總結(jié)201
7.6 源程序與運(yùn)行結(jié)果202
7.6.1 程序源代碼202
7.6.2 程序運(yùn)行結(jié)果218
實(shí)驗(yàn)八 文件系統(tǒng)219
8.1 實(shí)驗(yàn)?zāi)康?19
8.2 實(shí)驗(yàn)要求219
8.2.1 基本要求219
8.2.2 進(jìn)一步要求220
8.3 相關(guān)基礎(chǔ)知識(shí)220
8.3.1 虛擬文件系統(tǒng)220
8.3.2 FAT文件系統(tǒng)結(jié)構(gòu)224
8.4 實(shí)驗(yàn)設(shè)計(jì)229
8.4.1 重要的數(shù)據(jù)結(jié)構(gòu)229
8.4.2 程序?qū)崿F(xiàn)230
8.5 實(shí)驗(yàn)總結(jié)234
8.6 源程序與運(yùn)行結(jié)果235
8.6.1 程序源代碼235
8.6.2 程序運(yùn)行結(jié)果253
附錄A 存儲(chǔ)管理應(yīng)用實(shí)例254
A.1 概述254
A.2 存儲(chǔ)管理對(duì)內(nèi)存硬件的抽象255
A.3 用戶編程中申請(qǐng)與釋放內(nèi)存實(shí)例分析258
A.3.1 Malloc.h文件258
A.3.2 Malloc.c文件259
A.3.3 Test.c文件262
A.3.4 Makefile文件263
A.4 小結(jié)263
A.5 習(xí)題264
附錄B 操作系統(tǒng)接口265
B.1 操作系統(tǒng)接口265
B.1.1 系統(tǒng)調(diào)用265
B.1.2 shell命令及其解釋程序274
B.2 Linux的安裝283
B.2.1 安裝前的準(zhǔn)備283
B.2.2 建立硬盤(pán)分區(qū)284
B.2.3 安裝類型285
B.2.4 安裝過(guò)程286
B.2.5 操作系統(tǒng)的安裝概念286
B.3 Linux的使用287
B.3.1 使用常識(shí)287
B.3.2 文件操作命令288
B.3.3 文本編輯命令294
B.3.4 shell的特殊字符296
B.3.5 進(jìn)程控制命令300
B.3.6 網(wǎng)絡(luò)應(yīng)用工具303
B.3.7 聯(lián)機(jī)幫助305
B.4 系統(tǒng)管理305
B.4.1 超級(jí)用戶305
B.4.2 用戶和用戶組管理306
B.4.3 文件系統(tǒng)管理308
B.4.4 Linux源代碼文件安放結(jié)構(gòu)312
B.5 小結(jié)313
B.6 習(xí)題313
參考文獻(xiàn)314
??
??
??
??
X
操作系統(tǒng)實(shí)用教程(第三版)實(shí)驗(yàn)指導(dǎo)
XI
目錄