版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
15.1I/O硬件原理5.2I/O軟件原理5.3具有通道的I/O系統(tǒng)管理5.4緩沖技術5.5驅動調度技術5.6設備分配5.7虛擬設備第五章
設備管理2一、通道命令和通道程序二、I/O指令和主機I/O程序三、通道啟動和I/O操作過程5.3具有通道的I/O系統(tǒng)管理3一、通道命令和通道程序(1)具有通道的計算機系統(tǒng),I/O程序設計涉及:CPU執(zhí)行I/O指令,通道執(zhí)行通道命令,以及CPU和通道之間的通信。1、通道命令通道也叫I/O處理機,具有自己的指令系統(tǒng),通道的指令稱為通道命令。通道命令是通道從主存取出并控制I/O設備執(zhí)行I/O操作的命令字。4一、通道命令和通道程序(2)2、通道命令字格式命令碼:規(guī)定操作,數據傳輸(讀、寫,取狀態(tài))、轉移、控制數據主存地址:本條通道命令訪問的內存始址或末尾地址標志碼:通道程序的鏈接方式或標志通道命令的特點傳送字節(jié)個數:本次交換的字節(jié)個數命令碼數據主存地址標志碼傳送字節(jié)個數5一、通道命令和通道程序(3)3、通道程序用通道命令編寫的程序稱通道程序,通道程序由多條通道命令組成,每次啟動可以完成復雜的I/O控制。通道程序放在內存中,通道程序首地址放在內存一個固定單元中,該單元稱為通道地址字。向CPU匯報通道和設備執(zhí)行情況的信息放在內存另一個固定單元中,稱為通道狀態(tài)字。6二、I/O指令和主機I/O程序IBM系統(tǒng)主機提供一組完成I/O操作的I/O指令。I/O指令有:啟動I/O(StartI/O,SIO)
查詢I/O(TestI/O,TIO)
查詢通道(TestChannel,TCH)
停止I/O(HaltI/O,HIO)
停止設備(HaltDevice,HDV)SIOX’00E’7三、通道啟動和I/O操作過程(1)CPU是主設備,通道是從設備,CPU和設備之間是主從關系,需要相互配合協(xié)調才能完成I/O操作。那么CPU如何通知通道做什么?通道又如何告知CPU其狀態(tài)和工作情況呢?通道方式I/O過程三個階段l、I/O啟動階段2、I/O操作階段3、I/O結束階段8三、通道啟動和I/O操作過程(2)
中央處理器用戶程序操作系統(tǒng)保護進程j現場組織CCWCCW首址送CAW發(fā)SIO分析條件碼出錯進行處理啟動成功進程j等待選進程K運行保護進程K現場分析中斷文件處理I/O中斷選擇進程運行判斷狀態(tài)形成條件碼執(zhí)行CCW控制設備操作記錄操作狀態(tài)到CSW產生中斷事件CSW存入主存通道號、設備號存入主存特定單元發(fā)I/O中斷執(zhí)行規(guī)定I/O操作控制器和設備結束中斷通道I/O控制器和設備請求I/O進程j進程k進程j或k9一、單緩沖二、雙緩沖三、多緩沖四、緩沖區(qū)高速緩存5.4緩沖技術10?改善中央處理器與外圍設備之間速度不匹配的矛盾
?協(xié)調邏輯記錄大小與物理記錄大小不一致
?提高CPU和I/O設備的并行性引入緩沖技術的目的111、寫設備進程執(zhí)行寫操作輸出數據時,向系統(tǒng)申請一個緩沖區(qū),若為順序寫請求,則不斷把數據填到緩沖區(qū),直到被裝滿。此后,進程繼續(xù)它的計算,系統(tǒng)將緩沖區(qū)內容寫到I/O設備上。2、讀設備進程執(zhí)行讀操作輸入數據時,向系統(tǒng)申請一個緩沖區(qū),系統(tǒng)將一個物理記錄的內容讀到緩沖區(qū),根據進程要求,把當前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進程。緩沖技術實現基本思想(1)12在輸出數據時,只有在系統(tǒng)還來不及騰空緩沖而進程又要寫數據時,它才需要等待;在輸入數據時,僅當緩沖區(qū)空而進程又要從中讀取數據時,它才被迫等待。緩沖區(qū)有不同的類型:1、單緩沖2、雙緩沖3、多緩沖4、緩沖區(qū)高速緩存緩沖技術實現基本思想(2)13一、單緩沖在設備和處理機之間設置一個緩沖。設備與處理機交換數據時,先把交換的數據寫入緩沖區(qū),然后需要數據的設備/處理機再從緩沖區(qū)中取走數據。特點:緩沖區(qū)數只有一個;設備與處理機對緩沖區(qū)的操作是串行的。工作區(qū)緩沖區(qū)用戶進程操作系統(tǒng)傳送(M)輸入(T)I/O設備處理(C)數據處理時間約為max[C,T]+M14二、雙緩沖(1)在設備和處理機之間設置2個緩沖。輸入數據時,首先填滿緩沖區(qū)1,操作系統(tǒng)可從緩沖區(qū)1把數據送到用戶進程區(qū),用戶進程便可對數據進行加工計算;與此同時,輸入設備填充緩沖區(qū)2。當緩沖區(qū)1空出后,輸入設備再次向緩沖區(qū)1輸入。操作系統(tǒng)又可把緩沖區(qū)2的數據傳送到用戶進程區(qū),用戶進程開始加工緩沖2的數據。只有當兩個均為空時,需數據的進程才等待,提高了設備與處理機并行操作的程度。15二、雙緩沖(2)輸入T傳送M計算C一塊數據的處理時間:MAX(C+M,T)16三、多緩沖一組緩沖區(qū)組成循環(huán)隊列。多緩沖的緩沖區(qū)是系統(tǒng)的公共資源,可供各個進程共享,并由系統(tǒng)統(tǒng)一分配和管理。緩沖區(qū)可用途分為:輸入緩沖區(qū),處理緩沖區(qū)和輸出緩沖區(qū)。17四、緩沖區(qū)高速緩存(1)1、目的盡量復用從外部設備已經讀入內存中的信息,或者延長即將寫入或者已經寫入外部設備的信息的有效期,避免或減少外存訪問。已經寫入外存而在內存依然存在的信息可以看做從外存讀入內存的信息。18四、緩沖區(qū)高速緩存(2)2、高速緩存實現實現思想內核建立數據緩沖區(qū)高速緩存,保存最近被使用過的磁盤數據塊。1)當請求從指定文件讀寫數據時,給定設備號和盤塊號,必須能快速查詢該數據塊是否在高速緩存中,如果在的話,是在哪個緩沖區(qū)并能獲得其內容;2)高速緩存中的緩沖區(qū)鏈表有一個緩沖控制塊,包含:邏輯設備號、盤塊號、高速緩存虛擬地址、數據所屬文件描述符、數據在文件內的位移、緩沖區(qū)鏈接指針、空閑表緩沖區(qū)指針、活動計數、狀態(tài)字節(jié)等;19四、緩沖區(qū)高速緩存(3)3)如果數據塊不在高速緩存中,需要從磁盤上讀數據,并將其緩沖,系統(tǒng)采用合適算法把盡可能多的數據保存在緩沖區(qū)高速緩存。4)向磁盤上寫的數據也被暫存于數據緩沖區(qū)高速緩存中,以供回寫磁盤之前再次使用。內核還會判定數據是否真需要回寫,或數據是否很快就要被回寫,盡量采用延遲寫減少I/O次數。20四、緩沖區(qū)高速緩存(4)5)文件關閉或撤銷時,解決不再需要的緩沖區(qū)的重用,可采用策略(如LRU)把單獨的緩沖區(qū)鏈在一起,于是,最不可能被再次訪問的緩沖區(qū)將被最先重用。6)提供高速緩存操作,為文件驅動程序實現讀寫文件數據,通常有:寫緩存、延遲寫緩存、讀緩存、預讀緩存等。21一、存儲設備的物理結構二、循環(huán)排序三、優(yōu)化分布四、搜查定位五、獨立磁盤冗余陣列六、提高磁盤I/O速度的方法5.5驅動調度技術22什么是驅動調度對于磁盤,同時會有若干個輸入輸出請求來到并等待處理,系統(tǒng)必須采用一種調度策略,能按最佳次序執(zhí)行要求訪問的諸請求,這就叫驅動調度,使用的算法叫驅動調度算法。驅動調度能減少為若干個I/O請求服務所需的總時間,提高系統(tǒng)效率。除了I/O請求的優(yōu)化排序外,信息在磁盤上的排列方式、存儲空間分配方法都能影響存取訪問速度23一、存儲設備的物理結構(1)磁道扇區(qū)24一、存儲設備的物理結構(2)柱面扇區(qū)磁臂磁頭25一、存儲設備的物理結構(3)信息記錄在磁道上,多個盤片,正反兩面都用來記錄信息,每面一個磁頭。所有盤面中處于同一磁道號上的所有磁道組成一個柱面。物理地址形式:磁頭號(盤面號)磁道號(柱面號)扇區(qū)號26一、存儲設備的物理結構(4)磁盤系統(tǒng)由磁盤本身和驅動控制設備組成,實際存取讀寫的動作過程是由磁盤驅動控制設備按照主機要求完成的。一次訪盤請求包含的操作信息:讀/寫,磁盤地址(設備號,柱面號,磁頭號,扇區(qū)號),內存地址(源/目)27一、存儲設備的物理結構(5)完成過程由三個動作組成:尋道(時間):磁頭移動定位到指定磁道旋轉延遲(時間):等待指定扇區(qū)從磁頭下旋轉經過數據傳輸(時間):數據在磁盤與內存之間的實際傳輸磁盤是一種直接(隨機)存取存儲設備。每個物理記錄有確定的位置和唯一的地址,存取任何一個物理塊所需的時間幾乎不依賴于此信息的位置。28二、循環(huán)排序
(1)循環(huán)排序指的是對到來的多個磁盤I/O請求安排服務的排列順序。該順序影響I/O操作的總時間??紤]磁道保存4個記錄的旋轉型設備,假定收到四個I/O請求。旋轉一周耗時20ms。請求次序 記錄號(1) 讀記錄4
(2) 讀記錄3
(3) 讀記錄2
(4) 讀記錄129二、循環(huán)排序
(2)?方法1:按照I/O請求次序讀記錄4、3、2、1,平均用1/2周定位,再加上1/4周讀出記錄,總處理時間等于1/2+1/4+3*3/4=3周,即60毫秒。定位并讀出記錄4需要1/2+1/4毫秒,讀出記錄4后,磁盤已經旋轉到記錄1,再旋轉2/4周,到達記錄3,再旋轉1/4周,讀出記錄3。同理,讀出記錄3后,磁盤旋轉到記錄4,再旋轉3/4周,讀出記錄2。讀出記錄1也需要3/4周時間。1234逆時針旋轉30二、循環(huán)排序
(3)?方法2:如果次序為讀記錄1、2、3、4??偺幚頃r間等于1/2+1/4+3*1/4=1.5周,即30毫秒。定位并讀出記錄1需要1/2+1/4周時間,讀出記錄1后,磁盤已經旋轉到紀錄2,定位并讀出紀錄2的時間是1/4周,定位并讀出紀錄3和記錄4的時間也都是1/4周。1234逆時針旋轉31二、循環(huán)排序
(4)?方法3:如果知道當前讀位置是記錄3,則采用次序為讀記錄4、1、2、3。總處理時間等于1周,即20毫秒。如果知道當前讀位置是記錄3,則不必花費平均1/2周去尋找某個記錄。因為當前的讀位置是記錄3,所以只需旋轉1/4周即可讀出記錄4,然后再旋轉1/4周即可讀出記錄1,…,旋轉一周可讀出4個記錄。32三、優(yōu)化分布(1)信息在存儲空間的排列方式會影響存取等待時間??紤]10個邏輯記錄A,B……,J被存于旋轉型設備上,每道存放10個記錄,安排如下:物理塊邏輯紀錄
1-10A-J假定旋轉速度為20ms/周,處理程序讀出每個記錄后花4ms進行處理。則讀出記錄A需要旋轉20/10=2ms,即旋轉一個扇區(qū),處理完記錄A之后磁盤又旋轉了B、C兩個扇區(qū)(因為處理每個記錄需4ms時間),將轉到記錄D的開始。所以為了讀出B,必須再轉一周。從D開始旋轉到B開始共有8個扇區(qū),需耗時16ms。33三、優(yōu)化分布(2)處理10個記錄的總時間:10毫秒(移動到記錄A的平均時間)+2毫秒(讀記錄A)+4毫秒(處理記錄A)+9×[16毫秒(訪問下一記錄)+2毫秒(讀記錄)+4毫秒(處理記錄)]
=214毫秒ABCDEFGHIJ逆時針旋轉34三、優(yōu)化分布(3)按照下面方式對信息優(yōu)化分布AHEBIFCJGD則讀出記錄A并處理結束后,恰巧轉至記錄B的位置,立即就可讀出并處理。除了記錄A需要1/2周(10ms)旋轉尋道時間外,其它9個記錄沒有旋轉尋道時間。10個記錄都需要2ms的讀出一個扇區(qū)的時間和4ms的處理時間。35三、優(yōu)化分布(4)處理10個記錄的總時間:10毫秒(移動到記錄A的平均時間)+10×[2毫秒(讀記錄)×4毫秒(處理記錄)]=70毫秒36四、搜查定位(1)搜查定位指的是尋道,即磁頭徑向移動到目標磁道的操作,也稱移臂,相應策略稱為移臂調度策略。移臂調度的若干策略1、“先來先服務”算法2、“電梯調度”算法3、“最短查找時間優(yōu)先”算法4、“掃描”算法5、”分步掃描”算法6、“循環(huán)掃描”算法7、Linux磁盤調度算法37四、搜查定位(2)1、“先來先服務”算法先來先服務算法根據訪問請求的先后次序選擇先提出的訪問請求為之服務。容易實現,又公平合理。它的缺點是效率不高。38四、搜查定位(3)2、“電梯調度”算法選擇沿臂的移動方向最近的柱面,如果同一柱面上有多個請求,還需進行旋轉優(yōu)化。如果這個方向沒有訪問請求時,就改變臂的移動方向,處理所遇到的最近的I/O請求,非常類似于電梯的調度規(guī)則。舉例:假定磁頭正從100號磁道開始,向磁道號增加方向移動,這時9個進程先后提出訪問以下磁道:55、58、39、18、90、160、150、38、184,則按電梯調度算法進行調度的過程如下:39四、搜查定位(4)18383955589010015016018440四、搜查定位(5)3、“最短查找時間優(yōu)先”算法本算法總是優(yōu)先滿足距離磁頭最近的訪問請求。舉例:假定磁頭位置當前在100號磁道,這時9個進程先后提出訪問以下磁道:55、58、39、18、90、190、120、38、194,
則按最短查找時間優(yōu)先調度算法進行調度的過程如下:41四、搜查定位(6)18383955589010012019019442四、搜查定位(7)4、“掃描”算法本算法規(guī)定磁頭從最小號的磁道移動到最大號的磁道,然后再從最大號磁道移到最小號磁道,反反復復。在移臂的過程中發(fā)現磁道上有I/O請求則滿足之。該算法非常類似于電梯算法,但不同的是電梯算法只掃描到當前移動方向上有請求的最大磁道號或最小磁道號,“掃描”算法則要掃描到盡頭的磁道(終點),即使那里沒有I/O請求。也就是說I/O請求次序及個數不影響“掃描”算法移動過的磁道數及掃描路徑。43四、搜查定位(8)舉例:假定磁頭正在從大號磁道向小號磁道移動,磁道編號為0~200。這時9個進程先后提出訪問以下磁道:55、58、39、18、90、190、120、38、194,
則按“掃描”算法進行調度的過程如下:183839555890100120190194020044四、搜查定位(9)5、“分步掃描”算法將磁盤請求隊列分成若干個長度為N的子隊列,磁盤調度按先來先服務算法依次處理這些隊列。當正在處理某子隊列時,如果又出現新的磁盤I/O請求,便將新請求進程放入其它隊列。舉例:按分步掃描算法對進程提出的磁盤訪問請求進行調度,每個子隊列的長度為3。則對先后到來的磁盤訪問請求進行調度的一個實例如下:45四、搜查定位(10)在時刻T1到達三個請求,形成隊列1隊列1在時刻T2,訪問完磁道55,這時又到達三個請求(其中有兩個距離磁道58和39很近)形成隊列2隊列1隊列2在時刻T3,隊列1處理完畢,開始準備訪問隊列2的磁道18隊列1隊列2圖1圖2圖346四、搜查定位(11)6、“循環(huán)掃描”算法移動臂總從0號柱面至最大號柱面順序掃描,然后,直接返回0號柱面重復進行,歸途中不再服務,構成了一個循環(huán)。舉例:規(guī)定磁頭向磁道號增加的方向移動時才訪問磁道。磁道編號為0~200。假定磁頭正從100號磁道開始,向磁道號增加方向移動,這時9個進程先后提出訪問以下磁道:55、58、39、18、90、160、150、38、184
,則按循環(huán)掃描算法進行調度的過程如下:47四、搜查定位(12)183839555890100150160184020048四、搜查定位(13)7、Linux磁盤調度算法1)電梯調度算法2)時限調度算法3)預期調度算法49四、搜查定位(14)1)Linux電梯調度算法(1)如果新請求與隊列中等待請求的數據處于同一磁盤扇區(qū)或者直接相鄰的扇區(qū),則現有請求和新請求合并成一個請求。(2)如果隊列中的請求已經存在很長時間,則新請求將被插入到隊列尾部。(3)如果存在合適的位置,則新請求將按順序插入到隊列中;如果沒有合適的位置,則新的請求將被插入到隊列尾部。50四、搜查定位(15)2)時限調度算法在電梯調度的基礎上考慮請求為讀還是寫,異步還是同步,請求等待的時間長短,根據這些因素修正I/O請求的調度次序,避免饑餓現象(不公平現象)發(fā)生。51四、搜查定位(16)3)預期調度算法預期調度算法是對時限調度算法的補充,它預測已經發(fā)出讀請求的進程很可能會在將來不久再次發(fā)出訪問上次所讀磁道附近的請求,于是不急于執(zhí)行下一個請求,而是延遲若干毫秒,在延期內若有符合預測的新請求則滿足之,沒有再執(zhí)行下一個請求。52五、獨立磁盤冗余陣列RAID(1)1、什么是獨立磁盤冗余陣列RAID是利用一臺磁盤陣列控制器統(tǒng)一管理和控制一組磁盤驅動器,組成一個速度快、可靠性高、性能價格比好的大容量磁盤系統(tǒng)。2、RAID的策略RAID填補了CPU速度快與磁盤設備速度慢之間的間隙,其策略是:用一組容量小、獨立的、可并行工作的磁盤驅動器組成陣列來代替單一的大容量磁盤,再增加冗余技術,數據分布存儲,單個I/O請求能并行地從多個磁盤驅動器同時存取數據。53五、獨立磁盤冗余陣列RAID(2)RAID共同特性①RAID是一組物理磁盤驅動器,可被操作系統(tǒng)看作是單一邏輯磁盤驅動器;②數據被分布存儲在陣列橫跨的物理驅動器上;③冗余磁盤的作用是保存奇偶校驗信息,當磁盤出現失誤時它能確保數據的恢復。54五、獨立磁盤冗余陣列RAID(3)RAID0數據劃成條塊被分布存儲在橫跨陣列中的所有磁盤上邏輯上連續(xù)的數據條塊,在物理上可被依次存儲在橫向相鄰的磁盤驅動器上通過陣列管理軟件進行邏輯地址空間到物理地址空間的映射無冗余校驗功能,可靠性差55五、獨立磁盤冗余陣列RAID(4)Strip0Strip4Strip8Strip12Strip1Strip5Strip9Strip13Strip10Strip3Strip7Strip15Strip10Strip11Strip2Strip6Strip14Strip10DatamappingforaRAIDLevel0ArrayStrip0Strip1Strip2Strip3Strip4Strip5Strip6Strip7Strip8...ArrayManagementsoftware56五、獨立磁盤冗余陣列RAID(5)RAID1雙份數據,每個盤都有一個包含相同數據的鏡像盤。①讀請求能通過包含相同請求數據中的任何一個磁盤提供服務,其中的一個所化查找和搜索時間最少;②寫操作時,要求改寫對應的兩個數據子塊,可采用并行操作,寫操作的性能由并行操作中較慢的一個決定;③一個驅動器出現故障,數據可以從鏡像盤獲得。57五、獨立磁盤冗余陣列RAID(6)Strip0Strip4Strip8Strip12Strip1Strip5Strip9Strip13Strip3Strip7Strip15Strip11Strip2Strip6Strip14Strip10Strip0Strip4Strip8Strip12Strip1Strip5Strip9Strip13
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東省職教高考《職測》核心考點必刷必練試題庫(含答案)
- 《鄉(xiāng)村振興促進法》參考試題庫80題(含答案)
- 《公務員法》考試題庫500題(含答案)
- 2025年江蘇農林職業(yè)技術學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 預防與解決勞動糾紛
- 人工智能應用開發(fā)合同
- 幼兒園紙張活動策劃方案模板五篇
- 建筑施工合同管理培訓.x
- 租賃房屋租賃合同
- 企業(yè)業(yè)務咨詢服務簡單合同
- 2023年四川省公務員錄用考試《行測》真題卷及答案解析
- 機電一體化系統(tǒng)設計-第5章-特性分析
- 2025年高考物理復習壓軸題:電磁感應綜合問題(原卷版)
- 鑄鋁焊接工藝
- 《社區(qū)康復》課件-第六章 骨關節(jié)疾病、損傷患者的社區(qū)康復實踐
- 2024年湖南省公務員考試行政職業(yè)能力測驗真題
- 攀巖運動之繩結技巧課程
- 防打架毆斗安全教育課件
- 采購行業(yè)的swot分析
- 石家莊長安區(qū)幼兒園信息統(tǒng)計表
- 最終稿(教學評一致)課件
評論
0/150
提交評論