![第6章 輸入輸出系統(tǒng)課件_第1頁](http://file4.renrendoc.com/view/5e6becf432bafda0cdd4dd57f2d349c4/5e6becf432bafda0cdd4dd57f2d349c41.gif)
![第6章 輸入輸出系統(tǒng)課件_第2頁](http://file4.renrendoc.com/view/5e6becf432bafda0cdd4dd57f2d349c4/5e6becf432bafda0cdd4dd57f2d349c42.gif)
![第6章 輸入輸出系統(tǒng)課件_第3頁](http://file4.renrendoc.com/view/5e6becf432bafda0cdd4dd57f2d349c4/5e6becf432bafda0cdd4dd57f2d349c43.gif)
![第6章 輸入輸出系統(tǒng)課件_第4頁](http://file4.renrendoc.com/view/5e6becf432bafda0cdd4dd57f2d349c4/5e6becf432bafda0cdd4dd57f2d349c44.gif)
![第6章 輸入輸出系統(tǒng)課件_第5頁](http://file4.renrendoc.com/view/5e6becf432bafda0cdd4dd57f2d349c4/5e6becf432bafda0cdd4dd57f2d349c45.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第六章輸入輸出系統(tǒng)6.1I/O系統(tǒng)的功能、模型和接口6.2I/O設備和設備控制器6.3中斷機構和中斷處理程序6.4設備驅動程序6.5與設備無關的I/O軟件6.6用戶層的I/O軟件6.7緩沖區(qū)管理6.8磁盤存儲器的性能和調度基本任務:完成用戶提出的I/O請求,提高I/O速率以及改善I/O設備的利用率主要功能:緩沖區(qū)管理、設備分配、設備處理、虛擬設備及設備獨立性等
6.1I/O系統(tǒng)的功能、模型和接口6.1.1I/O系統(tǒng)的基本功能隱藏物理設備的細節(jié)與設備的無關性(設備獨立性)提高處理機和I/O設備的利用率
對I/O設備進行控制
確保對設備的正確共享錯誤處理6.1.2I/O系統(tǒng)的層次結構和模型
1.?I/O軟件的層次結構
I/O系統(tǒng)中各種模塊之間的層次視圖
1)?I/O系統(tǒng)的上、下接口
2)?I/O系統(tǒng)的分層6.1.3I/O系統(tǒng)接口
在I/O系統(tǒng)與高層之間的接口中,根據(jù)設備類型的不同,又進一步分為若干個接口:塊設備接口、流設備接口和網(wǎng)絡接口。
1.塊設備接口
2.流設備接口(字符設備接口)
3.網(wǎng)絡通信接口
6.2I/O設備和設備控制器I/O設備:執(zhí)行I/O操作的機械部分,執(zhí)行控制I/O的電子部件執(zhí)行I/O操作的機械部分——一般的I/O設備執(zhí)行控制I/O的電子部件則稱為設備控制器或適配器在微型機和小型機中的控制器常做成印刷電路卡形式,因而也常稱為控制卡、接口卡或網(wǎng)卡大、中型計算機系統(tǒng)中,還配置了I/O通道或I/O處理機。6.2.1I/O設備一、I/O設備的類型
1.按操作特性分類
(1)存儲設備(輔存)(2)輸入/輸出(I/O)設備
2.按信息交換的單位分類
(1)字符設備(慢)(2)塊設備(快)3.按設備的共享屬性分類
(1)獨占設備(2)共享設備(3)虛擬設備
4.按設備的傳輸速率分類
(1)低速設備(2)中速設備(3)高速設備指通過虛擬技術將一臺獨占設備變換為若干臺邏輯設備,供若干個用戶(進程)同時使用2.設備與控制器之間的接口
通常,設備并不是直接與CPU進行通信,而是與設備控制器通信,因此,在I/O設備中應含有與設備控制器間的接口,在該接口中有三種類型的信號(
圖
所示),各對應一條信號線。
11/20/20236.2.2設備控制器設備控制器職責:控制一個或者多個I/O設備,以實現(xiàn)I/O設備和計算機之間的數(shù)據(jù)交換。
CPU–控制器-設備微機小型機中控制器——接口卡一、設備控制器的基本功能接收和識別命令數(shù)據(jù)交換標識和報告設備的狀態(tài)地址識別數(shù)據(jù)緩沖差錯控制I/O系統(tǒng)I/O系統(tǒng)二、設備控制器的組成設備控制器與處理機的接口設備控制器與設備的接口I/O邏輯I/O邏輯控制器與設備接口1控制器與設備接口i數(shù)據(jù)寄存器控制/狀態(tài)寄存器數(shù)據(jù)線地址線控制線CPU與控制器接口控制器與設備接口數(shù)據(jù)數(shù)據(jù)狀態(tài)控制狀態(tài)控制設備控制器與處理機的接口該接口用于實現(xiàn)CPU與設備控制器之間的通信。共有三類信號線:數(shù)據(jù)線、地址線和控制線。設備控制器與設備的接口在一個設備控制器上,可以連接一個或多個設備。相應地,在控制器中便有一個或多個設備接口,一個接口連接一個設備。在每個接口中都存在數(shù)據(jù)、控制和狀態(tài)三種類型的信號。I/O邏輯:用于實現(xiàn)對設備的控制。它通過一組控制線與處理機交互,處理機利用該邏輯向控制器發(fā)送I/O命令,I/O邏輯對收到的命令進行譯碼。每當CPU要啟動一個設備時,一方面將啟動命令發(fā)送給控制器;另一方面又同時通過地址線把地址發(fā)送給控制器,由控制器的I/O邏輯對收到的地址進行譯碼,再根據(jù)所譯出的命令對所選設備進行控制。6.2.3內存映像I/O在早期的計算機中,包括大型計算機,為實現(xiàn)CPU和設備控制器之間的通信,為每個控制寄存器分配一個I/O端口
=編址上不再區(qū)分內存單元地址和設備控制器中的寄存器地址,都采用kk值處于0~n-1范圍時:內存地址k大于等于n時:某個控制器的寄存器地址。6.2.4I/O通道一、I/O通道設備的引入實際上I/O通道是一種特殊的處理機,它具有執(zhí)行I/O指令的能力,并通過執(zhí)行通道程序來控制I/O操作。與一般處理機不同于兩方面:
1.指令類型單一,只用于I/O操作;
2.通道沒有內存,它與CPU共享內存。引入目的 解脫CPU對I/O的組織、管理。
CPU只需發(fā)送I/O命令給通道,通道通過調用內存中的相應通道程序完成任務。I/O系統(tǒng)I/O系統(tǒng)二、
通道類型
字節(jié)多路通道的工作原理1.字節(jié)多路通道:各子通道以時間片輪轉方式共享通道,適用于低、中速設備。2.數(shù)組選擇通道:無子通道,僅一主通道,某時間由某設備獨占,適于高速設備。但通道未共享,利用率低。3.數(shù)組多路通道:多子通道不是以時間片方式,而是“按需分配”,綜合了前面2種通道類型的優(yōu)點。選擇通道I/O系統(tǒng)選擇通道磁盤字節(jié)多路通道打印機輸入機內存儲器處理機磁帶數(shù)組多路通道硬件連接結構三、“瓶頸”問題單通路I/O系統(tǒng)I/O系統(tǒng)存儲器I/O通道1I/O通道2控制器1控制器2控制器3控制器4設備1設備2設備3設備4設備5設備6設備7設備8CPU總線
多通路I/O系統(tǒng)I/O系統(tǒng)I/O通道1I/O通道2控制器控制器控制器控制器設備1設備2設備3設備4設備5設備6設備7設備8存儲器CPU總線
6.3中斷機構和中斷處理程序中斷在操作系統(tǒng)中有著特殊重要的地位:是多道程序得以實現(xiàn)的基礎:進程之間的切換是通過中斷來完成的中斷也是設備管理的基礎,為了提高處理機的利用率和實現(xiàn)CPU與I/O設備并行執(zhí)行,也必需有中斷的支持中斷處理程序:I/O系統(tǒng)中最低的一層,整個I/O系統(tǒng)的基礎6.3.1中斷簡介
1.中斷和陷入
1)中斷
CPU對I/O設備發(fā)來的中斷信號的一種響應。
2)陷入
CPU內部事件引起中斷:非法指令,地址越界,運算上溢或下溢
2.中斷向量表和中斷優(yōu)先級1)中斷向量表
記錄中斷程序的入口地址、中斷號(每一個設備的中斷請求規(guī)定一個)
2)中斷優(yōu)先級
多個中斷信號源,不同的優(yōu)先級
3.對多中斷源的處理方式
1)屏蔽(禁止)中斷
處理一個中斷時,屏蔽所有中斷
順序處理中斷簡單不能用于實時性要求高
2)嵌套中斷優(yōu)先響應最高優(yōu)先級高優(yōu)先級搶占低優(yōu)先級6.3.2中斷處理程序處理過程:
1.測定是否有未響應的中斷信號
2.保護被中斷進程的CPU環(huán)境
3.轉入相應的設備處理程序
4.中斷處理
5.恢復被中斷進程的現(xiàn)場
6.4設備驅動程序設備驅動程序通常又稱為設備處理程序。
主要任務:接收上層軟件發(fā)來的抽象I/O要求(read或write)轉換為具體要求后,發(fā)送給設備控制器,啟動設備去執(zhí)行也將由設備控制器發(fā)來的信號傳送給上層軟件由于驅動程序與硬件密切相關,故應為每一類設備配置一種驅動程序6.4.1設備驅動程序概述1.設備驅動程序的功能
(1)接收由設備獨立性軟件發(fā)來的命令和參數(shù),并將命令中的抽象要求轉換為具體要求,例如,將磁盤塊號轉換為磁盤的盤面、磁道號及扇區(qū)號。
(2)檢查用戶I/O請求的合法性,了解I/O設備的狀態(tài),傳遞有關參數(shù),設置設備的工作方式。
(3)發(fā)出I/O命令。如果設備空閑,便立即啟動I/O設備去完成指定的I/O操作;如設備,則將請求者的請求塊掛在設備隊列上等待。
(4)及時響應由控制器或通道發(fā)來的中斷請求,并根據(jù)其中斷類型調用相應的中斷處理程序進行處理。
(5)自動地構成通道程序。
2.設備驅動程序的特點(1)驅動程序主要是指在請求I/O的進程與設備控制器之間的一個通信和轉換程序。(2)不同類型的設備應配置不同的驅動程序。(3)驅動程序與I/O設備所采用的I/O控制方式緊密相關(中斷驅動和DMA方式)(4)由于驅動程序與硬件緊密相關,因而其中的一部分必須用匯編語言書寫。目前有很多驅動程序的基本部分,已經(jīng)固化在ROM中。(5)驅動程序應允許可重入。一個正在運行的驅動程序常會在一次調用完成前被再次調用。
3.設備處理方式
為每一類設備設置一個進程,專門用于執(zhí)行此類設備的I/O操作整個系統(tǒng)設置一個I/O進程,用于執(zhí)行所有I/O操作不設備專門的設備處理進程,只為各類設備設置相應的設備驅動程序,供用戶或系統(tǒng)進程調用(應用最廣)6.4.2設備驅動程序的處理過程1)將抽象要求轉換為具體要求2)檢查I/O請求的合法性3)讀出和檢查設備的狀態(tài)4)傳送必要的參數(shù):字節(jié)數(shù),內存地址
5)工作方式的設置:波特率,校驗方式
6)啟動I/O設備:阻塞自己6.4.3對I/O設備的控制方式程序I/O方式(programmedI/O)(使用輪詢)CPUandDevicecannotworkinparallel中斷方式(interrupt)CPUanddevicecanworkinparallel,toomanyinterruptsforCPU通道方式(channel)specialprocessorfordealingwithi/ooperations直接存儲器訪問方式(DMA)DMAcontrollerinchargeofblocki/oI/O控制方式向I/O控制器發(fā)讀命令CPU→I/O讀I/O控制器的狀態(tài)I/O→CPU檢查狀態(tài)出錯從I/O控制器中讀入字I/O→CPU未就緒向存儲器中寫字CPU→內存?zhèn)魉屯瓿桑课赐瓿上聴l指令1.程序I/O方式查詢方式:CPU需花代價不斷查詢I/O狀態(tài)。CPU資源浪費極大。注:程序I/O方式也稱作程序查詢方式或輪詢方式。2.中斷驅動I/O方式向I/O發(fā)命令——返回——執(zhí)行其它任務。I/O中斷產(chǎn)生——CPU轉相應中斷處理程序。如:讀數(shù)據(jù),讀完后以中斷方式通知CPU,CPU完成數(shù)據(jù)從I/O——內存I/O控制方式CPU計算啟動設備計算…計算中斷處理計算設備:工作特點:CPU與設備并行工作設備多時對CPU打擾多I/O控制方式向I/O控制器發(fā)讀命令CPU→I/O讀I/O控制器的狀態(tài)I/O→CPU檢查狀態(tài)出錯從I/O控制器中讀入字I/O→CPU向存儲器中寫字CPU→內存?zhèn)魉屯瓿??未完成下條指令2.中斷驅動I/O控制方式CPU做其它事中斷3.直接存儲器訪問DMAI/O控制方式一、引入中斷I/O,CPU“字節(jié)”干預一次,即每“字節(jié)”傳送產(chǎn)生一次中斷。DMA:由DMA控制器直接控制總線傳遞數(shù)據(jù)塊。DMA控制器完成從I/O——內存。二、組成一組寄存器+控制邏輯。CR(命令/狀態(tài));DR(數(shù)據(jù));MAR(內存地址);DC(計數(shù))I/O控制方式二、DMA控制器的組成DMA控制器由三部分組成:主機與DMA控制器的接口;DMA控制器與塊設備的接口;I/O控制邏輯。
I/O控制方式DMA控制器的示意圖countI/O控制邏輯DRMARDCCRCPU內存主機—控制器接口控制器與塊設備接口系統(tǒng)總線DMA控制器命令命令/狀態(tài)寄存器CR:接收從CPU發(fā)來的I/O命令或有關控制和狀態(tài)信息數(shù)據(jù)寄存器DR:用于暫存設備到內存或從內存到設備的數(shù)據(jù)內存地址寄存器MAR:存放把數(shù)據(jù)從設備傳送到內存的起始目標地址或內存原地址數(shù)據(jù)計數(shù)器DC:存放本次CPU要讀或寫的字(節(jié))數(shù)I/O控制方式I/O控制方式③數(shù)據(jù)傳輸CPUDMA控制器內存地址計數(shù)控制緩沖磁盤⑤中斷②DMA請求總線磁盤控制器④回答①DMA編程CPU設置DMA控制器實現(xiàn)DMA編程,同時啟動磁盤控制器由磁盤讀入數(shù)據(jù)到內部緩沖區(qū);DMA控制器向磁盤控制器發(fā)出讀請求;磁盤控制器將字節(jié)傳到內存指定單元;磁盤控制器向DMA控制器發(fā)送回答;DMA控制器將MAR加1,DC減1,重復上述過程直至DC為0,DMA控制器向CPU發(fā)出中斷請求。I/O控制方式向I/O控制器發(fā)讀命令CPU→DMA讀I/O控制器的狀態(tài)DMA→CPU下條指令直接存儲器訪問DMA控制方式CPU做其它事中斷該方式的特點是:數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊;所傳送的數(shù)據(jù)是從設備直接送入內存的,或者相反;僅在傳送一個或多個數(shù)據(jù)塊的開始和結束時,才需CPU干預,整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。三.DMA工作過程DMA方式的工作流程I/O控制方式設置MAR和DC初值啟動DMA傳送命令傳送數(shù)據(jù)字MAR=MAR+1DC=DC-1DC=0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時,準備又一次傳送4.I/O通道控制方式DMA方式:對需多個離散塊的讀取仍需要多次中斷。通道方式:CPU只需給出(1)通道程序首址。(2)要訪問I/O設備I/O控制方式I/O控制方式通道程序
通道是通過執(zhí)行通道程序,并與設備控制器共同實現(xiàn)對I/O設備的控制的。通道程序由一系列通道指令所構成的。道指令一般包含下列信息:操作碼。規(guī)定指令所執(zhí)行的操作。內存地址。計數(shù)。表示本指令所要操作的字節(jié)數(shù)。通道程序結束位P。用以表示程序是否結束。記錄結束標志R。表示該指令是否與下條指令有關。操作PR計數(shù)內存地址WRITE0080813WRITE001401034WRITE01605830WRITE013002000WRITE002501650WRITE112502720I/O控制方式優(yōu)點:執(zhí)行一個通道程序可以完成幾批I/O操作。
6.5與設備無關的I/O軟件
提高OS的可適應性和可擴展性,在現(xiàn)代OS中都毫無例外地實現(xiàn)了設備獨立性(DeviceIndependence),也稱為設備無關性基本含義:應用程序獨立于具體使用的物理設備邏輯設備和物理設備類似于物理地址和邏輯地址的概念。使用邏輯設備名稱來請求使用某類設備;系統(tǒng)實際執(zhí)行時,必須使用物理設備名稱。為了實現(xiàn)應用程序中所使用的設備與系統(tǒng)的設備變換無關,設置一張邏輯設備表LUT主設備號邏輯設備名驅動程序入口地址3/dev/tty1(鍵盤輸入設備1)30003/dev/tty2(鍵盤輸入設備2)30005(針式打印機)/dev/lp(打印機)50006/dev/ethN(網(wǎng)卡)4000
用激光打印機替換針式打印機后的LUT表:主設備號邏輯設備名驅動程序入口地址3/dev/tty1(鍵盤輸入設備1)30003/dev/tty2(鍵盤輸入設備2)30007(激光打印機)/dev/lp(打印機)70006/dev/ethN(網(wǎng)卡)4000有利用設備分配時的靈活性易于實現(xiàn)I/O重定向I/O重定向指用于I/O操作的設備可以更換(重定向),而不必改變應用程序。設備獨立性的優(yōu)點6.5.3設備分配
1.設備分配中的數(shù)據(jù)結構
包括:對設備、設備控制器、通道的分配系統(tǒng)為每一設備都配置了一張設備控制表,用于記錄本設備的情況DCT1DCT2DCTn設備類型type設備標識符deviceid設備狀態(tài):等待/不等待忙/閑指向控制器表的指針重復執(zhí)行次數(shù)或時間設備隊列的隊首指針設備控制表集合I/O通道1I/O通道2控制器控制器設備1設備2設備3設備4控制器控制表COCT控制器標識符控制器狀態(tài):等待/不等待與控制器相連的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針存儲器CPU總線通道控制表CHCT通道標識符通道狀態(tài):忙/閑與通道相連的控制器表指針通道隊列的隊首指針通道隊列的隊尾指針系統(tǒng)設備表SDT。如圖所示:表目1表目i設備類型設備標識符DCT驅動程序入口系統(tǒng)設備表設備分配2.設備分配時應考慮的因素設備的固有屬性設備分配算法設備分配中的安全性設備獨立性獨占設備共享設備(3)虛擬設備設備分配(1)先來先服務(2)優(yōu)先級高者優(yōu)先安全分配方式不安全分配方式3.獨占設備的分配程序基本的設備分配程序分配設備分配控制器分配通道基本設備分配程序存在的問題進程以物理設備名提出I/O請求采用單通路的I/O系統(tǒng)結構,產(chǎn)生“瓶頸”設備分配設備分配程序的改進增加設備的獨立性考慮多通路情況
6.6用戶層的I/O軟件大部分的I/O軟件都在操作系統(tǒng)內部
有一小部分在用戶層(與用戶程序鏈接在一起的庫函數(shù)等)用戶層軟件必須通過一組系統(tǒng)調用來取得操作系統(tǒng)服務在現(xiàn)代的高級語言以及C語言中,通常提供了與各系統(tǒng)調用一一對應的庫函數(shù),用戶程序通過調用對應的庫函數(shù)使用系統(tǒng)調用(如C語言中的庫函數(shù)write等)
Spooling系統(tǒng)及網(wǎng)絡傳輸文件時使用的守護進程等,運行在內核之外,歸屬于I/O系統(tǒng)6.6.2假脫機(Spooling)系統(tǒng)如前所述,虛擬性是OS的四大特征之一通過多道程序技術將一臺物理CPU虛擬為多臺邏輯CPU,從而允許多個用戶共享一臺主機通過SPOOLing技術便可將一臺物理I/O設備虛擬為多臺邏輯I/O設備,同樣允許多個用戶共享一臺物理I/O設備。引入:在多道程序系統(tǒng)中,專門利用一道程序(SPOOLing程序)來完成對設備的I/O操作。無需使用外圍I/O處理機。1.SPOOLing技術設備分配什么是SPOOLing通過共享設備來模擬獨占設備,將獨占設備改造成共享設備,從而提高了設備利用率和系統(tǒng)效率,這種技術被稱為Spooling技術。同時外圍聯(lián)機操作(SimultaneousPeripheralOperatingOn—Line),或稱為假脫機操作。設備分配2.SPOOLing系統(tǒng)的組成主要有三大部分:輸入井和輸出井:是磁盤上開辟的兩個大存儲空間。輸入井模擬脫機輸入的磁盤設備,輸出井模擬脫機輸出時的磁盤。輸入緩沖區(qū)和輸出緩沖區(qū):輸入緩沖區(qū)暫存由輸入設備送來的數(shù)據(jù),后送輸入井;輸出緩沖區(qū)暫存從輸出井送來的數(shù)據(jù),后送輸出設備輸入進程和輸出進程:利用兩個進程模擬脫機I/O時的外圍處理機。設備分配SPOOLing系統(tǒng)的組成輸入進程SPi
輸出進程SP0輸入緩沖區(qū)Bi輸出緩沖區(qū)B0輸入井輸出井輸入設備輸出設備磁盤內存設備分配SPOOLing系統(tǒng)的處理過程設備分配用進程Spi模擬脫機輸入時的外圍控制機,將用戶要求的數(shù)據(jù)從輸入機通過輸入緩沖區(qū)再送到輸入井。當CPU需要輸入數(shù)據(jù)時,直接從輸入井讀入內存用SPO進程模擬脫機輸出時的外圍控制機,把用戶要求輸出的數(shù)據(jù)先從內存送到輸出井,待輸出設備空閑時,再將輸出井中的數(shù)據(jù)經(jīng)過輸出緩沖區(qū)送到輸出設備上SPOOLing系統(tǒng)的特點
提高了I/O的速度:利用輸入輸出井模擬脫機輸入輸出,緩和了CPU和I/O設備速度不匹配的矛盾
將獨占設備改造為共享設備:并沒有為進程分配設備,而是為進程分配一存儲區(qū)和建立一張I/O請求表
實現(xiàn)了虛擬設備功能:多個進程同時使用一臺獨占設備設備分配
6.7緩?沖?區(qū)?管?理6.7.1緩沖的引入引入緩沖區(qū)的主要原因歸結為以下幾點:1.緩和CPU與I/O設備間速度不匹配的矛盾。2.減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制。3.提高CPU和I/O設備之間的并行性。6.7.2單緩沖和雙緩沖1.單緩沖(SingleBuffer)I/O設備系統(tǒng)單緩沖buf用戶buf用戶進程輸入(T)傳送(M)計算(C)工作示意圖TMCTMCTMCTMCt①②③④緩沖管理一個緩沖區(qū),CPU和外設輪流使用,一方處理完之后接著等待對方處理。C和T可并行,M和C或M和T不能并行,因此處理一塊數(shù)據(jù)時間:Max(C,T)+M2.雙緩沖(DoubleBuffer)效率有所提高,且進一步平滑了傳輸峰值。系統(tǒng)處理一塊數(shù)據(jù)的時間約為:MAX(C,T)收發(fā)可雙向同時傳送。緩沖管理兩個緩沖區(qū),CPU和外設都可以連續(xù)處理而無需等待對方。要求CPU和外設的速度相近。雙機通訊時緩沖區(qū)的設置緩沖區(qū)A機緩沖區(qū)B機單緩沖發(fā)送緩沖區(qū)接收緩沖區(qū)A機
接收緩沖區(qū)發(fā)送緩沖區(qū)B機雙緩沖緩沖管理6.7.3循環(huán)緩沖1.循環(huán)緩沖的組成輸入進程下一個可用空緩沖區(qū)R計算進程下一個可用緩沖區(qū)C緩沖管理計算進程當前正在使用緩沖區(qū)C指針current類型:R:空緩沖;G:滿緩沖;C:當前緩沖2.循環(huán)緩沖區(qū)的使用(1)Getbuf過程。輸入進程計算進程nextinextinextgcurrentnextgC緩沖管理G2.循環(huán)緩沖區(qū)的使用(2)(2)Releasebuf過程。輸入進程計算進程nexticurrentnextgCRG緩沖管理3.進程同步Nexti指針追趕上Nextg指針。(2)Nextg指針追趕上Nexti指針。nextinextgGGGGRR165423nextinextiGG緩沖管理6.7.4緩沖池(BufferPool)1.緩沖池的組成
1.緩沖池的組成
緩沖池EmEmEmEmEmInInInInOutOutOutOut緩沖管理11/20/202370緩沖區(qū)的工作方式緩沖區(qū)可以工作在下列四種方式下:收容輸入。輸入進程需要輸入時,取得空緩沖區(qū),裝滿后放入輸入隊列。提取輸入。計算進程需要輸入時,在輸入隊列取緩沖區(qū),提取數(shù)據(jù)后掛在空緩沖區(qū)隊列上。收容輸出。計算進程需要輸出時,取空緩沖區(qū),裝滿數(shù)據(jù)后掛在輸出緩沖隊列上。提取輸出。輸出進程從輸出隊列取緩沖區(qū),提取完數(shù)據(jù)后掛在空緩沖區(qū)上。1.收容輸入hin;2.提取輸入sin3.收容輸出;4.提取輸出緩沖管理hin=getbuf(emq);putbuf(inq,hin)sin=getbuf(inq);putbuf(emq,sin)
sout=getbuf(outq)putbuf(emq,sout)hout=getbuf(emq)putbuf(outq,hout)
1.hin=getbuf(emq);putbuf(inq,hin)2.sin=getbuf(inq); 計算;putbuf(emq,sin)3.hout=getbuf(emq);putbuf(outq,hout)4.sout=getbuf(outq);輸出;putbuf(emq,sout)Getbuf(type)Beginwait(RS(type));wait(MS(type));B(number):=takebuf(type);signal(MS(type));endPutbuf(type)Beginwait(MS(type));addbuf(type,number);signal(MS(type));signal(RS(type));end緩沖管理
6.8磁盤存儲器的性能和調度6.8.1磁盤性能簡述數(shù)據(jù)的組織磁盤的類型訪問時間磁盤的格式化
2.磁盤的類型1)固定頭磁盤這種磁盤在每條磁道上都有一讀/寫磁頭,所有的磁頭都被裝在一剛性磁臂中。通過這些磁頭可訪問所有各磁道,并進行并行讀/寫,有效地提高了磁盤的I/O速度。這種結構的磁盤主要用于大容量磁盤上。
2)移動頭磁盤
每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上的所有磁道,該磁頭必須能移動以進行尋道??梢?,移動磁頭僅能以串行方式讀/寫,致使其I/O速度較慢;但由于其結構簡單,故仍廣泛應用于中小型磁盤設備中。信息記錄在磁道上,多個盤片,正反兩面都用來記錄信息,每面一個磁頭所有盤面中處于同一磁道號上的所有磁道組成一個柱面每個扇區(qū)大小為600字節(jié)(數(shù)據(jù)512字節(jié))物理地址形式:柱面號 磁頭號扇區(qū)號柱面、磁頭、扇區(qū)磁盤存儲器管理由三個動作組成:尋道:磁頭移動定位到指定磁道旋轉延遲:等待指定扇區(qū)從磁頭下旋轉經(jīng)過數(shù)據(jù)傳輸:數(shù)據(jù)在磁盤與內存之間的實際傳輸磁盤的訪問過程磁盤存儲器管理尋道時間Ts:大約幾ms到幾十msTs=啟動磁臂時間S+磁頭移動磁道數(shù)n×磁頭移道速度m旋轉延遲時間Tr:對于7200轉/分,平均延遲時間為4.2ms數(shù)據(jù)傳輸時間Tt:目前磁盤的傳輸速度一般有幾十M/s,傳輸一個扇區(qū)的時間小于0.05ms磁盤的訪問時間第6章輸入輸出系統(tǒng)思考設磁盤的轉速為3000轉/分,盤面劃分成10個扇區(qū),計算讀取一個扇區(qū)的時間?1分鐘內,磁盤可以轉動3000轉1秒內磁盤轉50轉1秒磁頭讀取了50×10=500個扇區(qū)讀取一個扇區(qū)的時間:1/500=0.002s=2ms第6章輸入輸出系統(tǒng)磁盤訪問時間假設有4個記錄A、B、C、D存放在磁盤的某個磁道上,該磁道被劃分為4塊,每塊存放一個記錄,安排如下表所示:現(xiàn)在要順序處理這些記錄,如果磁盤旋轉速度為20ms轉一周,處理程序每讀一個記錄后5ms進行處理。試問處理完這個4個記錄的總時間是多少?為了縮短處理時間應進行優(yōu)化分布,試問應如何安排這些記錄,并計算機處理的總時間。塊號1234記錄號ABCD第6章輸入輸出系統(tǒng)思考要提高磁盤的數(shù)據(jù)訪問速度,主要應在哪方面下功夫?磁盤存儲器管理第6章輸入輸出系統(tǒng)分析要提高磁盤的訪問速度主要應從以下兩方面入手:數(shù)據(jù)的合理組織磁盤的調度算法磁盤存儲器管理第6章輸入輸出系統(tǒng)5.6.2磁盤調度算法當多個訪盤請求在等待時,采用一定的策略,對這些請求的服務順序調整安排,旨在降低平均磁盤服務時間,達到公平、高效公平:一個I/O請求在有限時間內滿足高效:減少設備機械運動所帶來的時間浪費先來先服務FCFS最短尋道時間優(yōu)先SSTF掃描算法SCAN單向掃描調度算法CSCAN磁盤存儲器管理第6章輸入輸出系統(tǒng)按訪問請求到達的先后次序服務優(yōu)點:簡單,公平;缺點:效率不高,相鄰兩次請求可能會造成最內到最外的柱面尋道,使磁頭反復移動,增加了服務時間,對機械也不利先來先服務FCFS磁盤存儲器管理第6章輸入輸出系統(tǒng)假設磁盤訪問序列:98,183,37,122,14,124,65,67讀寫頭起始位置:53安排磁頭服務序列計算磁頭移動總距離(道數(shù))先來先服務FCFS磁盤存儲器管理第6章輸入輸出系統(tǒng)磁盤存儲器管理磁盤訪問序列:98,183,37,122,14,124,65,67先來先服務FCFS143753656798122124183458514685108110592磁頭走過的總道數(shù):640平均尋道長度:8098,183,37,122,14,124,65,67第6章輸入輸出系統(tǒng)優(yōu)先選擇距當前磁頭最近的訪問請求進行服務,主要考慮尋道優(yōu)先優(yōu)點:改善了磁盤平均服務時間;缺點:造成某些訪問請求長期等待得不到服務最短尋道時間優(yōu)先SSTF磁盤存儲器管理第6章輸入輸出系統(tǒng)磁盤存儲器管理磁盤訪問序列:65,67,37,14,98,122,124,183最短尋道時間優(yōu)先SSTF14375365679812212418312230238424259磁頭走過的總道數(shù):236平均尋道長度:29.598,183,37,122,14,124,65,67第6章輸入輸出系統(tǒng)克服了最短尋道優(yōu)先的缺點,既考慮了距離,同時又考慮了方向具體做法:當設備無訪問請求時,磁頭不動;當有訪問請求時,磁頭按一個方向移動,在移動過程中對遇到的訪問請求進行服務,然后判斷該方向上是否還有訪問請求,如果有則繼續(xù)掃描;否則改變移動方向,并為經(jīng)過的訪問請求服務,如此反復掃描算法(電梯算法)SCAN磁盤存儲器管理第6章輸入輸出系統(tǒng)磁盤存儲器管理磁盤訪問序列:37,14,65,67,98,122,124,183掃描算法(電梯算法)SCAN14375365679812212418351216233124259磁頭走過的總道數(shù):208平均尋道長度:2698,183,37,122,14,124,65,67假設此時磁頭向內移動第6章輸入輸出系統(tǒng)也稱循環(huán)掃描算法。電梯算法杜絕了饑餓,但當請求對磁道的分布是均勻時,磁頭回頭,近磁頭端的請求很少(因為磁頭剛經(jīng)過),而遠端請求較多,這些請求等待時間要長一些??偸亲岳锵蛲庖苿印R苿颖鄣竭_最后個一個柱面后,立即帶動讀寫磁頭快速返回到最里的欲訪問磁道。返回時不為任何的等待訪問者服務。返回后可再次進行掃描單向掃描調度算法CSCAN磁盤存儲器管理第6章輸入輸出系統(tǒng)磁盤存儲器管理磁盤訪問序列:65,67,98,122,124,183,14,37單向掃描算法CSCAN143753656798122124183122169233124259磁頭走過的總道數(shù):352平均尋道長度:4498,183,37,122,14,124,65,67第6章輸入輸出系統(tǒng)調度算法的選擇實際系統(tǒng)相當普遍采用最短尋道時間優(yōu)先算法,因為它簡單有效,性價比好。掃描算法更適于磁盤負擔重的系統(tǒng)。磁盤負擔很輕的系統(tǒng)也可以采用先來先服務算法一般要將磁盤調度算法作為操作系統(tǒng)的單獨模塊編寫,利于修改和更換。磁盤存儲器管理第6章輸入輸出系統(tǒng)序號柱面號磁頭號扇區(qū)號1963275631520649445209567152調度算法的選擇假定磁盤的存儲臂現(xiàn)在處于8號柱面上,有如下表所示的6個請求等待訪問磁盤,試列出最省時間的響應順序。2→6→4→1→3→5磁盤存儲器管理第6章輸入輸出系統(tǒng)例題例1:簡述設備分配的過程。答:設備分配程序要用到系統(tǒng)設備表、設備控制表、控制器控制表和通道控制表。其主要過程是:按指定方式掃描SDT,找出該類設備DCT鏈的起始地址。依DCT開始掃描,找出可以工作的設備,檢查設備分配的合理性,從而進行設備的預分配。根據(jù)預分配設備的DCT,找出與之相連的COCT表,從所有相連的控制器中找出一個可以分配而且分配合理的控制器。從所分配的COCT出發(fā),根據(jù)CHCT鏈,找出一個可用的通道。當找到一個可用的通路后,才實施真正的分配,把設備、控制器、通道一并分配給申請設備的進程。第6章輸入輸出系統(tǒng)例2:DMA方式和中斷方式有什么不同?答:DMA方式和中斷方式的主要不同點是:中斷方式在每個數(shù)據(jù)傳送完成后中斷CPU,而DMA方式則是在所要求傳送的一批數(shù)據(jù)全部傳送結束時中斷CPU;中斷方式的數(shù)據(jù)傳送是在中斷處理時由CPU控制完成,而DMA方式則是在DMA控制器的控制下完成。不過,DMA方式仍存在一定局限性。如數(shù)據(jù)傳送的方向、存放數(shù)據(jù)的內存始址及傳送數(shù)據(jù)的長度等都由CPU控制,并且每臺設備需一個DMA控制器,當設備增加時,多個DMA控制器的使用也不經(jīng)濟。第6章輸入輸出系統(tǒng)例3:DMA方式和通道方式有什么不同?答:DMA方式中,在DMA控制器控制下,設備和主存之間可成批地進行數(shù)據(jù)交換,而不用CPU干預,這種方式應用于塊設備的數(shù)據(jù)傳輸。通道控制方式與DMA方式類似,也是一種以內存為中心,實現(xiàn)設備與內存直接交換數(shù)據(jù)的控制方式。在通道控制方式中,CPU只需發(fā)出啟動指令,指出通道相應的操作和I/O設備,該指令就可啟動通道并使該通道從內存中調出相應的通道指令執(zhí)行。與DMA方式相比,通道方式所需的CPU干預更少,且可以做到一個通道控制多臺設備,從而更進一步減輕了CPU的負擔。第6章輸入輸出系統(tǒng)例4:在某計算機系統(tǒng)中,其屏幕顯示分辨率為640*480,若要存儲一屏256彩色的圖像,需要多少字節(jié)存儲空間?解:屏幕信息的顯示是以像素為單位進行的。由于屏幕顯示分辨率為640*480,故屏幕上有像素:
640*480=300*210個當用256彩色顯示時,每個像素需要8位二進制數(shù)(28=256)表示,因此一屏信息需要存儲空間:
8*300*210位=300*210字節(jié)
=300K字節(jié)所以需要300K字節(jié)存儲空間。第6章輸入輸出系統(tǒng)例5:某軟盤有40個磁道,磁頭從一個磁道移至另一磁道需要6ms。文件在磁盤上非連續(xù)存放,邏輯上相鄰數(shù)據(jù)塊的平均距離為13磁道,每塊的旋轉延遲時間及傳輸時間分別為100ms、25ms,問讀取一個100塊的文件需要多少時間?如果系統(tǒng)對磁盤進行了整理,讓同一個文件的磁盤塊盡可能靠攏,從而使邏輯上相鄰數(shù)據(jù)塊的平均距離降為2磁道,這時讀取一個100塊的文件需要多少時間?解:磁盤整理前,邏輯上相鄰數(shù)據(jù)塊的平均距離為13磁道,讀一塊數(shù)據(jù)需要的時間為:13*6+100+25=203ms因此,讀取一個100塊的文件需要時間:203*100=20300ms磁盤整理后,邏輯上相鄰數(shù)據(jù)塊的平均距離為2磁道,讀一塊數(shù)據(jù)需要的時間為:2*6+100+25=137ms因此,讀取一個100塊的文件需要時間:137*100=13700ms第6章輸入輸出系統(tǒng)例6:若磁頭的當前位置為100磁道,磁頭正向磁道號增加方向移動?,F(xiàn)有一磁盤讀寫請求隊列:23,376,205,132,19,61,190,398,29,4,18,40。若采用先來先服務、最短尋道時間優(yōu)先和掃描算法,試計算出平均尋道長度各為多少?解:(1)先來先服務:從100磁道開始,磁盤調度順序為:23->376->205->132->19->61->190->398->29->4->18->40。移動磁道數(shù)總數(shù)為1596,平均尋道長度為:133。(2)最短尋道時間優(yōu)先:從100磁道開始,磁盤調度順序為:132->190->205->61->40->29->23->19->18->4->376->398。移動磁道數(shù)總數(shù)為700,平均尋道長度為:58.3。(3)掃描算法:從100磁道開始,磁盤調度順序為:132->190->205->376->398->61->40->29->23->19->18-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年主持人聘合同(2篇)
- 2025年九年級語文教學年終總結(2篇)
- 2025年云南省鮮花訂購合同(三篇)
- 2025年二年級語文教學工作心得體會模版(3篇)
- 書店裝修小型合同樣本
- 醫(yī)療設施土方清運合同
- 清真寺裝修合同樣本
- 金華日式屋頂花園施工方案
- 度假別墅裝修合同協(xié)議
- 醫(yī)療藥品冷鏈運輸協(xié)議
- 商標法基礎知識
- 2025年高考物理一輪復習之機械振動
- 《道路交通安全法》課件完整版
- 初中2025教學工作計劃
- 2024年度市政工程項目三方合作協(xié)議3篇
- 【大學課件】機電設備管理技術概論
- (2024)甘肅省公務員考試《行測》真題及答案解析
- 《STP營銷戰(zhàn)略概述》課件
- 醫(yī)院醫(yī)務人員醫(yī)德考評標準
- 急性胸痛患者的急救護理
- 小紅書種草營銷師(初級)認證考試真題試題庫(含答案)
評論
0/150
提交評論