第7章輸入出管理_第1頁
第7章輸入出管理_第2頁
第7章輸入出管理_第3頁
第7章輸入出管理_第4頁
第7章輸入出管理_第5頁
已閱讀5頁,還剩49頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第7章設(shè)備管理7.1I/O系統(tǒng)的硬件組成7.2I/O系統(tǒng)的控制方式7.3I/O設(shè)備管理的功能7.4設(shè)備分配技術(shù)7.5I/O軟件層次7.6磁盤調(diào)度和管理7.1I/O系統(tǒng)的硬件組成

7.1.1I/O設(shè)備1.設(shè)備分類從設(shè)備的工作特性分類

存儲設(shè)備:計算機(jī)用來存儲信息的主要設(shè)備。輸入/輸出設(shè)備從信息交換單位分類塊設(shè)備:組織、處理及交換信息的基本單位是字符塊。一般塊的大小為512B~8KB。如磁盤、磁帶等。字符設(shè)備:處理信息的基本單位是字符。如鍵盤、打印機(jī)等。7.1.1I/O設(shè)備1.設(shè)備分類從設(shè)備的共享屬性分類獨(dú)占設(shè)備:在一段時間內(nèi)只允許一個進(jìn)程使用的設(shè)備。共享設(shè)備:在一段時間內(nèi)可允許多個進(jìn)程同時使用的設(shè)備虛擬設(shè)備:是指通過虛擬技術(shù)將一臺獨(dú)占設(shè)備改造成若干臺邏輯設(shè)備,供若干用戶進(jìn)程同時使用。這種被處理后的獨(dú)占設(shè)備稱為虛擬設(shè)備。2.設(shè)備標(biāo)識設(shè)備絕對號(或絕對地址):系統(tǒng)按某種原則為每臺設(shè)備分配惟一的號碼,用做硬件(設(shè)備控制器)區(qū)分和識別設(shè)備的代號。操作系統(tǒng)為每類設(shè)備規(guī)定了一個編號,稱做設(shè)備類型號。如在UNIX系統(tǒng)中,設(shè)備類型號稱做主設(shè)備號。設(shè)備相對號:是用戶自己規(guī)定的所用同類設(shè)備中的第幾臺。7.1.1I/O設(shè)備7.1.2設(shè)備控制器

I/O設(shè)備一般由機(jī)械和電子兩部分組成。電子部分稱做設(shè)備控制器或適配器機(jī)械部分為設(shè)備本身操作系統(tǒng)總是通過設(shè)備控制器實施對設(shè)備的控制和操作。控制器是可編址的設(shè)備。7.1.2設(shè)備控制器

1.控制器接口設(shè)備控制器有兩個方向的接口:與主機(jī)之間的系統(tǒng)接口;是與設(shè)備驅(qū)動電路之間的低層次接口。7.1.2設(shè)備控制器

CPU外部設(shè)備控制邏輯電路控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器設(shè)備控制器7.1.2設(shè)備控制器

2.端口編址方法為了實現(xiàn)與CPU通信,每個控制器都有幾個寄存器。控制寄存器狀態(tài)寄存器數(shù)據(jù)寄存器除控制寄存器外,很多設(shè)備還有數(shù)據(jù)緩沖區(qū)。7.1.2設(shè)備控制器

CPU與控制寄存器和設(shè)備數(shù)據(jù)緩沖區(qū)的通信方式I/O獨(dú)立編址:為每個控制寄存器分配一個I/O端口號(8位或16位整數(shù)),使用專門的I/O指令,CPU可以讀/寫控制寄存器。內(nèi)存映像編址:把所有控制寄存器映像到存儲器空間。混合方式,既有存儲器映像I/O數(shù)據(jù)緩沖器,又采用單獨(dú)的I/O端口。7.1.2設(shè)備控制器

圖7-2內(nèi)存和I/O的地址空間

7.1.3總線總線:將計算機(jī)系統(tǒng)中的各個子系統(tǒng)(CPU、內(nèi)存、外設(shè)等)相互連接,且連接是共享的。總線分類數(shù)據(jù)總線地址總線控制總線7.2I/O系統(tǒng)的控制方式1.程序控制直接傳遞方式2.程序查詢方式3.中斷控制方式其基本工作過程是:①CPU執(zhí)行設(shè)備驅(qū)動程序,發(fā)出啟動I/O設(shè)備的指令,使外設(shè)處于準(zhǔn)備工作狀態(tài)。然后,CPU繼續(xù)運(yùn)行程序,進(jìn)行其他信息的處理。②I/O控制器按照I/O指令的要求,啟動并控制I/O設(shè)備的工作。7.2I/O系統(tǒng)的控制方式③當(dāng)輸入就緒、輸出完成或發(fā)生錯誤時,I/O控制器便向CPU發(fā)送一個中斷信號。④CPU接收到中斷信號后,保存少量的狀態(tài)信息。然后將控制傳送給中斷處理程序。⑤中斷處理程序確定中斷原因,執(zhí)行相應(yīng)的處理工作,最后退出中斷,返回中斷前的執(zhí)行狀態(tài)。⑥CPU恢復(fù)對被中斷任務(wù)的處理工作。7.2I/O系統(tǒng)的控制方式4.直接存儲器訪問方式5.獨(dú)立通道方式

(1)通道的引入為使CPU擺脫繁忙的I/O事務(wù),現(xiàn)代大、中型計算機(jī)都設(shè)置了專門處理I/O操作的機(jī)構(gòu),這就是通道。通道程序由通道執(zhí)行的指令組成。

7.2I/O系統(tǒng)的控制方式5.獨(dú)立通道方式

(2)通道類型①字節(jié)多路通道。它以字節(jié)作為信息輸送單位,服務(wù)于多臺低速I/O設(shè)備。②選擇通道。它在同一時間里只能為一臺設(shè)備服務(wù)。主要用于連接高速外部設(shè)備③成組多路通道。它結(jié)合字節(jié)多路通道分時操作和選擇通道高速傳送的優(yōu)點(diǎn),廣泛用于連接高速和中速設(shè)備。6.I/O處理器方式7.2I/O系統(tǒng)的控制方式7.3I/O設(shè)備管理的功能1.I/O軟件的主要目標(biāo)(1)與設(shè)備無關(guān)也稱設(shè)備獨(dú)立性。用戶程序應(yīng)與實際使用的物理設(shè)備無關(guān),由操作系統(tǒng)考慮因為實際設(shè)備不同而需要使用不同的設(shè)備驅(qū)動程序等問題。(2)統(tǒng)一命名(3)層次結(jié)構(gòu)(4)效率高7.3I/O設(shè)備管理的功能2.I/O管理的主要功能

(1)監(jiān)視設(shè)備狀態(tài)(2)進(jìn)行設(shè)備分配(3)完成I/O操作(4)緩沖管理與地址轉(zhuǎn)換7.4設(shè)備分配技術(shù)7.4.1與設(shè)備分配相關(guān)的因素(1)I/O設(shè)備的固有屬性(2)系統(tǒng)所采用的分配算法(3)設(shè)備分配應(yīng)防止死鎖發(fā)生(4)用戶程序與實際使用的物理設(shè)備無關(guān)7.4.2設(shè)備分配算法

(1)先來先服務(wù)(2)優(yōu)先級高的優(yōu)先服務(wù)7.4.3設(shè)備分配技術(shù)1.按使用性質(zhì)對設(shè)備分類

(1)獨(dú)占設(shè)備

(2)共享設(shè)備(3)虛擬設(shè)備7.4.3設(shè)備分配技術(shù)2.設(shè)備分配技術(shù)(1)獨(dú)占分配獨(dú)占分配技術(shù)是把獨(dú)占設(shè)備固定地分配給一個進(jìn)程,直至該進(jìn)程完成I/O操作并且釋放它為止。(2)共享分配(3)虛擬分配虛擬分配技術(shù)利用共享設(shè)備去實現(xiàn)獨(dú)占設(shè)備的功能,從而使獨(dú)占設(shè)備“感覺上”成為可共享的、快速的I/O設(shè)備。實現(xiàn)虛擬分配最成功的技術(shù)是:SPOOLing技術(shù)。例如:把卡片機(jī)(獨(dú)占設(shè)備)變成共享設(shè)備。SPOOLing程序預(yù)先把一臺卡片機(jī)上一個作業(yè)的全部卡片輸入磁盤中。以后,當(dāng)進(jìn)程試圖讀卡時,

由SPOOLing程序把這個請求轉(zhuǎn)換成從盤上讀入。從用戶程序來看,它是從卡片機(jī)上讀入信息,而實際上是從磁盤上讀入的。因為磁盤容易被多個用戶共享,用戶作業(yè)可一個接一個地放在卡片機(jī)上,然后送入磁盤。借助磁盤這個共享設(shè)備,把卡片機(jī)變成共享設(shè)備了。7.4.4SPOOLing系統(tǒng)

SPOOLing技術(shù)的實現(xiàn)實體:SPOOLing系統(tǒng)的構(gòu)成輸入進(jìn)程輸出進(jìn)程輸入緩沖區(qū)輸出緩沖區(qū)輸入井輸出井磁盤內(nèi)存輸入設(shè)備輸出設(shè)備7.4.4SPOOLing系統(tǒng)

系統(tǒng)組成輸入井和輸出井

輸入緩沖區(qū)和輸出緩沖區(qū)

輸入進(jìn)程和輸出進(jìn)程

7.4.4SPOOLing系統(tǒng)

輸入井和輸出井

輸入井:虛擬低速輸入設(shè)備,暫存從輸入設(shè)備預(yù)輸入的信息;輸出井:虛擬低速輸出設(shè)備,暫存要緩輸出到輸出設(shè)備的信息。7.4.4SPOOLing系統(tǒng)

輸入緩沖區(qū)和輸出緩沖區(qū)

輸入緩沖區(qū):用作輸入設(shè)備和磁盤輸入井之間的中轉(zhuǎn)站;輸出緩沖區(qū):用作磁盤輸出井和輸出設(shè)備之間的中轉(zhuǎn)站。7.4.4SPOOLing系統(tǒng)

輸入進(jìn)程和輸出進(jìn)程

輸入進(jìn)程:模擬脫機(jī)輸入時的衛(wèi)星輸入機(jī),將數(shù)據(jù)從輸入設(shè)備經(jīng)過輸入緩沖區(qū)送到輸入井。當(dāng)CPU需要讀取數(shù)據(jù)時,直接從輸入井中提取數(shù)據(jù)到內(nèi)存;輸出進(jìn)程:模擬脫機(jī)輸出時的衛(wèi)星輸出機(jī),將應(yīng)用進(jìn)程要輸出的數(shù)據(jù)送到輸出井,當(dāng)輸出設(shè)備空閑時,將輸出井中的數(shù)據(jù)經(jīng)過輸出緩沖區(qū)送到輸出設(shè)備輸出。

7.4.4SPOOLing系統(tǒng)

利用SPOOLing技術(shù)共享打印機(jī)

當(dāng)用戶進(jìn)程請求打印輸出時,SPOOLing系統(tǒng)立即同意為它打印輸出,但并不真正把打印機(jī)分配給該用戶進(jìn)程

7.4.4SPOOLing系統(tǒng)

利用SPOOLing技術(shù)共享打印機(jī)

由輸出進(jìn)程在輸出井中為之申請一個空閑的磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中。

輸出進(jìn)程再為用戶進(jìn)程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,然后將該表掛到打印機(jī)的請求打印隊列上

7.4.4SPOOLing系統(tǒng)

利用SPOOLing技術(shù)共享打印機(jī)

如果打印機(jī)空閑,輸出進(jìn)程將從請求隊列的隊首取出一張請求打印表,根據(jù)表中的要求將要打印的數(shù)據(jù)從輸出井傳送到內(nèi)存緩沖區(qū),再由打印機(jī)進(jìn)行打印。打印完后,輸出進(jìn)程將再檢查請求隊列中是否還有待打印的請求表,若有繼續(xù)打印,否則便將自己阻塞起來,并在下次再有打印請求時被喚醒。

7.5I/O軟件層次圖I/O軟件系統(tǒng)的層次7.5.1中斷處理程序7.5.2設(shè)備驅(qū)動程序每個連接到計算機(jī)的I/O設(shè)備都需要某些設(shè)備特定的代碼來對其進(jìn)行控制,這樣的代碼為設(shè)備驅(qū)動程序。7.5.2設(shè)備驅(qū)動程序

圖7-7設(shè)備驅(qū)動程序在系統(tǒng)中的邏輯位置7.5.2設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序主要功能接受來自上層、與設(shè)備無關(guān)軟件的抽象讀寫請求,并且將該I/O請求排在請求隊列的隊尾,同時還要檢查I/O請求的合法性。取出請求隊列中隊首請求,且將相應(yīng)設(shè)備分配給它。向該設(shè)備控制器發(fā)送命令,啟動該設(shè)備工作,完成指定的I/O操作。處理來自設(shè)備的中斷。7.5.3與設(shè)備無關(guān)的操作系統(tǒng)I/O軟件圖7-8與設(shè)備無關(guān)的操作系統(tǒng)I/O軟件的功能7.5.3與設(shè)備無關(guān)的操作系統(tǒng)I/O軟件1.設(shè)備驅(qū)動程序的統(tǒng)一接口2.緩沖技術(shù)(1)緩沖技術(shù)的引入引入緩沖技術(shù)的主要目的是:①緩解CPU與I/O設(shè)備間速度不匹配的矛盾。②提高它們之間的并行性。③減少對CPU的中斷次數(shù),放寬CPU對中斷響應(yīng)時間的要求。

(2)緩沖區(qū)的設(shè)置①單緩沖。如果數(shù)據(jù)到達(dá)率與離去率相差很大,則可采用單緩沖方式。②雙緩沖。如果信息的輸入和輸出速率相同(或相差不大),則可利用雙緩沖區(qū)實現(xiàn)二者的并行。③多緩沖。為了解決陣發(fā)性I/O的速度不匹配問題,可以設(shè)立多個緩沖區(qū)。圖7-9雙緩沖工作示例7.5.3與設(shè)備無關(guān)的操作系統(tǒng)I/O軟件3.出錯報告根據(jù)錯誤產(chǎn)生的原因,可把I/O錯誤分為兩類:一類是程序設(shè)計錯誤,另一類是實際I/O錯誤。4.分配和釋放獨(dú)占設(shè)備5.提供與設(shè)備無關(guān)的塊大小7.5.4用戶級I/O軟件多數(shù)I/O軟件都在操作系統(tǒng)中,用戶空間中也有一小部分。通常,它們以庫函數(shù)形式出現(xiàn)。用戶空間中另一個重要的I/O軟件是SPOOLing系統(tǒng)。7.6磁盤調(diào)度和管理

7.6.1磁盤硬件1磁盤的結(jié)構(gòu)7.6.1磁盤硬件(1)Header(磁頭)(2)Cylinder(柱面)(3)Sector(扇區(qū))扇區(qū)是將磁道按照相同角度等分的扇形。7.6.2磁盤調(diào)度

1.磁盤存取時間磁盤尋道時間(即磁頭從當(dāng)前磁道移至指定磁道所用的時間)旋轉(zhuǎn)延遲時間(即磁頭從當(dāng)前位置落到指定扇區(qū)開頭所用的時間)數(shù)據(jù)傳輸時間減少平均尋道時間就可以顯著地改善系統(tǒng)性能。7.6.2磁盤調(diào)度

2.磁盤調(diào)度算法(1)先來先服務(wù)法(FCFS)要訪問的磁道分別是:

98,183,37,122,14,124,65,67最早來的請求是訪問98道,最后一個是訪問67道。設(shè)磁頭最初在53道上。7.6.2磁盤調(diào)度

圖7-12先來先服務(wù)調(diào)度算法示例7.6.2磁盤調(diào)度

(2)最短尋道時間優(yōu)先法(SSTF)圖7-13最短尋道時間優(yōu)先調(diào)度7.6.2磁盤調(diào)度

(3)掃描法(SCAN)圖7-14掃描調(diào)度算法示例98,183,37,122,14,124,65,677.6.2磁盤調(diào)度

(4)巡回掃描法(C-SCAN)圖7-15巡回掃描調(diào)度算法示例98,18

溫馨提示

  • 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

提交評論