出版時間:2010-1 出版社:清華大學(xué) 作者:胡峰松 頁數(shù):188
Tag標(biāo)簽:無
前言
歡迎閱讀《操作系統(tǒng)原理實驗教程(基于Linux)》一書,該書是我們呈現(xiàn)給讀者的學(xué)習(xí)《操作系統(tǒng)原理》的輔助教程,也可以作為《操作系統(tǒng)原理》授課教師的實驗參考教程。通過閱讀與實驗,讀者可以掌握Linux操作系統(tǒng)常用命令及其基本原理,對操作系統(tǒng)研究的典型問題加以編程實驗,加深對操作系統(tǒng)的理解?!恫僮飨到y(tǒng)原理》是一門計算機(jī)科學(xué)及其相關(guān)專業(yè)的骨干課程,是學(xué)生在學(xué)習(xí)時難以理解和掌握的課程,也是一門實踐性很強(qiáng)的課程。在教學(xué)和學(xué)習(xí)過程中,難以找到合適的實驗教材,為此,我們通過總結(jié)多年的操作系統(tǒng)教學(xué)經(jīng)驗,在教師李健和研究生林斌、龍榜、馬俊蓉等人的支持與幫助下,編著了本書。在編寫書籍的過程中,如何進(jìn)行內(nèi)容的選取與取舍、如何設(shè)計實驗,一直困擾著我們??紤]到Linux是一個完全免費的操作系統(tǒng),并且,很多學(xué)校都把Linux操作系統(tǒng)作為操作系統(tǒng)原理的后續(xù)課程,為此,《操作系統(tǒng)原理實驗教程(基于Linux)》涵蓋了兩大部分內(nèi)容:Linux操作系統(tǒng)應(yīng)用實驗和操作系統(tǒng)原理相關(guān)實驗。在實驗的設(shè)計上,我們既考慮如何讓學(xué)生通過實驗加深對操作系統(tǒng)原理的理解,又為講授操作系統(tǒng)原理的老師提供實驗組織形式的參考。本書共包括16個實驗,共分上下兩篇,分別為基于Linux操作系統(tǒng)的8個應(yīng)用實驗和與操作系統(tǒng)原理相關(guān)的8個實驗。上篇是8個獨立的Linux操作實驗,目的是讓學(xué)生從用戶的角度掌握Linux操作系統(tǒng)常用命令及其基本原理。教師在組織本篇的實驗時,可以要求學(xué)生獨立完成,在實驗室簽到考評,每次實驗課程結(jié)束時,采用history命令查看當(dāng)次實驗內(nèi)容,依據(jù)實驗時課堂表現(xiàn)、實現(xiàn)內(nèi)容給出課堂分?jǐn)?shù);實驗后要求寫實驗報告,側(cè)重從操作系統(tǒng)管理計算機(jī)系統(tǒng)資源的角度,從用戶的角度總結(jié)所用命令,經(jīng)教師上機(jī)考查后計實驗分?jǐn)?shù)。
內(nèi)容概要
本書共包括16個實驗,分別為基于Linux環(huán)境的8個實驗和與操作系統(tǒng)原理相關(guān)的8個實驗。每個實驗都是關(guān)于操作系統(tǒng)研究的典型問題,用以加深讀者對概念和原理的理解; 每個實驗都給出程序代碼與注釋、運行結(jié)果和對結(jié)果的分析,經(jīng)過上機(jī)調(diào)試,具有可操作性,方便讀者實現(xiàn); 有的實驗給出額外思考題,引導(dǎo)讀者做進(jìn)一步思考。 本書實驗性強(qiáng),重點突出,難度適中,適于作為高等院校計算機(jī)及相關(guān)專業(yè)操作系統(tǒng)課程的實驗教材,也可以作為Linux環(huán)境開發(fā)人員的參考書。
書籍目錄
上篇 Linux操作系統(tǒng)實驗指導(dǎo) 實驗1 Linux系統(tǒng)安裝及初級命令 實驗2 文件與目錄操作 實驗3 權(quán)限 實驗4 shell初步 實驗5 控制進(jìn)程 實驗6 用戶間的通信 實驗7 C編程與調(diào)試 實驗8 Linux時間系統(tǒng)分析下篇 操作系統(tǒng)原理實驗指導(dǎo) 實驗9 中斷處理 實驗10 進(jìn)程調(diào)度算法的設(shè)計 實驗11 內(nèi)存頁面置換算法的設(shè)計 實驗12 銀行家算法 實驗13 生產(chǎn)者-消費者問題實現(xiàn) 實驗14 主存儲器空間的分配和回收 實驗15 文件結(jié)構(gòu) 實驗16 作業(yè)調(diào)度 附錄 實驗報告模板
章節(jié)摘錄
插圖:②等待狀態(tài)。Linux系統(tǒng)把基本的等待狀態(tài)進(jìn)一步細(xì)化為可中斷的等待態(tài)和不可中斷的等待態(tài)兩種。處于這種狀態(tài)的進(jìn)程都在等待某個事件或某個資源,可中斷等待狀態(tài)的進(jìn)程可以被信號喚醒而進(jìn)入就緒狀態(tài)等待調(diào)度,而不可中斷等待狀態(tài)的進(jìn)程是因為硬件資源無法滿足,不能被信號喚醒,必須等到所等待的資源得到之后由特定的方式喚醒。③僵死狀態(tài)。由于某些原因進(jìn)程被終止,這個進(jìn)程所擁有的內(nèi)存、文件等資源全部釋放之后,還保存著PCB信息,這種占有PCB但已經(jīng)無法運行的進(jìn)程就處于僵死狀態(tài)。④暫停狀態(tài)。處于暫停狀態(tài)的進(jìn)程,一般都是由運行狀態(tài)轉(zhuǎn)換而來,等待某種特殊處理。比如處于調(diào)試跟蹤的程序,每執(zhí)行到一個斷點,就轉(zhuǎn)入暫停狀態(tài),等待新的輸入信號。⑤交換狀態(tài)。處于交換狀態(tài)的進(jìn)程正在執(zhí)行內(nèi)存、外存的交換工作。這個狀態(tài)在 2.2.X版本的內(nèi)核中基本已經(jīng)不使用,在2.4.X版本中沒有這種狀態(tài)。⑥獨占狀態(tài)。嚴(yán)格地說,這不是一種獨立的進(jìn)程狀態(tài)。它應(yīng)該是等待狀態(tài)的一種,處于獨占狀態(tài)的進(jìn)程位于等待隊列中,當(dāng)?shù)却氖录l(fā)生時,只有處于這種狀態(tài)的進(jìn)程被喚醒,其他處于可中斷和不可中斷等待狀態(tài)的進(jìn)程則繼續(xù)等待。在Linux2.2和之前的版本中,如果有一組進(jìn)程都在等待某一個事件(比如一組web服務(wù)器進(jìn)程在等待網(wǎng)絡(luò)套接字上的事件),一旦事件發(fā)生,所有進(jìn)程都會被喚醒。因此,Linux每收到一個web請求,都會喚醒一組進(jìn)程,其中每個都會試圖響應(yīng)Web請求。顯然,多個服務(wù)器進(jìn)程服務(wù)一個請求沒有意義,所以得到請求的只會是一個,系統(tǒng)必須調(diào)度使得所有其他的進(jìn)程繼續(xù)休眠。雖然Linux把進(jìn)程切換過程盡量優(yōu)化,但這樣的做法顯然還是不夠高效。Linux 2.4引入獨占狀態(tài)后,如果事件發(fā)生,只喚醒處于獨占狀態(tài)的那一個進(jìn)程,這就可以大大提高Apache這類web應(yīng)用的效率,使Linux更適合網(wǎng)絡(luò)服務(wù)器的角色。下面來看Linux系統(tǒng)進(jìn)程的狀態(tài)轉(zhuǎn)換情況。為了更為直觀,這里采取了一定的簡化措施:按照進(jìn)程是否占有處理機(jī)為依據(jù),把進(jìn)程的運行狀態(tài)分為執(zhí)行和就緒兩種狀態(tài);等待狀態(tài)統(tǒng)一考慮,不再區(qū)分是否可中斷,獨占狀態(tài)也作為一種等待狀態(tài)處理;不涉及交換狀態(tài)。簡化的進(jìn)程狀態(tài)及轉(zhuǎn)換情況見圖5—2。
編輯推薦
《操作系統(tǒng)原理實驗教程(基于Linux)》:高等學(xué)校教材·計算機(jī)科學(xué)與技術(shù)。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載