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