出版時間:2010-1 出版社:清華大學(xué)出版社有限公司 作者:袁寶華 編 頁數(shù):193
前言
操作系統(tǒng)是計算機(jī)系統(tǒng)中的核心軟件。操作系統(tǒng)教學(xué)不但需要講授操作系統(tǒng)原理與方.法,還需要讓學(xué)生動手進(jìn)行操作系統(tǒng)編程實踐,只有這樣才能夠讓學(xué)生真正理解操作系統(tǒng)的精髓。根據(jù)多年的教學(xué)實踐并吸取國內(nèi)外操作系統(tǒng)方面的有關(guān)內(nèi)容,編寫了這本《操作系統(tǒng)實驗教程》。其目的是使學(xué)生通過實驗,理解和掌握操作系統(tǒng)的基本原理,提高編寫和開發(fā)系統(tǒng)程序的能力。本書編寫過程中,我們采用循序漸進(jìn)的方式,對實驗內(nèi)容盡量做到具有獨立性,并且對每個實驗中用到的知識給出了相關(guān)的介紹,這樣有利于讀者通過自學(xué)掌握實驗教程中的技術(shù)和方法。本書分為3篇:第1篇介紹基于windows環(huán)境下的進(jìn)程管理和進(jìn)程調(diào)度、銀行家算法、虛擬存儲器管理、設(shè)備管理、SPOOLING技術(shù)、文件系統(tǒng)、操作系統(tǒng)接口共8個實驗;第2篇介紹基于Linux環(huán)境下的進(jìn)程管理和進(jìn)程調(diào)度、進(jìn)程間通信、虛擬存儲器管理、字符型設(shè)備驅(qū)動程序、Linux文件系統(tǒng)調(diào)用、Shell程序共7個實驗;第3篇附錄介紹了Linux操作系統(tǒng)的安裝、Linux中C語言編譯器GCC的使用、Linux中C語言調(diào)試器GDB的使用和Visual C++集成開發(fā)環(huán)境。書中給出的程序示例都已在Windows下Visual C++6.0和Linux Red Hat 9.0中經(jīng)過測試和驗證。本書第1、2、9、10章及附錄B、C、D由毛平編寫,第3、4、11、12、15章及附錄A由曹紅根編寫,第5、6、7、8、13、14章由袁寶華和馬瑾編寫。由于編者水平有限,書中難免有不足之處,敬請讀者提出寶貴意見。
內(nèi)容概要
操作系統(tǒng)課程的實驗環(huán)節(jié)一直是操作系統(tǒng)教學(xué)的難點。通過實驗可以加深學(xué),生對操作系統(tǒng)工作原理的領(lǐng)會和對操作系統(tǒng)實現(xiàn)方法的理解,并且可以使學(xué)生在程序設(shè)計方面得到最基本的訓(xùn)練。本書的實驗環(huán)境基于Windows操作系統(tǒng)和Linux操作系統(tǒng);對于進(jìn)程管理、進(jìn)程通信、進(jìn)程調(diào)度、銀行家算法、存儲器管理、設(shè)備管理等基本實驗,本書都提供了兩個操作系統(tǒng)環(huán)境下的實驗示例代碼。另外本書還對Linux部分內(nèi)核代碼進(jìn)行了源碼分析。 本書可作為應(yīng)用型本科、高職高專操作系統(tǒng)實驗教學(xué)教材,也可以作為從事相關(guān)專業(yè)人員學(xué)習(xí)和研究的指導(dǎo)用書。
書籍目錄
第1篇 Windows系統(tǒng)實驗指導(dǎo) 第1章 進(jìn)程管理 1.1 實驗?zāi)康摹? 1.2 實驗內(nèi)容 1.3 實驗準(zhǔn)備 1.3.1 進(jìn)程 1.3.2 進(jìn)程控制塊 1.3.3 進(jìn)程的創(chuàng)建與撤銷 1.3.4 進(jìn)程的阻塞與喚醒 1.4 程序示例 1.5 運行結(jié)果 第2章 進(jìn)程調(diào)度 2.1 實驗?zāi)康摹? 2.2 實驗內(nèi)容 2.3 實驗準(zhǔn)備 2.4 程序示例 2.5 實驗結(jié)果 第3章 銀行家算法 3.1 實驗?zāi)康摹? 3.2 實驗內(nèi)容 3.3 實驗準(zhǔn)備 3.4 程序示例 3.5 實驗結(jié)果 第4章 虛擬存儲器管理 4.1 實驗?zāi)康摹? 4.2 實驗內(nèi)容 4.3 實驗準(zhǔn)備 4.4 程序示例 4.5 實驗結(jié)果 第5章 設(shè)備管理 5.1 實驗?zāi)康摹? 5.2 實驗內(nèi)容 5.3 實驗準(zhǔn)備 5.4 程序示例 5.5 實驗結(jié)果 第6章 SPOOLING技術(shù) 6.1 實驗?zāi)康摹? 6.2 實驗內(nèi)容 6.3 實驗準(zhǔn)備 6.4 程序示例 6.5 實驗結(jié)果 第7章 文件系統(tǒng) 7.1 實驗?zāi)康摹? 7.2 實驗內(nèi)容 7.3 實驗準(zhǔn)備 7.4 程序示例 7.5 實驗結(jié)果 第8章 操作系統(tǒng)接口 8.1 實驗?zāi)康摹? 8.2 實驗內(nèi)容 8.3 實驗準(zhǔn)備 8.4 程序示例 8.5 實驗結(jié)果第2篇 Linux系統(tǒng)實驗指導(dǎo) 第9章 進(jìn)程管理 9.1 實驗?zāi)康摹? 9.2 實驗內(nèi)容 9.3 實驗準(zhǔn)備 9.3.1 進(jìn)程 9.3.2 所涉及的系統(tǒng)調(diào)用 9.4 程序示例 9.5 實驗結(jié)果 第10章 進(jìn)程調(diào)度 10.1 實驗?zāi)康摹? 10.2 實驗內(nèi)容 10.3 實驗準(zhǔn)備 10.4 程序示例……第3篇 附錄
章節(jié)摘錄
插圖:對于優(yōu)先權(quán)調(diào)度算法,其關(guān)鍵在于是采用靜態(tài)優(yōu)先權(quán),還是動態(tài)優(yōu)先權(quán),以及如何確定進(jìn)程的優(yōu)先權(quán)。(1)靜態(tài)優(yōu)先權(quán)靜態(tài)優(yōu)先權(quán)是在創(chuàng)建進(jìn)程時確定的,并且規(guī)定它在進(jìn)程的整個運行期間保持不變。一般來說,優(yōu)先權(quán)是利用某個范圍內(nèi)的一個整數(shù)來表示的,如0~7,或0~255中的某個整數(shù),所以又稱為優(yōu)先數(shù)。在使用時,有的系統(tǒng)用“0”表示最高優(yōu)先權(quán),數(shù)值越大優(yōu)先權(quán)越小,而有的系統(tǒng)則恰恰相反。(2)動態(tài)優(yōu)先權(quán)動態(tài)優(yōu)先權(quán)要配合搶占調(diào)度方式使用,它是指在創(chuàng)建進(jìn)程時所賦予的優(yōu)先權(quán),可以隨著進(jìn)程的推進(jìn)而發(fā)生改變,以便獲得更好的調(diào)度性能。在就緒隊列中等待調(diào)度的進(jìn)程,可以隨著其等待時間的增加,其優(yōu)先權(quán)也以某個速率增加。因此,對于優(yōu)先權(quán)初值很低的進(jìn)程,在等待足夠長的時間后,其優(yōu)先權(quán)也可能升為最高,從而獲得調(diào)度,占用處理器并執(zhí)行。同樣規(guī)定正在執(zhí)行的進(jìn)程,其優(yōu)先權(quán)將隨著執(zhí)行時間的增加而逐漸降低,使其優(yōu)先權(quán)可能不再是最高,從而暫停其執(zhí)行,將處理器回收并分配給其他優(yōu)先權(quán)更高的進(jìn)程。這種方式能防止一個長進(jìn)程長期占用處理器的現(xiàn)象。2.時間片輪轉(zhuǎn)調(diào)度算法在分時系統(tǒng)中,為了保證人機(jī)交互的及時性,系統(tǒng)使每個進(jìn)程依次按時間片方式輪流地執(zhí)行,即時間片輪轉(zhuǎn)調(diào)度算法。在該算法中,系統(tǒng)將所有的就緒進(jìn)程按進(jìn)入就緒隊列的先后次序排列。每次調(diào)度時把CPIJ分配給隊首進(jìn)程,讓其執(zhí)行一個時間片,當(dāng)時間片用完,由計時器發(fā)出時鐘中斷,調(diào)度程序則暫停該進(jìn)程的執(zhí)行,使其退出處理器,并將它送到就緒隊列的末尾,等待下一輪調(diào)度執(zhí)行。然后,把CPU分配給就緒隊列中新的隊首進(jìn)程,同時也讓它執(zhí)行一個時間片。這樣就可以保證就緒隊列中的所有進(jìn)程,在一定的時間(可接受的等待時間)內(nèi),均能獲得一個時間片的執(zhí)行時間。在時間片輪轉(zhuǎn)調(diào)度算法中,時間片的大小對系統(tǒng)的性能有很大影響。如果時間片太大,大到每個進(jìn)程都能在一個時間片內(nèi)執(zhí)行結(jié)束,則時間片輪轉(zhuǎn)調(diào)度算法退化為先來先服務(wù)調(diào)度算法,用戶將不能獲得滿意的響應(yīng)時間。若時間片過小,連用戶鍵人的簡單常用命令都要花費多個時間片,那么系統(tǒng)將頻繁地進(jìn)行進(jìn)程的切換,同樣難以保證用戶對響應(yīng)時間的要求。
編輯推薦
《操作系統(tǒng)實驗教程》:原理與技術(shù)的完美結(jié)合教學(xué)與科研的最新成果 語言精煉,實例豐富可操作性強(qiáng),實用性突出
圖書封面
評論、評分、閱讀與下載