操作系統(tǒng)-05輸入輸出課件_第1頁(yè)
操作系統(tǒng)-05輸入輸出課件_第2頁(yè)
操作系統(tǒng)-05輸入輸出課件_第3頁(yè)
操作系統(tǒng)-05輸入輸出課件_第4頁(yè)
操作系統(tǒng)-05輸入輸出課件_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

輸入/輸出第5章5.1I/O硬件原理5.2I/O軟件原理5.3I/O軟件層次5.4硬盤5.51I/O設(shè)備分類與人進(jìn)行交互用于和用戶進(jìn)行通信打印機(jī)視頻顯示設(shè)備顯示器鍵盤鼠標(biāo)與設(shè)備進(jìn)行交互用于和電子設(shè)備進(jìn)行通信磁盤和磁帶傳感器控制器傳動(dòng)器2I/O設(shè)備分類網(wǎng)絡(luò)通信類用于和遠(yuǎn)程設(shè)備進(jìn)行通信數(shù)據(jù)線調(diào)制解調(diào)器所有設(shè)備在操作系統(tǒng)中被粗略地分為兩類塊設(shè)備字符設(shè)備3I/O設(shè)備的不同傳輸單位對(duì)于終端,數(shù)據(jù)的傳輸是以字符流為單位,而磁盤則是以塊為單位數(shù)據(jù)的表示方式不同設(shè)備編碼方式不一樣出錯(cuò)表示方式5I/O硬件原理某些典型設(shè)備、網(wǎng)絡(luò)和總線的數(shù)據(jù)率6設(shè)備控制器I/O設(shè)備的組成:機(jī)械部分電子部分組成設(shè)備的電子部分就是設(shè)備控制器一個(gè)設(shè)備控制器可以處理一類設(shè)備控制器的任務(wù)將串行的位流轉(zhuǎn)換成字節(jié)塊盡可能進(jìn)行糾錯(cuò)可以與主存進(jìn)行讀寫操作7內(nèi)存映射I/O(2)(a)單總線體系結(jié)構(gòu)(b)雙總線內(nèi)存體系結(jié)構(gòu)910I/O數(shù)據(jù)傳輸方式程序控制I/O在進(jìn)行輸入/輸出時(shí),CPU處于一種忙等待中斷驅(qū)動(dòng)I/OCPU發(fā)出I/O命令,由控制器具體執(zhí)行CPU轉(zhuǎn)去執(zhí)行其他指令控制器完成I/O后,向CPU發(fā)中斷信號(hào)1113幾種數(shù)據(jù)傳輸方式的關(guān)系14中斷回顧中斷是怎樣發(fā)生的,設(shè)備與中斷控制器之間的連線實(shí)際上使用的是總線上的中斷線而不是專用連線。busControlregisterDataregister15直接存儲(chǔ)器存取(DMA)DMA傳送操作17直接存儲(chǔ)器存取(DMA)基本原理:處理器將相應(yīng)的傳輸命令發(fā)給DMA控制器DMA控制器直接將數(shù)據(jù)與內(nèi)存間進(jìn)行交換當(dāng)數(shù)據(jù)傳輸結(jié)束,DMA控制器向處理器發(fā)中斷信號(hào)18DMA配置幾種DMA控制器的使用方式19I/O軟件原理

I/O軟件的目標(biāo)(1)設(shè)備獨(dú)立性程序能夠訪問任意的設(shè)備不需要事先指定(如讀取硬盤,軟盤,或光區(qū))統(tǒng)一命名一個(gè)文件或設(shè)備的名字應(yīng)該是一個(gè)簡(jiǎn)單的字符串或一個(gè)整數(shù)不應(yīng)依賴于任何設(shè)備錯(cuò)誤處理錯(cuò)誤應(yīng)該盡可能在接近硬件層面得到處理21I/O軟件目標(biāo)(2)同步(Synchronous)和異步(asynchronous)傳輸阻塞式傳輸和中斷驅(qū)動(dòng)傳輸緩沖數(shù)據(jù)離開一個(gè)設(shè)備后通常并不能直接存放到目的地共享設(shè)備和獨(dú)占設(shè)備磁盤是共享設(shè)備磁帶是獨(dú)占性設(shè)備22程序控制I/O(1)打印一個(gè)字符串的步驟23中斷驅(qū)動(dòng)I/O使用中斷驅(qū)動(dòng)I/O將一個(gè)字符串寫到打印機(jī)當(dāng)打印系統(tǒng)被調(diào)用時(shí)執(zhí)行的代碼打印機(jī)的中斷服務(wù)過程25使用DMA的I/O使用DMA打印一個(gè)字符串當(dāng)打印系統(tǒng)被調(diào)用時(shí)執(zhí)行的代碼中斷服務(wù)過程26I/O軟件層次I/O軟件系統(tǒng)的層次27中斷處理程序(2)為中斷服務(wù)過程設(shè)置堆棧應(yīng)答中斷控制器,如果不存在集中的中斷控制器,則再次開放中斷將寄存器從它們被保存的地方復(fù)制到進(jìn)程表中運(yùn)行中斷服務(wù)過程,從發(fā)出中斷的設(shè)備控制器的寄存器中提取信息選擇下一次運(yùn)行哪一個(gè)進(jìn)程為下一次要運(yùn)行的進(jìn)程設(shè)置MMU上下文裝入新進(jìn)程的寄存器開始運(yùn)行新進(jìn)程29設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)程序的邏輯定位驅(qū)動(dòng)程序和設(shè)備控制器之間的所有通信都通過總線30與設(shè)備無關(guān)的I/O軟件(1)與設(shè)備無關(guān)的I/O軟件功能設(shè)備驅(qū)動(dòng)程序的統(tǒng)一接口緩沖錯(cuò)誤報(bào)告分配與釋放專用設(shè)備提供與設(shè)備無關(guān)的塊大小31與設(shè)備無關(guān)的I/O軟件(2)(a)沒有標(biāo)準(zhǔn)的驅(qū)動(dòng)程序接口(b)具有標(biāo)準(zhǔn)的驅(qū)動(dòng)程序接口32與設(shè)備無關(guān)的I/O軟件(3)(a)無緩沖的輸入(b)用戶空間中的緩沖(c)內(nèi)核空間中的緩沖接著復(fù)制到用戶空間(d)內(nèi)核空間中的雙緩沖33雙緩沖使用兩個(gè)系統(tǒng)內(nèi)核空間中的緩沖當(dāng)?shù)谝粋€(gè)緩沖區(qū)被填滿之后,在它被清空之前可以使用第二個(gè)緩沖區(qū)34循環(huán)緩沖可以使用的緩沖區(qū)有兩個(gè)以上EachindividualbufferisoneunitinacircularbufferUsedwhenI/Ooperationmustkeepupwithprocess35緩沖池(bufferpool)緩沖區(qū)隊(duì)列:三種:空閑緩沖區(qū),輸入緩沖區(qū),輸出緩沖區(qū)操作:四種:設(shè)備輸入,CPU讀入,設(shè)備輸出,CPU寫出。上述操作訪問各個(gè)緩沖區(qū)隊(duì)列時(shí),需要進(jìn)行相應(yīng)的互斥操作。這是一種雙方向緩沖技術(shù);緩沖區(qū)整體利用率高。36與設(shè)備無關(guān)的I/O軟件(3)錯(cuò)誤報(bào)告分配與釋放專用設(shè)備與設(shè)備無關(guān)的塊大小37用戶空間的I/O軟件

I/O系統(tǒng)的層次以及每一層的主要功能38SPOOLing(假脫機(jī),虛擬設(shè)備技術(shù)),SimultaneousPeripheralOperationOnLine可把獨(dú)享設(shè)備轉(zhuǎn)變成具有共享特征的虛擬設(shè)備,從而提高設(shè)備利用率。引入:在多道批處理系統(tǒng)中,專門利用一道程序(SPOOLing程序)來完成對(duì)設(shè)備的I/O操作。無需使用外圍I/O處理機(jī)。39原理:SPOOLing程序和外設(shè)進(jìn)行數(shù)據(jù)交換,可以稱為“實(shí)際I/O”。一方面,SPOOLing程序預(yù)先從外設(shè)輸入數(shù)據(jù)并加以緩沖,在以后需要的時(shí)候輸入到應(yīng)用程序;另一方面,SPOOLing程序接受應(yīng)用程序的輸出數(shù)據(jù)并加以緩沖,在以后適當(dāng)?shù)臅r(shí)候輸出到外設(shè)。在SPOOLing程序中,需要管理兩級(jí)緩沖區(qū):內(nèi)存緩沖區(qū)和快速外存上的緩沖池,后者可以暫存多批I/O操作的較多數(shù)據(jù)。應(yīng)用程序進(jìn)行I/O操作時(shí),只是和SPOOLing程序交換數(shù)據(jù),可以稱為"虛擬I/O"。這時(shí)虛擬I/O實(shí)際上是從SPOOLing程序的緩沖池中讀出數(shù)據(jù)或把數(shù)據(jù)送入緩沖池,而不是跟實(shí)際的外設(shè)進(jìn)行I/O操作。40優(yōu)點(diǎn):高速虛擬I/O操作:應(yīng)用程序的虛擬I/O比實(shí)際I/O速度提高,縮短應(yīng)用程序的執(zhí)行時(shí)間。另一方面,程序的虛擬I/O操作時(shí)間和實(shí)際I/O操作時(shí)間分離開來。實(shí)現(xiàn)對(duì)獨(dú)享設(shè)備的共享:由SPOOLing程序提供虛擬設(shè)備,可以對(duì)獨(dú)享設(shè)備依次共享使用。舉例:打印機(jī)設(shè)備和可由打印機(jī)管理器管理的打印作業(yè)隊(duì)列。如:WindowsNT中,應(yīng)用程序直接向針式打印機(jī)輸出需要15分鐘,而向打印作業(yè)隊(duì)列輸出只需要1分鐘,此后用戶可以關(guān)閉應(yīng)用程序而轉(zhuǎn)入其他工作,在以后適當(dāng)?shù)臅r(shí)候由打印機(jī)管理器完成15分鐘的打印輸出而無需用戶干預(yù)。41磁盤的結(jié)構(gòu)盤

盤的硬件(1)42盤

盤的硬件(2)最初的IBMPC360KB軟盤參數(shù)與西部數(shù)據(jù)公司W(wǎng)D18300硬盤參數(shù)43盤的硬件(3)具有兩個(gè)環(huán)帶的磁盤的物理幾何規(guī)格該磁盤的一種可能的虛擬幾何規(guī)格44RAIDRedundantArrayofIndependentDisks(廉價(jià)磁盤冗余陣列)由一個(gè)RAID控制器加上一個(gè)裝滿磁盤的盒子組成,而對(duì)操作系統(tǒng)而言就是一個(gè)大容量的磁盤數(shù)據(jù)被分布在多個(gè)驅(qū)動(dòng)器的陣列上冗余磁盤可以用來存放奇偶信息45Raid0級(jí)到2級(jí)陰影表示備份或者存放校驗(yàn)碼的盤鏡像無冗余冗余盤上存放的是海明校驗(yàn)碼46Raid3級(jí)到5級(jí)陰影表示備份或者存放校驗(yàn)碼的盤bit-interleavedparityblock-levelparityblock-leveldistributedparity47磁盤格式化(1)一個(gè)磁盤扇區(qū)48磁盤格式化(2)柱面斜進(jìn)示意圖49磁盤的格式化(3)無交錯(cuò)單交錯(cuò)雙交錯(cuò)50磁頭臂調(diào)度算法(1)讀寫一個(gè)磁盤塊的時(shí)間又下面三個(gè)因素構(gòu)成尋道時(shí)間旋轉(zhuǎn)延遲實(shí)際數(shù)據(jù)傳輸時(shí)間尋道時(shí)間占主導(dǎo)地位傳輸過程中的糾錯(cuò)由控制器完成51磁頭臂調(diào)度策略先來先服務(wù)(FIFO)按達(dá)到順序滿足進(jìn)程的需求對(duì)所有進(jìn)程都公平在磁盤I/O負(fù)載較輕且每次讀寫多個(gè)連續(xù)扇區(qū)時(shí),性能較好優(yōu)先級(jí)目標(biāo)是系統(tǒng)目標(biāo)的實(shí)現(xiàn),而不是改進(jìn)磁盤I/O性能短作業(yè)具有較高優(yōu)先級(jí)反映進(jìn)程在系統(tǒng)的優(yōu)先級(jí)特征,具有較好系統(tǒng)交互響應(yīng)時(shí)間52磁頭臂調(diào)度策略后進(jìn)先出該算法是基于事務(wù)系統(tǒng)中順序文件中磁盤I/O的局部性特征,相鄰訪問的位置也相鄰。它的問題在于系統(tǒng)負(fù)載重時(shí),可能有進(jìn)程的磁盤I/O永遠(yuǎn)不能執(zhí)行,處于饑餓狀態(tài)。最短尋道時(shí)間優(yōu)先考慮磁盤I/O請(qǐng)求隊(duì)列中各請(qǐng)求的磁頭定位位置,選擇從當(dāng)前磁頭位置出發(fā),移動(dòng)最少的磁盤I/O請(qǐng)求。該算法的目標(biāo)是使每次磁頭移動(dòng)時(shí)間最少。它不一定是最短平均柱面定位時(shí)間,但比FIFO算法有更好的性能。對(duì)中間的磁道有利,可能會(huì)有進(jìn)程處于饑餓狀態(tài)。53磁頭臂調(diào)度策略SCAN(elevatoralgorithm,掃描算法,電梯算法)選擇在磁頭前進(jìn)方向上從當(dāng)前位置移動(dòng)最少的磁盤I/O請(qǐng)求執(zhí)行,沒有前進(jìn)方向上的請(qǐng)求時(shí)才改變方向。該算法是對(duì)SSTF算法的改進(jìn),磁盤I/O較好,且沒有進(jìn)程會(huì)餓死。C-SCAN(循環(huán)掃描)嚴(yán)格按照一個(gè)方向進(jìn)行掃描,在一個(gè)方向上使用掃描算法,當(dāng)?shù)竭_(dá)邊沿時(shí)直接移動(dòng)到另一沿的第一個(gè)位置。該算法可改進(jìn)掃描算法對(duì)中間磁道的偏好。實(shí)驗(yàn)表明,該算法在中負(fù)載或重負(fù)載時(shí),磁盤I/O性能比掃描算法好。54磁頭臂調(diào)度策略

幾種不同調(diào)度算法的比較55錯(cuò)誤處理具有一個(gè)壞扇區(qū)的磁盤磁道用備用扇區(qū)替換壞扇區(qū)移動(dòng)所有扇區(qū)以回避壞扇區(qū)56時(shí)鐘

時(shí)鐘硬件可編程時(shí)鐘57時(shí)鐘軟件(1)維護(hù)日時(shí)間的三種方式58時(shí)鐘軟件(2)用單個(gè)時(shí)鐘模擬多個(gè)定時(shí)器59時(shí)鐘軟件的主要功能維護(hù)日期時(shí)間防止進(jìn)程超時(shí)運(yùn)行對(duì)CPU的使用情況記帳處理用戶進(jìn)程提出的alarm系統(tǒng)調(diào)用為系統(tǒng)本身的各個(gè)部分提供監(jiān)視定時(shí)器完成概要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論