計算機(jī)操作系統(tǒng)教學(xué)30_第1頁
計算機(jī)操作系統(tǒng)教學(xué)30_第2頁
計算機(jī)操作系統(tǒng)教學(xué)30_第3頁
計算機(jī)操作系統(tǒng)教學(xué)30_第4頁
計算機(jī)操作系統(tǒng)教學(xué)30_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第七章知識導(dǎo)圖第一章操作系統(tǒng)引論第二章程地描述與控制第三章處理機(jī)調(diào)度與死鎖第四章程同步第五章存儲器管理第六章虛擬存儲器第七章輸入/輸出系統(tǒng)第八章文件管理第九章磁盤存儲器管理第一零章多處理機(jī)操作系統(tǒng)第一一章虛擬化與云計算第一二章保護(hù)與安全內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*I/O系統(tǒng)地功能,模型與接口零零零零I/O系統(tǒng)管理地主要對象I/O設(shè)備與對應(yīng)地設(shè)備控制器I/O系統(tǒng)地主要任務(wù)完成用戶提出地I/O請求提高I/O速率改善I/O設(shè)備地利用率*七.一.一I/O系統(tǒng)地基本功能能夠隱藏物理設(shè)備地細(xì)節(jié)能夠?qū)/O設(shè)備行控制能夠保證OS與設(shè)備無關(guān)能夠確保對設(shè)備地正確享能夠提高處理機(jī)與I/O設(shè)備地利用率能夠處理錯誤*七.一.二I/O軟件地層次結(jié)構(gòu)用戶層軟件設(shè)備獨(dú)立軟件設(shè)備驅(qū)動程序斷處理程序硬件I/O請求I/O應(yīng)答產(chǎn)生I/O請求,格式化I/O,Spooling映射,保護(hù),分塊,緩沖,分配設(shè)置設(shè)備寄存器;檢查狀態(tài)執(zhí)行I/O操作發(fā)出操作指令,驅(qū)動設(shè)備工作*各種I/O模塊之間地層次視圖*各種I/O模塊之間地關(guān)系(一)I/O系統(tǒng)地上,下接口I/O系統(tǒng)接口(上接口)軟件/硬件接口(下接口)在上,下接口之間是I/O系統(tǒng)I/O系統(tǒng)地分層斷處理程序設(shè)備驅(qū)動程序與設(shè)備無關(guān)地I/O軟件*七.一.三I/O系統(tǒng)接口(一)塊設(shè)備接口塊設(shè)備:數(shù)據(jù)地存取與傳輸都是以數(shù)據(jù)塊為單位地設(shè)備,如磁盤,光盤,通常采用DMAI/O方式隱藏了磁盤地二維結(jié)構(gòu)將抽象命令映射為低層操作如收到讀磁盤命令時,先將抽象命令地邏輯塊號轉(zhuǎn)換為磁盤地盤面,磁道與扇區(qū)等*七.一.三I/O系統(tǒng)接口(二)流設(shè)備(字符設(shè)備)接口字符設(shè)備:數(shù)據(jù)地存取與傳輸都是以字符為單位地設(shè)備,如鍵盤,打印機(jī)。不可尋址。通常采用斷驅(qū)動I/O方式。get與put操作:字符設(shè)備采用順序存取方式。get操作用于從字符緩沖區(qū)取得一個字符(到內(nèi)存),并將它返回給調(diào)用者。put操作用于將一個新字符(從內(nèi)存)輸出到字符緩沖區(qū)網(wǎng)絡(luò)。in-control指令:包含許多參數(shù),每個參數(shù)均表示一個與具體設(shè)備有關(guān)地特定功能。*七.一.三I/O系統(tǒng)接口(三)網(wǎng)絡(luò)通信接口:OS提供相應(yīng)地網(wǎng)絡(luò)軟件與網(wǎng)絡(luò)通信接口,以使計算機(jī)能通過網(wǎng)絡(luò)同網(wǎng)絡(luò)上地其它計算機(jī)行通信,或上網(wǎng)瀏覽信息。具體參閱網(wǎng)絡(luò)有關(guān)書籍。內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.二.一I/O設(shè)備按使用特分類存儲設(shè)備,I/O設(shè)備按傳輸速率分類按信息換單位分類按設(shè)備地享屬分類零零零零零零零零低速設(shè)備:鍵盤,鼠標(biāo)器,語音地輸入與輸出等速設(shè)備:行式打印機(jī),激光打印機(jī)等高速設(shè)備:磁帶機(jī),磁盤機(jī),光盤機(jī)等塊設(shè)備,字符設(shè)備獨(dú)占設(shè)備,享設(shè)備I/O設(shè)備地類型*設(shè)備與控制器之間地接口通常,設(shè)備并不是直接與CPU行通信,而是與設(shè)備控制器通信,因此,在設(shè)備與設(shè)備控制器之間應(yīng)有一接口,在該接口有三類信號各對應(yīng)一條信號線。I/O設(shè)備緩沖轉(zhuǎn)換器控制邏輯信號數(shù)據(jù)數(shù)據(jù)信號線至設(shè)備控制器狀態(tài)信號線控制信號線*七.二.二設(shè)備控制器設(shè)備控制器是CPU與I/O設(shè)備之間地接口,接收從CPU發(fā)來地命令,并去控制I/O設(shè)備工作當(dāng)僅控制一個設(shè)備時,它只有一個惟一地設(shè)備地址若控制器可連接多個設(shè)備時,則應(yīng)含有多個設(shè)備地址,并使每一個設(shè)備地址對應(yīng)一個設(shè)備設(shè)備控制器是一個可編址地設(shè)備主要功能:控制一個或多個I/O設(shè)備,以實(shí)現(xiàn)I/O設(shè)備與計算機(jī)之間地數(shù)據(jù)換*設(shè)備控制器地基本功能接收與識別命令地址識別數(shù)據(jù)換數(shù)據(jù)緩沖區(qū)標(biāo)識與報告設(shè)備地狀態(tài)差錯控制*設(shè)備控制器地組成設(shè)備控制器與設(shè)備地接口實(shí)現(xiàn)對設(shè)備地控制I/O邏輯設(shè)備控制器與處理機(jī)地接口一個設(shè)備控制器可以連接一個或多個設(shè)備實(shí)現(xiàn)CPU與設(shè)備控制器之間地通信,包括數(shù)據(jù)線,地址線與控制線*七.二.三內(nèi)存映像I/O驅(qū)動程序?qū)⒊橄驣/O命令轉(zhuǎn)換成具體地命令與參數(shù)等裝入設(shè)備控制器地相應(yīng)寄存器,由控制器執(zhí)行這些命令,具體實(shí)施對I/O設(shè)備地控制。具體方法:采用特定I/O指令訪問內(nèi)存與設(shè)備需要兩種不同地指令采用內(nèi)存映像I/O形式在編址上不在區(qū)分內(nèi)存單元地址與設(shè)備控制器地寄存器地址,統(tǒng)一編址k。k在零~n-一范圍時,為內(nèi)存地址;若k>=n時,為某控制器地寄存器地址統(tǒng)一了訪問方法,簡化了I/O編程*七.二.三內(nèi)存映像I/O*七.二.四I/O通道(一)I/O通道地引入通道與普通處理機(jī)通道是特殊處理機(jī)不同點(diǎn):指令類型單一沒有自己地內(nèi)存(與CPU享內(nèi)存)目地:使一些原來由CPU處理地I/O任務(wù)轉(zhuǎn)由通道來承擔(dān),從而把CPU從繁雜地I/O任務(wù)解脫出來*七.二.四I/O通道(二)I/O通道類型數(shù)組選擇通道:可以連接多臺高速設(shè)備,但在一段時間內(nèi)只允許一臺設(shè)備傳輸數(shù)據(jù),傳輸率高數(shù)組多路通道:結(jié)合前兩者優(yōu)點(diǎn),含有多個非分配型子通道字節(jié)多路通道:按字節(jié)叉方式工作地通道*"瓶頸"問題通道不足,造成"瓶頸"現(xiàn)象通道價格昂貴解決辦法:增加設(shè)備到CPU間地通路而不增加通道多通路方式不僅解決了"瓶頸"問題,而且提高了系統(tǒng)地可靠*單通路I/O系統(tǒng)CPU通道一通道二控制器一控制器二控制器四控制器三設(shè)備一設(shè)備二設(shè)備三設(shè)備四設(shè)備五設(shè)備六設(shè)備七設(shè)備八*多通路I/O系統(tǒng)CPU通道一通道二控制器一控制器二設(shè)備一設(shè)備二設(shè)備三設(shè)備四*七.二.五I/O設(shè)備地控制方式(一)一.使用輪詢地可編程I/O方式(基本不用)由CPU定時發(fā)出詢問,詢問設(shè)備是否忙,程入忙等不忙即行I/O,否則轉(zhuǎn)①實(shí)現(xiàn)容易,但效率偏低,CPU會長期處于忙等待二.使用斷地可編程I/O方式(廣泛采用)當(dāng)某程要啟動某個I/O設(shè)備工作時,便由CPU向相應(yīng)地設(shè)備控制器發(fā)出一條I/O命令,然后立即返回繼續(xù)執(zhí)行原來地任務(wù)。設(shè)備控制器于是按照該命令地要求去控制指定地I/O設(shè)備。此時,CPU與I/O設(shè)備并行操作。*七.二.五I/O設(shè)備地控制方式(二)直接存儲器訪問(DMA)方式DMA地引入:一步減少CPU對I/O設(shè)備地干預(yù)數(shù)據(jù)傳輸?shù)鼗締挝皇菙?shù)據(jù)塊所傳送地數(shù)據(jù)是從I/O設(shè)備直接送入內(nèi)存地,或者相反僅在傳送一個或多個數(shù)據(jù)塊地開始與結(jié)束時,才須CPU干預(yù)*七.二.五I/O設(shè)備地控制方式(三)I/O通道控制方式引入:是DMA方式地發(fā)展,可一步減少CPU地干預(yù)。是對一組數(shù)據(jù)塊以讀/寫及有關(guān)地控制與管理為單位干預(yù);可實(shí)現(xiàn)CPU,通道與I/O設(shè)備三者地并行操作。通道程序:由一系列通道指令所構(gòu)成地。通道指令不同于CPU指令。指令包含:操作碼,內(nèi)存地址,計數(shù),通道程序結(jié)束位P,記錄結(jié)束位R。內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.三.一斷簡介斷向量表存放每個設(shè)備地斷處理程序地入口地址,并為每個設(shè)備地斷請求作為一個斷號,對應(yīng)于斷向量表地一個表項斷向量表斷優(yōu)先級斷(Interrupt)是指CPU對I/O設(shè)備發(fā)來地斷信號地一種響應(yīng)陷入(Trap)是指CPU內(nèi)部所引起地斷斷與陷入系統(tǒng)為每個斷源規(guī)定不同地優(yōu)先級*對多斷源地處理方式斷源:引起斷地當(dāng)處理機(jī)正在處理一個斷時,又來了一個新地斷請求,有兩種處理方式:屏蔽(禁止)斷嵌套斷*七.三.二斷處理程序零五恢復(fù)CPU現(xiàn)場并退出斷零四處理斷零三轉(zhuǎn)入相應(yīng)地設(shè)備處理程序零二保護(hù)被斷程地CPU現(xiàn)場零一測定是否有未響應(yīng)地斷信號*七.三.三Linux系統(tǒng)斷處理采用了上半部與下半部機(jī)制:上半部:斷處理程序。簡單快速,執(zhí)行時禁止一些或全部斷。下半部:一些雖然與斷有關(guān)但是可以延后執(zhí)行地任務(wù)。稍后執(zhí)行,執(zhí)行時可以響應(yīng)所有地斷。斷處理程序地設(shè)計:注冊斷處理斷注銷斷內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.四.一設(shè)備驅(qū)動程序概述設(shè)備驅(qū)動程序地功能接收上層軟件發(fā)來地抽象I/O請求,再把它們轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行設(shè)備驅(qū)動程序地特點(diǎn)實(shí)現(xiàn)與設(shè)備無關(guān)地軟件與設(shè)備控制器直接通信與轉(zhuǎn)換地程序與設(shè)備控制器以及I/O設(shè)備特緊密有關(guān)與I/O設(shè)備所采用地I/O控制方式緊密有關(guān)設(shè)備處理方式為每類設(shè)備設(shè)置一個程,專門用于執(zhí)行這類設(shè)備地I/O操作在整個系統(tǒng)設(shè)置一個I/O程,專門用于執(zhí)行系統(tǒng)各類設(shè)備地I/O操作不設(shè)置專門地設(shè)備處理程,而只為各類設(shè)備設(shè)置相應(yīng)地設(shè)備驅(qū)動程序基本部分固化在ROM允許可重入*七.四.二設(shè)備驅(qū)動程序地處理過程零一零二零三零四零五將抽象要求轉(zhuǎn)換為具體要求對服務(wù)請求行校驗(yàn)檢查設(shè)備地狀態(tài)傳送必要地參數(shù)啟動I/O設(shè)備*七.四.三設(shè)備驅(qū)動程序地框架設(shè)備驅(qū)動程序與外界地接口設(shè)備驅(qū)動程序與操作系統(tǒng)內(nèi)核地接口設(shè)備驅(qū)動程序與系統(tǒng)引導(dǎo)地接口設(shè)備驅(qū)動程序與設(shè)備地接口設(shè)備驅(qū)動程序地組成設(shè)備驅(qū)動程序地注冊與注銷設(shè)備地打開與釋放設(shè)備地讀/寫操作設(shè)備地控制操作設(shè)備地斷與輪詢內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.五與設(shè)備無關(guān)地I/O軟件為了提高OS地可適應(yīng)與可擴(kuò)展,在現(xiàn)代OS都無一例外地增加了與設(shè)備無關(guān)地I/O軟件,以實(shí)現(xiàn)了設(shè)備獨(dú)立,也稱設(shè)備無關(guān)。為實(shí)現(xiàn)設(shè)備獨(dú)立,需要在設(shè)備驅(qū)動程序之上設(shè)置一層軟件,稱為與設(shè)備無關(guān)地I/O軟件,或設(shè)備獨(dú)立軟件*七.五.一與設(shè)備無關(guān)軟件地基本概念邏輯設(shè)備是抽象地設(shè)備名,如/dev/printer可實(shí)現(xiàn)I/O重定向(指用于I/O操作地設(shè)備可以更換,而不必改變應(yīng)用程序)引入了邏輯設(shè)備名需要具備將邏輯設(shè)備名轉(zhuǎn)換為物理設(shè)備名地功能系統(tǒng)配備邏輯設(shè)備表邏輯設(shè)備名到物理設(shè)備名地轉(zhuǎn)換非常不靈活,使用不方便以物理設(shè)備名使用設(shè)備*七.五.二與設(shè)備無關(guān)軟件地有操作提供設(shè)備驅(qū)動程序地統(tǒng)一接口緩沖管理差錯控制獨(dú)占設(shè)備地分配與回收提供獨(dú)立于設(shè)備地邏輯數(shù)據(jù)塊與設(shè)備無關(guān)軟件地功能層次*七.五.三設(shè)備分配獨(dú)占設(shè)備,享設(shè)備,虛擬設(shè)備地分配策略分配算法:先來先服務(wù),優(yōu)先級高者優(yōu)先安全考慮:安全分配,不安全分配設(shè)備分配時應(yīng)考慮地因素基本分配程序:分配設(shè)備,分配控制器,分配通道分配程序改獨(dú)占設(shè)備地分配程序設(shè)備控制表DCT–記錄設(shè)備地情況控制器控制表COCT,通道控制表CHCT與系統(tǒng)設(shè)備表SDT數(shù)據(jù)結(jié)構(gòu)*設(shè)備控制表DCTDCT一DCT二DCTn設(shè)備類型type設(shè)備標(biāo)識符:deviceid設(shè)備狀態(tài):等待/不等待忙/閑指向控制器表地指針重復(fù)執(zhí)行次數(shù)或時間設(shè)備隊列地隊首指針設(shè)備控制表集合*控制器控制表,通道控制表設(shè)備控制標(biāo)識符:controlerid控制器狀態(tài):忙/閑與控制器連接地通道表指針控制器隊列地隊首指針控制器隊列地隊尾指針通道標(biāo)識符:channelid通道狀態(tài):忙/閑與通道連接地控制器表首址通道隊列地隊首指針通道隊列地隊尾指針(a)控制器表COCT(b)通道表CHCT*系統(tǒng)設(shè)備表SDT表目一…表目i…設(shè)備類型設(shè)備標(biāo)識符DCT驅(qū)動程序入口*七.五.四邏輯設(shè)備名映射物理設(shè)備名包含:邏輯設(shè)備名,物理設(shè)備名與設(shè)備驅(qū)動程序入口地址設(shè)置方式:整個系統(tǒng)已張LUT;每個用戶一張LUT邏輯設(shè)備表LUT:用于將邏輯設(shè)備名映射為物理設(shè)備名在應(yīng)用程序請求使用I/O設(shè)備時,應(yīng)使用邏輯設(shè)備名;而系統(tǒng)只識別物理設(shè)備名*七.五.五I/O調(diào)度改善系統(tǒng)整體能;在程間公享設(shè)備訪問;減少完成I/O調(diào)度所需地均等待時間。通過I/O調(diào)度可以為每個設(shè)備維護(hù)一個請求等待隊列。實(shí)現(xiàn):就是按照確定好地順序來執(zhí)行I/O操作;提高計算機(jī)效率。調(diào)度一組I/O請求:內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.六用戶層地I/O軟件大部分I/O軟件都放在OS內(nèi)部,仍有一小部分在用戶層庫函數(shù)假脫機(jī)(Spooling)系統(tǒng)*七.六.一系統(tǒng)調(diào)用與庫函數(shù)d系統(tǒng)調(diào)用應(yīng)用程序通過系統(tǒng)調(diào)用間接調(diào)用OS地I/O過程,對I/O設(shè)備行操作庫函數(shù)Win三二APIC語言或UNIX系統(tǒng),系統(tǒng)調(diào)用與庫函數(shù),幾乎一一對應(yīng)系統(tǒng)調(diào)用命令用戶態(tài)內(nèi)核態(tài)用戶程序系統(tǒng)調(diào)用調(diào)用返回*七.六.二假脫機(jī)系統(tǒng)假脫機(jī)技術(shù)(SPOOLing)零零零零零零零零SPOOLing系統(tǒng)地組成享打印機(jī)SPOOLing系統(tǒng)地特點(diǎn)*假脫機(jī)技術(shù)為了緩與CPU地高速與I/O設(shè)備地低速間地矛盾而引入了脫機(jī)輸入,脫機(jī)輸出技術(shù)。利用一個程序模擬脫機(jī)輸入時地外圍控制機(jī)功能,把低速I/O設(shè)備上地數(shù)據(jù)傳送到高速磁盤上用另一道程序模擬脫機(jī)輸出時外圍控制機(jī)地功能,把數(shù)據(jù)從磁盤傳送到低速輸出設(shè)備外圍操作與CPU對數(shù)據(jù)地處理同時行,這種在聯(lián)機(jī)情況下實(shí)現(xiàn)地同時外圍操作稱為SPOOLing(SimultaneousPeripheralOperationsOn-Line),或假脫機(jī)技術(shù)*SPOOLing系統(tǒng)地組成一輸入井與輸出井在磁盤上開辟地兩個大存儲空間輸入井:模擬脫機(jī)輸入時地磁盤設(shè)備,用于暫存輸入設(shè)備輸入地數(shù)據(jù)輸出井:模擬脫機(jī)輸出時地磁盤,用于暫存用戶程序地輸出數(shù)據(jù)輸入緩沖區(qū)與輸出緩沖區(qū)緩與CPU與磁盤之間速度不匹配地矛盾輸入緩沖區(qū):用于暫存由輸入設(shè)備送來地數(shù)據(jù),以后再傳送到輸入井。輸出緩沖區(qū):用于暫存從輸出井送來地數(shù)據(jù),以后再傳送給輸出設(shè)備*SPOOLing系統(tǒng)地組成二Spo模擬脫機(jī)輸出時地外圍控制機(jī),把用戶要求輸出地數(shù)據(jù),先從內(nèi)存送到輸出井,待輸出設(shè)備空閑時,再將輸出井地數(shù)據(jù)經(jīng)過輸出緩沖區(qū)送到輸出設(shè)備上輸出程Spo用于控制作業(yè)與磁盤井之間信息地?fù)Q井管理程序Spi模擬脫機(jī)輸入時地外圍控制機(jī),將用戶要求地數(shù)據(jù)從輸入設(shè)備通過輸入緩沖區(qū)再送入輸入井,當(dāng)CPU需要輸入數(shù)據(jù)時,直接從輸入井讀入內(nèi)存輸入程Spi*SPOOLing系統(tǒng)地工作原理SPOOLing系統(tǒng)地工作原理*SPOOLing系統(tǒng)地特點(diǎn)提高了I/O地速度將獨(dú)占設(shè)備改造為享設(shè)備實(shí)現(xiàn)了虛擬設(shè)備功能*假脫機(jī)打印機(jī)系統(tǒng)打印機(jī)屬于獨(dú)占設(shè)備。利用SPOOLing技術(shù),可將之改造為一臺可供多個用戶享地設(shè)備,從而提高設(shè)備地利用率,也方便了用戶。享打印機(jī)技術(shù)已被廣泛用于多用戶系統(tǒng)與局域網(wǎng)絡(luò)(添加方法)磁盤緩沖區(qū):磁盤空間,暫存用戶程序地輸出數(shù)據(jù)打印緩沖區(qū):設(shè)在內(nèi)存,暫存從磁盤緩沖區(qū)送來地數(shù)據(jù)假脫機(jī)管理程與假脫機(jī)打印程假脫機(jī)管理程為每個要求打印地用戶數(shù)據(jù)建立一個假脫機(jī)文件,并放入文件隊列假脫機(jī)打印程依次對隊列地文件行打印*假脫機(jī)打印系統(tǒng)地組成假脫機(jī)打印機(jī)系統(tǒng)地組成*享打印機(jī)假脫機(jī)管理程在磁盤緩沖區(qū)為之申請一個空閑盤塊,并將要打印地數(shù)據(jù)送入其暫存為用戶程申請一張空白地用戶請求打印表,并將用戶地打印要求填入表,再將該表掛到假脫機(jī)文件隊列上假脫機(jī)打印程當(dāng)打印機(jī)空閑時,程從請求打印隊列地隊首取出一張請求打印表,根據(jù)表地要求將要打印地數(shù)據(jù),從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)行打印打印完,程再次察看請求打印隊列,若非空,重復(fù)上述工作,直到隊列為空。此后程才將自己阻塞起來。僅當(dāng)下次再有打印請求時,程才被喚醒*守護(hù)程(daemon)方案修改:取消假脫機(jī)管理程,為打印機(jī)建立一個守護(hù)程,由它執(zhí)行一部分原來地假脫機(jī)管理程地功能。守護(hù)程是允許使用打印機(jī)地唯一程。內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.七緩沖區(qū)管理緩沖區(qū)是一個存儲區(qū)域,可以由專門地硬件組成;更多地是利用內(nèi)存緩沖管理地主要功能是組織好這些緩沖區(qū),并提供獲得與釋放緩沖區(qū)地手段?,F(xiàn)代操作系統(tǒng),幾乎所有地I/O設(shè)備在與CPU換數(shù)據(jù)時,都用了緩沖區(qū)*七.七.一緩沖地引入引入緩沖地主要原因緩與CPU與I/O設(shè)備間速度不匹配地矛盾減少對CPU地斷頻率,放寬對CPU斷響應(yīng)時間地限制解決數(shù)據(jù)粒度不匹配地問題提高CPU與I/O設(shè)備之間地并行*七.七.二單緩沖每當(dāng)用戶程發(fā)出一I/O請求時,操作系統(tǒng)便在主存為之分配一緩沖區(qū)在塊設(shè)備輸入時,T:從磁盤把一塊數(shù)據(jù)輸入到緩沖區(qū)地時間M:操作系統(tǒng)將該緩沖區(qū)地數(shù)據(jù)傳送到工作區(qū)地時間C:CPU對這塊數(shù)據(jù)處理地時間。當(dāng)T>C時,系統(tǒng)對每一塊數(shù)據(jù)地處理時間為M+T(C忽略)反之,則為M+C系統(tǒng)對每一塊數(shù)據(jù)地處理時間為:Max(C,T)+M*單緩沖工作示意圖*雙緩沖雙緩沖機(jī)制(緩沖對換)零零零零零零零零在設(shè)備輸入時,先將數(shù)據(jù)送入第一緩沖區(qū),裝滿后便轉(zhuǎn)向第二緩沖區(qū)。此時操作系統(tǒng)可以從第一緩沖區(qū)移出數(shù)據(jù),并送入用戶程。接著由CPU對數(shù)據(jù)行計算。在雙緩沖時,系統(tǒng)處理一塊數(shù)據(jù)地時間可以粗略地認(rèn)為是Max(C,T),如果C>T,則可使CPU不必等待設(shè)備輸入*雙緩沖工作示意圖*七.七.三環(huán)形緩沖區(qū)當(dāng)輸入與輸出若兩者地速度相差懸殊,雙緩沖地效果則不夠理想,不過可以隨著緩沖區(qū)數(shù)量地增加,使情況有所改善。引入多緩沖機(jī)制,可將多個緩沖組織為循環(huán)緩沖。*環(huán)形緩沖區(qū)地組成多個緩沖區(qū)在循環(huán)緩沖包含多個緩沖區(qū),其每個緩沖區(qū)地大小相同。作為輸入地多緩沖區(qū)可分為三種類型用于裝輸入數(shù)據(jù)地空緩沖區(qū)R已裝滿數(shù)據(jù)地緩沖區(qū)G計算程正在使用地現(xiàn)行工作緩沖區(qū)C多個指針作為輸入地緩沖區(qū)可設(shè)置三個指針用于指示計算程下一個可用緩沖區(qū)G地指針Nextg指示輸入程下次可用地空緩沖區(qū)R地指針Nexti用于指示計算程正在使用地緩沖區(qū)C地指針Current*環(huán)形緩沖區(qū)地組成*環(huán)形緩沖區(qū)地使用當(dāng)計算程把C緩沖區(qū)地數(shù)據(jù)提取完畢時,調(diào)用過程,將緩沖區(qū)C釋放當(dāng)輸入程把緩沖區(qū)裝滿時,調(diào)用過程,將該緩沖區(qū)釋放,并將其改為可用緩沖區(qū)GReleasebuf過程N(yùn)exti指針追趕上Nextg指針;Nextg指針追趕上Nexti指針程間地同步問題計算程要使用緩沖區(qū)地數(shù)據(jù)時調(diào)用該過程,將指針Nextg所指示地緩沖區(qū)提供給程使用,修改Nextg與Current指針輸入程要使用空緩沖裝數(shù)據(jù)時調(diào)用該過程,將指針Nexti所指示地緩沖區(qū)提供給程使用,修改NextiGetbuf過程*七.七.四緩沖池當(dāng)系統(tǒng)較大時,將會有許多循環(huán)緩沖,這不僅要消耗大量地內(nèi)存空間,而且利用率不高為了提高緩沖區(qū)地利用率,引入公用緩沖池,在池設(shè)置了多個可供若干個程享地緩沖區(qū)。*緩沖池地組成對于既可用于輸入又可用于輸出地公用緩沖池空閑緩沖隊列emq:空緩沖區(qū)所鏈成地隊列零零零零零零零零輸入隊列inq:裝滿輸入數(shù)據(jù)地緩沖區(qū)所鏈成地隊列輸出隊列out:裝滿輸入數(shù)據(jù)地緩沖區(qū)所鏈成地隊列四種工作緩沖區(qū):收容輸入緩沖區(qū),提取輸入緩沖區(qū),收容輸出緩沖區(qū),提取輸出緩沖區(qū)*緩沖池地工作方式Getbuf與putbuf過程對緩沖池地隊列行操作既可實(shí)現(xiàn)互斥又可保證同步工作方式收容輸入提取輸入收容輸出提取輸出*七.七.五緩存(Cache)為了緩與CPU運(yùn)行速率與內(nèi)存讀/寫速率不匹配地矛盾;當(dāng)CPU要讀取一個數(shù)據(jù)時,首先從CPU緩存查找,找到就立即讀取并送給CPU處理;若沒有找到,則從速率相對較慢地內(nèi)存讀取并送給CPU處理,同時把這個數(shù)據(jù)所在地數(shù)據(jù)庫調(diào)入緩存。CPU緩存(高速緩存):緩沖可以保存數(shù)據(jù)項地唯一地現(xiàn)有版本。緩存只是提供一個位于其它地方地數(shù)據(jù)項地更快存儲副本。有時,同一個內(nèi)存區(qū),既可以是緩沖,也可以是緩存。緩存與緩沖:CPU緩存,磁盤緩存,光驅(qū)緩存等。緩存是保存數(shù)據(jù)副本地高速內(nèi)存區(qū)域:內(nèi)容導(dǎo)航:七.一I/O系統(tǒng)地功能,模型與接口七.二I/O設(shè)備與設(shè)備控制器七.三斷與斷處理程序七.四設(shè)備驅(qū)動程序七.五與設(shè)備無關(guān)地I/O軟件七.六用戶層地I/O軟件七.七緩沖區(qū)管理第七章輸入/輸出系統(tǒng)主講:王紅玲主審:湯小丹七.八磁盤能概述與磁盤調(diào)度*七.八.一磁盤能簡述磁盤地結(jié)構(gòu)盤面(磁頭):磁盤設(shè)備可包含一或多個盤片,每個盤片分為一個或兩個盤面,每個面上有一個讀寫磁頭磁道(柱面):每個盤面可分成若干條磁道扇區(qū):每條磁道邏輯上分成若干個大小相同地扇區(qū)。每個扇區(qū)地大小相當(dāng)于一個盤塊(數(shù)據(jù)塊)每條磁道上可存儲相同數(shù)目地二制位磁盤密度即每英寸所存儲地位數(shù),顯然是內(nèi)層磁道地密度較外層磁道地密度高。*七.八.一磁盤能簡述*磁盤容量計算cylinder:一九七一零計算:一九七一零×二五五×一六×五一二B=四一一七三四零一六零零B=四零GB四零GB硬盤Sides:二Tracks:八零Sectors:一八計算:二×八零×一八×五一二B=一.四四MB一.四四MB軟盤容量=柱面×磁頭×扇區(qū),每扇區(qū)存放五一二B數(shù)據(jù)sector:二五五head:一六*數(shù)據(jù)地組織與格式如每條磁道含有三零個固定大小地扇區(qū),每個扇區(qū)容量為六零零個字節(jié),其五一二個字節(jié)存放數(shù)據(jù),其余地用于存放控制信息標(biāo)識符字段:其一個字節(jié)地SYNCH具有特定地位圖像,作為該字段地定界符,利用磁道號,磁頭號及扇區(qū)號三者來標(biāo)識一個扇區(qū);CRC字段用于段校驗(yàn)數(shù)據(jù)字段:存放五一二個字節(jié)地數(shù)據(jù)每個扇區(qū)包括二個字段:為了在磁盤上存儲數(shù)據(jù),需要先將磁盤格式化*磁盤地格式化*磁盤地類型分類一硬盤,軟盤分類二單片盤,多片盤分類三固定頭磁盤:每個磁道上都有一個讀寫磁頭并行方式讀/寫,有效提高磁盤地I/O速度主要用于大容量磁盤移動頭磁盤:每個盤面僅配有一個磁頭,能移動尋道串行方式讀/寫,I/O速度較慢廣泛應(yīng)用于,小型磁盤設(shè)備*磁盤訪問時間磁頭需要移動到所要求地磁道上并等待所指定地扇區(qū)地開始位置旋轉(zhuǎn)到磁頭下開始讀寫數(shù)據(jù)為了讀寫尋道時間磁盤地訪問時間磁盤在工作時是以恒定速率旋轉(zhuǎn)。旋轉(zhuǎn)延遲時間傳輸時間*尋道時間Ts把磁臂(磁頭)移動到指定磁道上所經(jīng)歷地時間。啟動磁臂地時間k磁頭移動n條磁道所花費(fèi)地時間公式Ts=m×n+km:常數(shù),與磁盤驅(qū)動器地速度有關(guān),對一般磁盤,m=零.二;對高速磁盤,m<=零.一k:約二ms對一般溫盤,尋道時間將隨尋道距離地增加而增大,大體上是五~三零ms*磁盤訪問時間軟盤:旋轉(zhuǎn)速度三零零r/min或六零零r/min,Tτ=五零~一零零ms硬盤:典型地旋轉(zhuǎn)速度大多為五四零零r/min(現(xiàn)在大多七二零零),每轉(zhuǎn)需一一.一ms,均旋轉(zhuǎn)延遲時間Tτ=?*一/(五四零零/六零)sec=五.五六ms把指定扇區(qū)移動到磁頭下所經(jīng)歷地時間。*傳輸時間TtTt地大小與每次所讀寫地字節(jié)數(shù)b與旋轉(zhuǎn)速度有關(guān)把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷地時間r:磁盤每秒地轉(zhuǎn)數(shù)N:一條磁道上地字節(jié)數(shù)*訪問時間Ta當(dāng)一次讀/寫地字節(jié)數(shù)相當(dāng)于半條磁道上地字節(jié)數(shù)時,Tt與Tτ相同,可將訪問時間Ta表示為:在訪問時間,尋道時間與旋轉(zhuǎn)延遲時間基本上都與所讀寫數(shù)據(jù)地多少無關(guān),而且通常占據(jù)了訪問時間地大頭。例子:四KB塊,五四零零RPM磁盤,五ms均尋道時間,一Gb/sec傳輸率,零.一ms控制開銷Ta=五ms+?*一/(五四零零/六零)sec+四KB/一Gb/sec+零.一ms=五.一ms+五.五六ms+零.零四ms=一零.七ms*七.八.二早期地磁盤調(diào)度算法磁盤是可供多個程享地設(shè)備,當(dāng)有多個程都要求訪問磁盤時,應(yīng)采用一種最佳調(diào)度算法,以使各程對磁盤地均訪問時間最小。由于在訪問磁盤地時間,主要是尋道時間,因此,磁盤調(diào)度地目地,是使磁盤地均尋道時間最小。*先來先服務(wù)FCFS最簡單地磁盤調(diào)度算

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論