




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
工程四存儲器管理和設(shè)備管理由于存在各種限制,一個計算機(jī)系統(tǒng)配置的設(shè)備總是有限的,無法滿足各種用戶程序的實際需要,特別是在多道程序運行環(huán)境中允許多個作業(yè)并行處理,設(shè)備需求量比單道程序運行時要多得多。為了有效地利用設(shè)備資源,同時也為用戶程序使用設(shè)備提供最大方便,由操作系統(tǒng)對系統(tǒng)中所有設(shè)備進(jìn)行統(tǒng)一的調(diào)度和管理是極為重要的。設(shè)備管理是操作系統(tǒng)的重要組成局部之一。目錄
任務(wù)論述程序直接控制方式的工作過程論述程序的工作過程論述程序直接控制方式的工作過程準(zhǔn)備知識存儲器管理設(shè)備管理1.存儲器管理1.存儲器管理〔1〕存儲管理的任務(wù)和功能為了對主存儲器進(jìn)行合理有效的管理,一般將內(nèi)存空間分為系統(tǒng)區(qū)和用戶區(qū)兩大局部。系統(tǒng)區(qū)主要存放操作系統(tǒng)常駐內(nèi)存局部和一些系統(tǒng)軟件常駐內(nèi)存局部以及相關(guān)的系統(tǒng)數(shù)據(jù);用戶區(qū)主要用來存放用戶的程序和數(shù)據(jù)。操作系統(tǒng)存儲管理主要是針對用戶區(qū)進(jìn)行的。在多道程序設(shè)計環(huán)境中,需要將存儲空間劃分成更多的區(qū)域,以便同時存放多道用戶的作業(yè),因此,操作系統(tǒng)必須對有限的存儲器進(jìn)行有效的管理,以提高系統(tǒng)的利用率。存儲管理的具體表現(xiàn)在如下幾個方面。方便用戶使用存儲器,用戶無需考慮存儲器的分配、回收和保護(hù)等工作,這些工作對于用戶來說是“透明〞的,完全由操作系統(tǒng)管理。為多道程序的并發(fā)執(zhí)行提供良好的環(huán)境,使每道程序都能在不受干擾的環(huán)境中運行。邏輯上擴(kuò)充內(nèi)存空間,使大程序能在小內(nèi)存中運行。提高存儲器利用率,盡量減少空閑的和不可利用的內(nèi)存儲器區(qū)域,使有限的內(nèi)存能更好地為多個用戶程序效勞。知識鏈接為了完成上述任務(wù),要求存儲管理必須具備以下幾個功能:存儲空間的分配和回收,地址重定位,對存儲器的邏輯擴(kuò)充,存儲器的共享和保護(hù)等。1.存儲器管理1.存儲器管理〔2〕連續(xù)存儲管理連續(xù)存儲管理,是指為一個用戶程序分配連續(xù)的內(nèi)存空間。這種管理方式又可以進(jìn)一步分為單一連續(xù)存儲管理和分區(qū)存儲管理兩種方式。其中,分區(qū)存儲管理方式是將內(nèi)存的用戶可用區(qū)劃分成假設(shè)干個大小不等的區(qū)域,每一個進(jìn)程占據(jù)一個區(qū)域或多個區(qū)域,從而實現(xiàn)多道程序設(shè)計環(huán)境下各并發(fā)進(jìn)程共享內(nèi)存空間。分區(qū)管理根據(jù)分區(qū)的時機(jī)不同,可以進(jìn)一步分為固定分區(qū)和動態(tài)分區(qū)兩種方法。單一連續(xù)區(qū)主要指內(nèi)存用戶區(qū)每次只被一個用戶程序使用。如果系統(tǒng)資源能夠滿足用戶程序要求,那么系統(tǒng)分配內(nèi)存資源給該用戶程序,否那么,假設(shè)系統(tǒng)資源不能滿足用戶程序要求,那么系統(tǒng)無法執(zhí)行該程序,同時給出相應(yīng)的提示信息。1.存儲器管理1.存儲器管理單一連續(xù)存儲管理主要采用靜態(tài)分配與靜態(tài)重定位方式,即用戶程序(進(jìn)程)一旦調(diào)入內(nèi)存后,必須等到該程序執(zhí)行結(jié)束后才能釋放內(nèi)存空間。因此,單一連續(xù)存儲管理不支持進(jìn)程大小不受內(nèi)存容量限制的虛擬存儲器的實現(xiàn)。單一連續(xù)區(qū)的主存分配與回收方法如下圖。單一連續(xù)區(qū)主存分配與回收單一連續(xù)區(qū)管理的主要優(yōu)點是管理簡單,只需要很少的軟件和硬件支持,并且便于用戶了解和使用。缺點是不支持多道程序設(shè)計,并且用戶程序所需內(nèi)存容量大于內(nèi)存用戶空間時,該程序不能運行。拓展提高:1.存儲器管理1.存儲器管理2〕固定分區(qū)管理固定分區(qū)分配是最簡單的一種可運行多道程序的存儲管理方式,也稱靜態(tài)分區(qū)。固定分區(qū)是指系統(tǒng)在初始化時,將內(nèi)存空間劃分為假設(shè)干個大小不等的區(qū)域,每個分區(qū)只能裝入一道作業(yè),這樣把用戶空間劃分為幾個分區(qū),從而允許幾道作業(yè)并發(fā)運行,分區(qū)的個數(shù)也就是系統(tǒng)能夠并發(fā)執(zhí)行的作業(yè)的最大道數(shù)。在整個系統(tǒng)運行期間分區(qū)的大小、分區(qū)的個數(shù)都是固定不變的。為了實現(xiàn)這種固定分區(qū)的管理,系統(tǒng)需要建立一張分區(qū)說明表,如表所示。在這個分區(qū)說明表中,指出了系統(tǒng)的分區(qū)個數(shù)以及每個分區(qū)的大小、起始地址和分配狀態(tài)(該區(qū)是否分配)。內(nèi)存的分配、回收、存儲、保護(hù)以及地址轉(zhuǎn)換都是通過該表進(jìn)行的。分區(qū)說明表分區(qū)號大小起始狀態(tài)116KB20KB未分配264KB36KB已分配380KB100KB已分配4128B180KB未分配1.存儲器管理1.存儲器管理3〕動態(tài)分區(qū)管理①動態(tài)分區(qū)的根本概念在固定分區(qū)分配方式中,由于存在“碎片〞問題,所以內(nèi)存浪費現(xiàn)象比較嚴(yán)重。為了獲得更好的內(nèi)存利用率并使存儲空間的劃分更能夠適應(yīng)不同的作業(yè)組合,產(chǎn)生了動態(tài)分區(qū)管理方式。動態(tài)分區(qū),又稱可變分區(qū)。在這種管理方式下,系統(tǒng)并不是預(yù)先劃分內(nèi)存空間,而是根據(jù)作業(yè)的實際需要動態(tài)地劃分內(nèi)存空間。也就是說,在系統(tǒng)初啟時,除了操作系統(tǒng)中常駐內(nèi)存局部以外,只存在一個空閑分區(qū)。隨后,分配程序?qū)⒃搮^(qū)依次劃分給調(diào)度程序選中的進(jìn)程,并且分配的大小可隨用戶進(jìn)程對主存的要求而改變。顯然,這種管理方式下,內(nèi)存中分區(qū)的個數(shù),每個分區(qū)的大小都隨著時間的變化而變化。與固定分區(qū)法相同,動態(tài)分區(qū)也可以使用分區(qū)說明表等數(shù)據(jù)結(jié)構(gòu)來對內(nèi)存進(jìn)行管理。但由于系統(tǒng)在運行的過程中,無法確定分區(qū)的個數(shù)和分區(qū)的大小等情況,使得分區(qū)說明表的大小也難以確定。因而,在動態(tài)分區(qū)分配方式中,通常采用將內(nèi)存中的空閑區(qū)單獨構(gòu)成可用分區(qū)自由鏈表的形式以描述系統(tǒng)內(nèi)存管理。自由鏈表是利用每個空閑區(qū)的開始幾個存儲單元來存放本空閑區(qū)的大小及下一個空閑區(qū)的起始地址,從而將所有的空閑區(qū)都鏈接起來。然后,系統(tǒng)再設(shè)置一個自由鏈表首指針,讓其指向第一個空閑區(qū)。這樣,存儲管理程序可以通過自由鏈表的首指針查找到所有的空閑區(qū)。拓展提高:1.存儲器管理1.存儲器管理②動態(tài)分區(qū)的分配與回收動態(tài)分區(qū)的存儲分配是指系統(tǒng)利用某種分配算法從可用分區(qū)表或自由鏈中尋找滿足條件的空閑區(qū)分配給相應(yīng)的作業(yè)。㈠首次適應(yīng)法。首次適應(yīng)法要求自由鏈表按空閑區(qū)的起始地址遞增的順序排列。㈡循環(huán)首次適應(yīng)算法。也稱作下次適應(yīng)算法,它是從首次適應(yīng)算法演變形成的。㈢最正確適應(yīng)算法。采用這種算法要求可用分區(qū)表或自由鏈表按照空閑區(qū)從小到大的次序排列。㈣最壞適應(yīng)法是把一個作業(yè)分配到內(nèi)存中最大的空閑區(qū)中。采用這種算法要求可用分區(qū)表或自由鏈表按照空閑區(qū)從大到小的次序排列。這種算法看起來是最差的算法,因為它總是將最大的空閑區(qū)來滿足用戶的要求。但是經(jīng)過分析后發(fā)現(xiàn),最壞適應(yīng)算法也具有實用價值。其原因是:在大空閑區(qū)中裝入作業(yè)后,剩下的空閑區(qū)往往也很大而不至于是“碎片〞,于是也能滿足以后較大的作業(yè)要求。拓展提高:1.存儲器管理1.存儲器管理1.存儲器管理1.存儲器管理1.存儲器管理1.存儲器管理3〕動態(tài)頁式存儲管理動態(tài)頁式管理是在靜態(tài)頁式管理的根底上開展起來的,它分為請求頁式管理和預(yù)調(diào)入頁式管理。請求頁式管理和預(yù)調(diào)入頁式管理在作業(yè)或進(jìn)程開始執(zhí)行之前,都不把作業(yè)或進(jìn)程的程序段和數(shù)據(jù)段一次性地全部裝入內(nèi)存,而只裝入被認(rèn)為是經(jīng)常反復(fù)執(zhí)行和調(diào)用的工作區(qū)局部。其他局部那么在執(zhí)行過程中動態(tài)裝入。請求頁式管理與預(yù)調(diào)入頁式管理的主要區(qū)別在它們的調(diào)入方式上。請求頁式管理的調(diào)入方式是:當(dāng)需要執(zhí)行某條指令而又發(fā)現(xiàn)它不在內(nèi)存時或當(dāng)執(zhí)行某條指令需要訪問其他的數(shù)據(jù)或指令時,這些指令和數(shù)據(jù)不在內(nèi)存中,從而發(fā)生缺頁中斷,系統(tǒng)將外存中相應(yīng)的頁面調(diào)入內(nèi)存。預(yù)調(diào)入頁式管理的調(diào)入方式是:系統(tǒng)對那些在外存中的頁進(jìn)行調(diào)入順序計算,估計出這些頁中指令和數(shù)據(jù)的執(zhí)行和被訪問的順序,并按此順序?qū)⑺鼈冺槾握{(diào)入和調(diào)出內(nèi)存。除了在調(diào)入方式上請求頁式管理和預(yù)調(diào)入頁式管理有些區(qū)別之外,其他方面這兩種方式根本相同。1.存儲器管理1.存儲器管理①請求頁式管理中頁表的結(jié)構(gòu)請求頁式管理需要解決以下幾個具體的問題:一是系統(tǒng)如何獲知進(jìn)程當(dāng)前所需頁面不在內(nèi)存;二是當(dāng)發(fā)現(xiàn)缺頁時,采用何種方式把所缺頁面調(diào)入內(nèi)存;三是當(dāng)內(nèi)存中沒有空閑的頁面時,為了接收一個新的頁,需要淘汰一個老的頁,需要采用什么策略來選擇被淘汰的頁面,且被淘汰的頁面是否需要保存。為解決上述問題將靜態(tài)分頁管理的頁表結(jié)構(gòu)擴(kuò)充為如下圖。請求頁式管理下的頁表1.存儲器管理1.存儲器管理②頁面置換算法進(jìn)程在運行過程中,假設(shè)其所訪問的頁面不在內(nèi)存而需將它調(diào)入內(nèi)存,但內(nèi)存已沒有空閑的頁面時,為了保證該進(jìn)程能繼續(xù)運行,系統(tǒng)必須從內(nèi)存中調(diào)出一頁程序或數(shù)據(jù)到磁盤的對換區(qū)中,這一工作稱為頁面調(diào)度或頁面置換。頁面置換實際上是確定淘汰哪一頁的問題。從理論上講,應(yīng)該將那些以后不會再訪問的頁面調(diào)出,或?qū)⒃谳^長時間內(nèi)不再訪問的頁面調(diào)出。但是,要實現(xiàn)這樣一個調(diào)度算法確實很難。目前存在著許多種置換算法,它們都試圖更靠近這個理論上的目標(biāo)。事實上,如果淘汰算法選擇不當(dāng),那么有可能會出現(xiàn)剛被調(diào)入內(nèi)存的頁面馬上又被調(diào)出內(nèi)存,使整個系統(tǒng)的頁調(diào)度非常頻繁,以至CPU大局部時間都花費在內(nèi)存與外存的調(diào)入、調(diào)出上,這種現(xiàn)象稱為“抖動〞也稱為“顛簸(Thrashing)〞。1.存儲器管理1.存儲器管理4〕頁式存儲管理優(yōu)缺點由于頁式存儲管理有效地解決了存儲器的“碎片〞問題,因而能同時為更多的作業(yè)提供存儲空間,能在更高的程度上進(jìn)行多道程序設(shè)計,從而相應(yīng)地提高了存儲器和CPU的利用率,分頁系統(tǒng)具備如下優(yōu)點。解決了內(nèi)存的“碎片〞問題,能有效地利用內(nèi)存。方便多道程序設(shè)計,并且程序運行的道數(shù)增加了??商峁┐笕萘康奶摂M存儲器,作業(yè)的地址空間不再受實際內(nèi)存大小的限制。更加方便了用戶,特別是大作業(yè)的用戶。當(dāng)某作業(yè)地址空間超過主存空間時,用戶也無需考慮覆蓋結(jié)構(gòu)。1.存儲器管理1.存儲器管理頁式存儲管理方式的缺點如下。要求有相應(yīng)的硬件支持,如需要動態(tài)地址變換機(jī)構(gòu)、缺頁中斷處理機(jī)構(gòu)等,增加了計算機(jī)的本錢。必須提供相應(yīng)的數(shù)據(jù)結(jié)構(gòu)來管理存儲器,而這些數(shù)據(jù)結(jié)構(gòu)不僅占用了局部主存空間,同時它們的建立和管理要花費CPU的時間。雖然解決了分區(qū)管理中的“碎片〞問題,但在分頁系統(tǒng)中頁內(nèi)“碎片〞問題仍然存在。對于靜態(tài)分頁管理系統(tǒng),用戶作業(yè)要求一次性裝入內(nèi)存,將給用戶作業(yè)的運行帶來一定的限制。在請求分頁管理中,需要進(jìn)行缺頁中斷處理,特別是請求調(diào)頁的算法假設(shè)選擇不當(dāng),還有可能出現(xiàn)抖動現(xiàn)象,增加了系統(tǒng)開銷,降低了系統(tǒng)效率。1.存儲器管理1.存儲器管理〔4〕段式及段頁式存儲管理從固定分區(qū)到動態(tài)分區(qū),進(jìn)而又開展到分頁系統(tǒng)的原因,主要都是為了提高內(nèi)存的利用率,然而,上述存儲管理方式為用戶提供的都是一維線性地址空間。而事實上,從程序本身的邏輯結(jié)構(gòu)和邏輯關(guān)系上看,它既有主程序、子程序,也有數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)等。在分頁式存儲管理下,將作業(yè)地址空間機(jī)械地分割成很多個頁,從而破壞了程序內(nèi)部的天然邏輯結(jié)構(gòu),這樣常常會把邏輯上相關(guān)局部的內(nèi)容劃到不同的頁面上,這對于模塊化程序和變化的數(shù)據(jù)結(jié)構(gòu)的處理,以及不同作業(yè)之間對某些公用子程序或數(shù)據(jù)塊的共享等問題的解決,都存在著較大的困難;此外,程序人員一般都希望把信息按其內(nèi)容或函數(shù)關(guān)系分成段,每段有其自己的名字,且可以根據(jù)名字來訪問相應(yīng)程序或數(shù)據(jù)段。按照這種邏輯結(jié)構(gòu)來分配內(nèi)存,那么引入了分段(Segment)存儲管理,通常分為簡單段式(簡稱段式)和段頁結(jié)合式兩種。1.存儲器管理1.存儲器管理
2.設(shè)備管理2.設(shè)備管理〔1〕設(shè)備管理在計算機(jī)系統(tǒng)中,設(shè)備管理是指對數(shù)據(jù)傳輸控制和對除中央處理器和主存儲器之外的所有其他設(shè)備的管理。由于I/O設(shè)備不僅種類繁多,而且它們的特性和操作方式,往往相差甚大,這就使設(shè)備管理成為操作系統(tǒng)中最繁雜且與硬件緊密相關(guān)的局部。1〕I/O系統(tǒng)硬件結(jié)構(gòu)對于不同規(guī)模的計算機(jī)系統(tǒng),其I/O系統(tǒng)的硬件結(jié)構(gòu)也有所差異。通常可分為兩大類:微型機(jī)I/O系統(tǒng)和主機(jī)I/O系統(tǒng)。
2.設(shè)備管理2.設(shè)備管理2)外設(shè)的分類①按操作特性分類按這種方法可把外部設(shè)備分為存儲設(shè)備和輸入/輸出(I/O)設(shè)備。存儲設(shè)備是計算機(jī)用來存儲信息的設(shè)備,如磁盤、光盤及磁帶等。②按信息交換的單位分類按這種方法可將外部設(shè)備分為字符設(shè)備和塊設(shè)備。塊設(shè)備用于存儲信息。由于信息的存取總是以數(shù)據(jù)塊為單位,故被稱為塊設(shè)備,如磁帶及磁盤等。字符設(shè)備用于數(shù)據(jù)的輸入和輸出,其根本單位是字符,故稱為字符設(shè)備,如打印機(jī)及鍵盤等。③按傳輸速率分類按這種方法可將外部設(shè)備分為低速設(shè)備、中速設(shè)備和高速設(shè)備。低速設(shè)備是指傳輸速率為每秒中幾個字節(jié)至數(shù)百個字節(jié)的一類設(shè)備,如鍵盤、鼠標(biāo)、語音的輸入和輸出等。中速設(shè)備是指傳輸速率為每秒數(shù)千個字節(jié)至數(shù)十千個字節(jié)的一類設(shè)備,如行式打印機(jī)、激光打印機(jī)等。高速設(shè)備是指傳輸速率為每秒數(shù)百千個字節(jié)至數(shù)兆字節(jié)的一類設(shè)備,如磁帶機(jī)、磁盤機(jī)及光盤機(jī)等。
2.設(shè)備管理2.設(shè)備管理3)設(shè)備管理的目標(biāo)和功能①設(shè)備管理的目標(biāo)在操作系統(tǒng)中設(shè)備管理的目標(biāo)有以下4項。㈠提高設(shè)備的利用率㈡設(shè)備獨立性㈢字符編碼的獨立性㈣設(shè)備處理的一致性
2.設(shè)備管理2.設(shè)備管理②設(shè)備管理的功能為了實現(xiàn)上述目標(biāo),設(shè)備管理應(yīng)具有以下功能。監(jiān)視系統(tǒng)中所有設(shè)備的狀態(tài)。系統(tǒng)中存在許許多多設(shè)備,這些設(shè)備在系統(tǒng)運行期間處于各自不同的狀態(tài),為了對設(shè)備實施分配和控制,系統(tǒng)必須要在任何時間都能快速地跟蹤設(shè)備狀態(tài)。設(shè)備狀態(tài)信息保存在設(shè)備控制塊(DCB)中,DCB能動態(tài)地記錄設(shè)備狀態(tài)的變化及相關(guān)信息。設(shè)備分配。在多用戶多進(jìn)程中,系統(tǒng)必須決定進(jìn)程何時取得一臺設(shè)備,使用多長時間,使用完畢后如何收回等問題,具體的設(shè)備分配方法將在任務(wù)五中詳細(xì)介紹。設(shè)備控制是設(shè)備管理的另一功能,它包括設(shè)備驅(qū)動和設(shè)備中斷處理,具體的工作過程是在設(shè)備處理的程序中發(fā)出驅(qū)動某設(shè)備工作的I/O指令后,再執(zhí)行相應(yīng)的中斷處理。
2.設(shè)備管理2.設(shè)備管理4)設(shè)備管理與文件管理的關(guān)系操作系統(tǒng)的各個功能之間關(guān)系是非常密切的,設(shè)備管理功能也不例外,與操作系統(tǒng)的其他功能有著非常密切的關(guān)系。例如,操作系統(tǒng)設(shè)備管理功能經(jīng)常調(diào)用CPU管理功能來進(jìn)行進(jìn)程狀態(tài)切換和I/O中斷處理,現(xiàn)在經(jīng)常借助虛存管理功能來實現(xiàn)設(shè)備緩沖區(qū)機(jī)制和平安保護(hù)功能。最為密切的當(dāng)然是設(shè)備管理功能與文件系統(tǒng)之間的關(guān)系,這種密切關(guān)系具體表達(dá)在如下兩點。①統(tǒng)一的接口和無關(guān)層的實現(xiàn)操作系統(tǒng)設(shè)備管理功能的主要用戶界面與文件系統(tǒng)的主要用戶界面是統(tǒng)一的(或者說,設(shè)備管理的主要用戶界面包含在文件系統(tǒng)的用戶界面中),而且設(shè)備管理功能無關(guān)層(也稱獨立層,負(fù)責(zé)實現(xiàn)對所有設(shè)備來說具有共性的功能,并且向用戶級軟件提供一個統(tǒng)一的接口)的主體代碼包含在文件系統(tǒng)代碼中(直到文件與設(shè)備的分化點)。
2.設(shè)備管理2.設(shè)備管理②塊設(shè)備管理與文件系統(tǒng)的關(guān)系文件系統(tǒng)與設(shè)備管理雖然都涉及到外部設(shè)備,但文件系統(tǒng)是管理外部空間和其中存儲的信息,而設(shè)備管理是對外部設(shè)備的物理接口進(jìn)行物理操作。對文件的訪問經(jīng)高幾層的不同邏輯空間逐層向下轉(zhuǎn)化為最終的物理扇區(qū)后,文件系統(tǒng)的底層就要調(diào)用設(shè)備管理功能中的塊設(shè)備驅(qū)動程序來完成實際的I/O操作,從而文件系統(tǒng)不必涉及各種塊設(shè)備的具體接口形式和連接形式?;蛘?,文件系統(tǒng)可看作是因規(guī)模和特點考慮而將塊設(shè)備空間管理和信息管理從設(shè)備管理功能中別離出去的內(nèi)容??傊?,設(shè)備管理與文件系統(tǒng)(共同形成的一系列軟件層次)共同完成了設(shè)備高級接口(即抽象用戶接口)到物理設(shè)備的操作轉(zhuǎn)換和地址轉(zhuǎn)換。
2.設(shè)備管理2.設(shè)備管理
2.設(shè)備管理2.設(shè)備管理
2.設(shè)備管理2.設(shè)備管理3〕DMA控制方式DMA(DirectMemoryAccess,直接存儲器訪問)方式的根本思想是在外設(shè)和主存之間開辟直接的數(shù)據(jù)交換通路。4〕通道控制方式通道控制方式與DMA方式相類似,也是一種內(nèi)存和設(shè)備直接進(jìn)行數(shù)據(jù)交換的方式。與DMA方式不同的是,在通道控制方式中,數(shù)據(jù)傳送方向存放數(shù)據(jù)的內(nèi)存始址及傳送的數(shù)據(jù)塊長度均由一個專門負(fù)責(zé)輸入/輸出的硬件——通道來控制。另外,DMA方式每臺設(shè)備至少需要一個DMA控制器,而通道控制方式中,一個通道可以控制多臺設(shè)備與內(nèi)存進(jìn)行數(shù)據(jù)交換。
2.設(shè)備管理2.設(shè)備管理
2.設(shè)備管理2.設(shè)備管理1〕中斷的根本概念中斷(Interrupt)是指在計算機(jī)執(zhí)行期間,系統(tǒng)內(nèi)發(fā)生任何非尋常的或非預(yù)期的急需處理事件,使得CPU暫時中斷當(dāng)前正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回原來被中斷處繼續(xù)執(zhí)行或調(diào)度新的進(jìn)程執(zhí)行的過程。引起中斷發(fā)生的事件被稱為中斷源。中斷源向CPU發(fā)出的請求中斷處理信號稱為中斷請求,而CPU收到中斷請求后轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序稱為中斷響應(yīng)。在有些情況下,盡管產(chǎn)生了中斷源和發(fā)出中斷請求,但CPU內(nèi)部的處理機(jī)狀態(tài)字PSW的中斷允許位已被去除,從而不允許CPU響應(yīng)中斷。這種情況稱為禁止中斷。CPU禁止中斷后,只有等到PSW的中斷允許位被重新設(shè)置后才能接收中斷。禁止中斷也稱為關(guān)中斷。中斷請求、關(guān)中斷、開中斷等都是由硬件實現(xiàn)的。開中斷和關(guān)中斷是為了保證某些程序的原子性。除了禁止中斷的概念之外,還有一個比較常用的概念是中斷屏蔽。中斷屏蔽是指在中斷請求產(chǎn)生之后,系統(tǒng)用軟件方式有選擇地封鎖局部中斷而允許其余局部的中斷仍能得到響應(yīng)。知識鏈接中斷屏蔽是通過每一類中斷源設(shè)置一個中斷屏蔽觸發(fā)器來屏蔽它們的中斷請求而實現(xiàn)的。不過,有些中斷請求是不能屏蔽甚至不能禁止的,也就是說,這些中斷具有最高優(yōu)先級。不管CPU是否是關(guān)中斷的,只要這些中斷請求一旦提出,CPU必須立即響應(yīng)。
2.設(shè)備管理2.設(shè)備管理
2.設(shè)備管理2.設(shè)備管理3〕中斷的處理過程I/O設(shè)備在設(shè)備控制器的控制下完成了I/O操作后,控制器便向CPU發(fā)出中斷請求,CPU響應(yīng)后便轉(zhuǎn)向中斷處理程序。中斷處理程序的處理過程如下。①喚醒被阻塞的驅(qū)動程序進(jìn)程。無論是什么類型的中斷,當(dāng)中斷處理程序開始執(zhí)行時,都必須喚醒阻塞的驅(qū)動程序進(jìn)程。②保護(hù)被中斷進(jìn)程的現(xiàn)場。將被中斷進(jìn)程的現(xiàn)場信息保存在相應(yīng)的中斷棧中。③分析中斷原因、轉(zhuǎn)入相應(yīng)的設(shè)備中斷處理程序。對中斷源進(jìn)行測試,找出本次中斷的I/O設(shè)備,將該中斷處理程序的入口地址裝入到程序計數(shù)器中,使處理機(jī)轉(zhuǎn)向中斷處理程序。④進(jìn)行中斷處理。執(zhí)行相應(yīng)的中斷處理程序進(jìn)行中斷處理。如果是正常完成中斷,驅(qū)動程序進(jìn)行中斷處理;如果是異常結(jié)束,那么根據(jù)發(fā)生異常的原因做相應(yīng)的處理。⑤恢復(fù)被中斷進(jìn)程的現(xiàn)場。中斷處理程序完成后,可將保存在中斷棧中的被中斷進(jìn)程的現(xiàn)場信息取出裝入到相應(yīng)的存放器中。
2.設(shè)備管理2.設(shè)備管理5〕設(shè)備的分配在多道程序環(huán)境下,系統(tǒng)中的設(shè)備不允許用戶自行使用,而必須由系統(tǒng)分配。每當(dāng)進(jìn)程向系統(tǒng)提出I/O請求時,只要是可能的和平安的,設(shè)備分配程序便按照一定的策略,把其所需的設(shè)備分配給用戶(進(jìn)程)。在有的系統(tǒng)中為了確保在CPU與設(shè)備之間能進(jìn)行通信,還應(yīng)分配相應(yīng)的控制器和通道。為了實現(xiàn)設(shè)備分配,還必須在系統(tǒng)中設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu)。1〕設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)在進(jìn)行設(shè)備分配時,通常都需要借助于一些表格的幫助。在表格中記錄了相應(yīng)設(shè)備或控制器的狀態(tài)及對設(shè)備或控制器進(jìn)行控制所需的信息。在進(jìn)行設(shè)備分配時所需的數(shù)據(jù)結(jié)構(gòu)表格有設(shè)備控制表、控制器控制表、通道控制表、系統(tǒng)設(shè)備表等。2〕設(shè)備分配思想根據(jù)設(shè)備的特性可把設(shè)備分為獨享設(shè)備、共享設(shè)備和虛擬設(shè)備3種。
2.設(shè)備管理2.設(shè)備管理3〕設(shè)備分配程序①根本的設(shè)備分配程序?qū)τ诰哂蠭/O通道的系統(tǒng),在進(jìn)程提出I/O請求后,系統(tǒng)的設(shè)備分配程序可按下述步驟進(jìn)行設(shè)備分配。㈠分配設(shè)備。㈡分配控制器。㈢分配通道。
2.設(shè)備管理2.設(shè)備管理②設(shè)備分配程序的改進(jìn)仔細(xì)研究上述根本的設(shè)備分配程序,可以發(fā)現(xiàn):進(jìn)程是以物理設(shè)備名來提出I/O請求的。采用的是單通道的I/O系統(tǒng)結(jié)構(gòu),容易產(chǎn)生“瓶頸〞現(xiàn)象。為此,應(yīng)從以下兩方面對根本的設(shè)備分配程序加以改進(jìn),以使獨占設(shè)備的分配程序具有更大的靈活性,提高分配的成功率。㈠增加設(shè)備的獨立性。為了獲得設(shè)備的獨立性,進(jìn)程應(yīng)用邏輯設(shè)備名請求I/O。這樣,系統(tǒng)首先從SDT中找出第一個該類設(shè)備的DCT,如該設(shè)備忙,又查找第二個該類設(shè)備的DCT。僅當(dāng)所有的該類設(shè)備都忙時,才把進(jìn)程掛在該類設(shè)備的等待隊列上。而只要有一個該類設(shè)備可用,系統(tǒng)便可進(jìn)一步計算分配該設(shè)備的平安性。㈡考慮多通路情況。為了防止在I/O系統(tǒng)出現(xiàn)“瓶頸〞現(xiàn)象,通常都采用多通路的I/O系統(tǒng)結(jié)構(gòu)。此時對控制器和通道的分配,同樣要經(jīng)過幾次重復(fù)。即假設(shè)設(shè)備(控制器)所連接的第一個控制器(通道)忙時,應(yīng)查看其所連接的第二個控制器(通道)。知識鏈接僅當(dāng)所有的控制器(通道)都忙時,此次的控制器(通道)分配才算失敗,才把進(jìn)程掛在控制器(通道)的等待隊列上。而只要有一個控制器(通道)可用,系統(tǒng)便將它分配給進(jìn)程。
2.設(shè)備管理2.設(shè)備管理
2.設(shè)備管理2.設(shè)備管理②SPOOLING系統(tǒng)的組成SPOOLING系統(tǒng)是對脫機(jī)輸入、輸出工作的模擬,它必須有高速隨機(jī)外存的支持,這通常是采用磁盤。SPOOLING系統(tǒng)主要有以下3局部。㈠輸入井和輸出井。這是在磁盤上開辟的兩大存儲空間。輸入井是模擬脫機(jī)輸入時的磁盤,用于收容I/O設(shè)備輸入的數(shù)據(jù)。輸出井是模擬脫機(jī)輸出時的磁盤,用于收容用戶程序的輸出數(shù)據(jù)。㈡輸入緩沖區(qū)和輸出緩沖區(qū)。在內(nèi)存中要開辟兩個緩沖區(qū):輸入緩沖區(qū)和輸出緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設(shè)備送來的數(shù)據(jù),以后再傳送到輸入井。輸出緩沖區(qū)用于暫存從輸出井送來的數(shù)據(jù),以后再傳送給輸出設(shè)備。㈢輸入進(jìn)程SP1和輸出進(jìn)程SP0。進(jìn)程SP1模擬脫機(jī)輸入時的外圍控制機(jī),將用戶要求的數(shù)據(jù)從輸入機(jī)通過輸入緩沖區(qū)再送到輸入井。知識鏈接當(dāng)CPU需要輸入數(shù)據(jù)時,直接從輸入井讀入內(nèi)存。SP0進(jìn)程模擬脫機(jī)輸出時的外圍控制機(jī),把用戶要求輸出的數(shù)據(jù),先從內(nèi)存送到輸出井,待輸出設(shè)備空閑時,再將輸出井中的數(shù)據(jù),經(jīng)過輸出緩沖區(qū)送到輸出設(shè)備上。
2.設(shè)備管理2.設(shè)備管理
2.設(shè)備管理2.設(shè)備管理6〕設(shè)備處理設(shè)備處理程序通常又稱為設(shè)備驅(qū)動程序。它是I/O進(jìn)程和設(shè)備控制器之間的通信程序,又由于它常以進(jìn)程的形式存在,故簡稱為設(shè)備驅(qū)動進(jìn)程。其主要任務(wù)是接收上層軟件發(fā)來的抽象請求,如read或write命令,再把它轉(zhuǎn)化為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行,故應(yīng)為每一類設(shè)備配置一種驅(qū)動程序。有時也可為非常類似的兩類設(shè)備配置一個驅(qū)動程序。①設(shè)備驅(qū)動程序的功能和特點設(shè)備驅(qū)動程序的主要功能如下。㈠將接收到的抽象要求轉(zhuǎn)換為具體要求。㈡檢查用戶I/O請求的合法性,了解I/O設(shè)備的狀態(tài),傳遞有關(guān)參數(shù),設(shè)置設(shè)備的工作方式。㈢發(fā)出I/O命令,啟動分配到的I/O設(shè)備,完成指定的I/O操作。㈣及時響應(yīng)由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。㈤對于設(shè)置有通道的計算機(jī)系統(tǒng),驅(qū)動程序還應(yīng)能夠根據(jù)用戶的I/O請求,自動地構(gòu)成通道程序。
2.設(shè)備管理2.設(shè)備管理設(shè)備驅(qū)動程序的特點如下。㈠驅(qū)動程序主要是在請求I/O的進(jìn)程與設(shè)備控制器之間的一個通信程序。它將進(jìn)程的I/O請求傳送給控制器,而把設(shè)備控制器中所記錄的設(shè)備狀態(tài)、I/O操作完成情況,反映給請求I/O的進(jìn)程。㈡驅(qū)動程序與I/O設(shè)備的特性緊密相關(guān)。因此,對于不同類型的設(shè)備,應(yīng)配置不同的驅(qū)動程序。㈢驅(qū)動程序與I/O控制方式緊密相關(guān)。常用的設(shè)備控制方式是中斷驅(qū)動和DMA方式。這兩種方式的驅(qū)動程序明顯不同,因為前者應(yīng)按數(shù)組方式啟動設(shè)備及進(jìn)行中斷處理。㈣由于驅(qū)動程序與硬件緊密相關(guān),因而其中的一局部程序必須用匯編語言書寫,目前有很多驅(qū)動程序,其根本局部已經(jīng)固化,放在ROM中。
2.設(shè)備管理2.設(shè)備管理②設(shè)備驅(qū)動程序的處理過程設(shè)備處理程序的處理過程如下。㈠將邏輯設(shè)備轉(zhuǎn)換為物理設(shè)備。當(dāng)邏輯設(shè)備翻開時,在相應(yīng)的邏輯設(shè)備描述器中記錄了該邏輯設(shè)備與實際物理設(shè)備之間的聯(lián)系。㈡I/O請求的合法性檢查。對于輸入輸出設(shè)備在某一時刻只能進(jìn)行輸入或輸出操作,如設(shè)備不支持這次I/O請求,那么認(rèn)為這次I/O請求非法。對于磁盤、磁帶之類的設(shè)備,雖然是讀寫設(shè)備,但在某一時刻也只能進(jìn)行其中的一項操作,如規(guī)定的是寫操作,那么讀操作是非法的。㈢檢查設(shè)備的狀態(tài)。啟動某設(shè)備的前提是該設(shè)備處于空閑狀態(tài),因此啟動該設(shè)備之前,必須從設(shè)備控制器的狀態(tài)存放器中讀出該設(shè)備的狀態(tài),只有在該設(shè)備處于空閑狀態(tài)時,才能啟動該設(shè)備控制器,否那么應(yīng)等待。㈣傳送參數(shù)。許多設(shè)備除應(yīng)向其控制器發(fā)出啟動命令外,還必須傳送相應(yīng)的參數(shù)。如在啟動磁盤讀寫之前,應(yīng)先將傳送的字節(jié)數(shù)、數(shù)據(jù)應(yīng)到達(dá)的主存起始地址送入控制器的相應(yīng)存放器中。㈤啟動I/O設(shè)備。完成上述準(zhǔn)備工作后,驅(qū)動程序向控制器的命令存放器中傳送相應(yīng)的控制命令。知識鏈接驅(qū)動程序發(fā)出I/O命令后,基本的I/O是在設(shè)備控制器的控制下進(jìn)行的。通常I/O操作要完成的工作很多,需要一定時間,因等待I/O操作,驅(qū)動程序進(jìn)程的狀態(tài)而由運行變?yōu)殛幦钡街袛嗟絹聿艑⑺鼏拘选?/p>
2.設(shè)備管理2.設(shè)備管理〔7〕終端管理和時鐘管理1〕終端管理每臺計算機(jī)都有一個或多個終端,由于終端的類型、型號較多,因此需要終端驅(qū)動程序屏蔽其細(xì)節(jié)。根據(jù)操作系統(tǒng)如何與終端通信,將終端分成3類:存儲映像終端、RS-232串行接口和網(wǎng)絡(luò)接口終端。①存儲映像終端其包括鍵盤和顯示器,二者直接與計算機(jī)相連。存儲映像終端使用稱為視頻RAM(VideoRAM)的特殊存儲器。視頻RAM是計算機(jī)地址空間的一局部,系統(tǒng)使用與其他地址空間一樣的方式對它進(jìn)行訪問。視頻存儲卡有一個芯片稱為視頻控制器(VideoController)。這個芯片從視頻RAM中取出字符,產(chǎn)生用于驅(qū)動顯示器(監(jiān)視器)的視頻信號。監(jiān)視器產(chǎn)生水平掃描屏幕的電子束。典型的屏幕有480~1024行,每行640~1200點。這些點稱為像素(Pixel)。視頻控制器調(diào)節(jié)電子束,決定一個像素是亮的還是黑的。彩色監(jiān)視器有三個電子束,分別對應(yīng)紅色、綠色和藍(lán)色。
2.設(shè)備管理2.設(shè)備管理RS-232終端與計算機(jī)通信
2.設(shè)備管理2.設(shè)備管理③X終端此為智能終端中最高檔的一種,它包含和主機(jī)CPU一樣強(qiáng)大的CPU。X終端還包含幾兆字節(jié)的主存、鍵盤和鼠標(biāo),在其上運行MIT的X-Windows系統(tǒng)。一般X終端通過以太網(wǎng)和主機(jī)通信。一個X終端是運行X軟件的計算機(jī)。一些產(chǎn)品只能運行X,其他產(chǎn)品作為通用機(jī)能把X作為和其他程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州省黔東南、黔南、黔西南2025屆英語八年級第二學(xué)期期中綜合測試試題含答案
- 2025年銀發(fā)消費市場:高品質(zhì)養(yǎng)老服務(wù)需求研究報告001
- 新能源汽車租賃服務(wù)在2025年新能源環(huán)衛(wèi)車市場的應(yīng)用前景報告
- 2025年農(nóng)業(yè)科技創(chuàng)新成果轉(zhuǎn)化機(jī)制報告:科技成果轉(zhuǎn)化機(jī)制創(chuàng)新與政策支持
- 商業(yè)銀行金融科技人才金融科技人才培養(yǎng)與人才培養(yǎng)評價研究報告
- 制造業(yè)綠色供應(yīng)鏈管理在綠色制造與綠色產(chǎn)業(yè)政策創(chuàng)新報告
- 2025年二手交易電商平臺信用評價體系與市場發(fā)展趨勢研究報告001
- 2025屆上海市長寧區(qū)八下英語期中統(tǒng)考模擬試題含答案
- 2025年醫(yī)院電子病歷系統(tǒng)在醫(yī)院信息化中的數(shù)據(jù)備份優(yōu)化報告
- 2025年養(yǎng)老金制度改革對金融市場投資機(jī)會與風(fēng)險規(guī)避研究報告
- Unit 2 Home Sweet Home 第6課時(Project Reading Plus) 2025-2026學(xué)年人教版英語八年級下冊
- 餐飲連鎖企業(yè)品牌授權(quán)與經(jīng)營管理協(xié)議
- 2025-2030年中國生物醫(yī)學(xué)材料行業(yè)市場深度分析及發(fā)展前景與投資研究報告
- 2025年小學(xué)語文一年級下冊無紙筆測試題(小學(xué)一年級游園樂考無紙化檢測)
- 2025至2030中國彈簧鋼行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025年地理中考時政熱點復(fù)習(xí)課件
- 北京市2024年高招本科普通批錄取投檔線
- DB32-T 5088-2025 廢活性炭綜合利用污染控制技術(shù)規(guī)范
- 2024-2025學(xué)年人教版數(shù)學(xué)八年級下冊期末復(fù)習(xí)卷(含解析)
- 學(xué)習(xí)解讀《水利水電建設(shè)工程驗收規(guī)程》SLT223-2025課件
- DZ∕T 0213-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 石灰?guī)r、水泥配料類(正式版)
評論
0/150
提交評論