




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
6.1I/O系統(tǒng)的功能、模型和接口I/O系統(tǒng)的基本功能隱藏物理設備的細節(jié)與設備的無關性提高處理機和I/O設備的利用率對I/O設備進行控制確保對設備的正確共享錯誤處理第一頁,共118頁。6.1I/O系統(tǒng)的功能、模型和接口I/O系統(tǒng)的層次結構和模型I/O軟件的層次結構第二頁,共118頁。6.1I/O系統(tǒng)的功能、模型和接口I/O系統(tǒng)中各種模塊之間的層次視圖第三頁,共118頁。6.1I/O系統(tǒng)的功能、模型和接口I/O系統(tǒng)接口塊設備接口流設備(字符設備)接口網(wǎng)絡通信接口第四頁,共118頁。6.2I/O設備和設備控制器I/O設備組成機械部件即設備本身(物理裝置)執(zhí)行I/O操作電子部件即設備控制器或叫適配器執(zhí)行I/O控制在小型和微型機中,它常采用印刷電路卡插入計算機主板上的總線插槽通過若干接口寄存器或接口緩沖區(qū)與CPU通信第五頁,共118頁。6.2I/O設備和設備控制器I/O設備可從不同角度對設備進行分類按使用特性分類存儲設備輸入輸出設備按傳輸速率分類低速設備:每秒幾個字節(jié)到數(shù)百個字節(jié),鍵盤中速設備:每秒數(shù)千個字節(jié)到數(shù)十千字節(jié),打印機高速設備:每秒數(shù)百千個字節(jié)到數(shù)兆個字節(jié),網(wǎng)卡、磁盤第六頁,共118頁。6.2I/O設備和設備控制器常用設備、網(wǎng)絡以及總線的數(shù)據(jù)率第七頁,共118頁。6.2I/O設備和設備控制器按信息交換的單位分類塊設備(BlockDevice):設備一次操作的數(shù)據(jù)傳輸單位是塊常見設備:磁盤、磁帶等特征:傳輸速率高;可尋址;DMA方式字符設備(CharacterDevice):設備一次操作的數(shù)據(jù)傳輸單位是字符常見設備:鍵盤、終端、打印機和鼠標等特征:傳輸速率低;不可尋址;中斷驅動方式第八頁,共118頁。6.2I/O設備和設備控制器按設備的固有屬性分類獨占設備:在一段時間內只能由一個進程(用戶)使用的設備,屬于臨界資源,如打印機、磁帶機等共享設備:在一段時間內可由多個進程同時使用的設備,如磁盤虛擬設備:通過虛擬技術將一臺獨占設備改造為共享設備,供若干進程同時使用第九頁,共118頁。6.2I/O設備和設備控制器設備控制器設備控制器分為兩類控制字符設備的控制器控制塊設備的控制器第十頁,共118頁。6.2I/O設備和設備控制器設備控制器的功能接收和識別命令(控制寄存器)數(shù)據(jù)交換(數(shù)據(jù)寄存器)設備狀態(tài)的了解和報告(狀態(tài)寄存器)地址識別(地址譯碼器)數(shù)據(jù)緩沖差錯控制操作系統(tǒng)一般只與設備控制器打交道第十一頁,共118頁。6.2I/O設備和設備控制器設備控制器的組成設備控制器是CPU和I/O設備之間的接口,它接收從CPU發(fā)來的命令,并去控制設備工作設備控制器和處理機的接口數(shù)據(jù)線:與數(shù)據(jù)寄存器和控制/狀態(tài)寄存器相連地址線控制線第十二頁,共118頁。6.2I/O設備和設備控制器設備控制器和設備的接口數(shù)據(jù)信號控制信號狀態(tài)信號I/O邏輯CPU啟動一個設備時,將啟動命令和地址送給控制器控制器的I/O邏輯對收到的命令進行譯碼再根據(jù)譯出的命令對所選的設備進行控制(在一個設備控制器中可以有一個或多個設備接口,一個接口連一臺設備,控制器中的I/O邏輯根據(jù)處理機發(fā)來的地址信號,去選擇其中的一個設備接口)第十三頁,共118頁。6.2I/O設備和設備控制器第十四頁,共118頁。6.2I/O設備和設備控制器內存映像I/O接口電路中有多個寄存器,一個寄存器有唯一的一個地址,每個地址為I/O端口,該地址稱為I/O端口地址I/O指令形式與I/O地址相互關聯(lián),主要有兩種形式I/O獨立編址(I/O專用指令)內存映像編址(內存映像I/O模式)第十五頁,共118頁。6.2I/O設備和設備控制器I/O獨立編址(I/O專用指令)分配給端口的地址空間是完全獨立的,與內存的地址空間沒有關系主機使用專門的I/O指令對端口進行操作優(yōu)缺點外部設備不占用內存的地址空間程序設計時,易于區(qū)分是對內存操作還是對I/O端口操作對I/O端口操作的指令類型少,操作不靈活例子:8086/8088,分配給I/O端口的地址空間64K,只能用IN和OUT指令對其進行讀寫操作第十六頁,共118頁。6.2I/O設備和設備控制器內存映像I/O分配給系統(tǒng)中所有端口的地址空間與內存的地址空間統(tǒng)一編址主機把I/O端口看作一個存儲單元,對I/O的讀寫操作等同于對存儲器的操作優(yōu)缺點凡是可對存儲器操作的指令都可對I/O端口操作不需要專門的I/O指令I/O端口可占有較大的地址空間占用內存空間第十七頁,共118頁。6.2I/O設備和設備控制器I/O通道(I/OChannel)I/O通道設備的引入為了把CPU從繁雜的I/O任務中解脫出來,同時為了提高CPU與設備、設備與設備之間的并行工作能力通道的定義I/O通道是一種特殊的處理機,它具有執(zhí)行I/O指令的能力,并通過執(zhí)行通道程序來控制I/O操作第十八頁,共118頁。6.2I/O設備和設備控制器通道特點指令類型單一通道沒有自己的內存,通道程序在主機的內存中,即通道與CPU共享內存通道類型字節(jié)多路通道數(shù)組選擇通道數(shù)組多路通道第十九頁,共118頁。6.2I/O設備和設備控制器字節(jié)多路通道通道中通常含有許多非分配型子通道,數(shù)量從幾十個到數(shù)百個,每一個子通道連接一臺I/O設備這些子通道按時間片輪轉方式共享主通道主要連接以字節(jié)為單位的低速設備,如打印機,終端以字節(jié)為單位傳輸信息,可以分時地執(zhí)行多個通道程序。當一個通道程序控制某臺設備傳送一個字節(jié)后,通道硬件就控制轉去執(zhí)行另一個通道程序,控制另一臺設備傳送信息第二十頁,共118頁。6.2I/O設備和設備控制器字節(jié)多路通道的工作原理第二十一頁,共118頁。6.2I/O設備和設備控制器數(shù)組選擇通道以成組方式工作,每次傳送一批數(shù)據(jù),傳送速度高在一段時間內只能執(zhí)行一個通道程序,只允許一臺設備進行數(shù)據(jù)傳輸。當這臺設備數(shù)據(jù)傳輸完成后,再選擇與通道連接的另一臺設備,執(zhí)行它的相應的通道程序。這種獨占性又使得通道利用率很低主要連接磁盤,磁帶等高速I/O設備選擇通道第二十二頁,共118頁。6.2I/O設備和設備控制器數(shù)組多路通道結合了選擇通道傳送速度高和字節(jié)多路通道能進行分時并行操作的優(yōu)點先為一臺設備執(zhí)行一條通道指令,然后自動轉接,為另一臺設備執(zhí)行一條通道指令。它含有多個非分配型的子通道,既有很高的數(shù)據(jù)傳輸率,又能獲得令人滿意的通道利用率實際上是對通道程序采用多道程序設計的硬件實現(xiàn)主要連接高速設備第二十三頁,共118頁。6.2I/O設備和設備控制器“瓶頸”問題通道執(zhí)行通道程序,向控制器發(fā)出命令,并具有向CPU發(fā)中斷信號的功能。一旦CPU發(fā)出指令,啟動通道,則通道獨立于CPU工作但是,由于通道價格貴,通道數(shù)量少,往往使之成為I/O的“瓶頸”第二十四頁,共118頁。6.2I/O設備和設備控制器單通路I/O系統(tǒng)第二十五頁,共118頁。6.2I/O設備和設備控制器多通路I/O系統(tǒng)解決“瓶頸”問題提高了控制器效率提高可靠性提高并行度第二十六頁,共118頁。6.3中斷機構和中斷處理程序中斷簡介中斷CPU對系統(tǒng)內外發(fā)生的異步事件的響應過程異步事件是指無一定時序關系隨機發(fā)生的事件引入中斷解決主機與I/O設備并行工作的問題提高系統(tǒng)可靠性實現(xiàn)多機聯(lián)系方便應用程序,實現(xiàn)實時控制第二十七頁,共118頁。6.3中斷機構和中斷處理程序分類中斷(外中斷)陷入(內中斷)I/O中斷時鐘中斷系統(tǒng)調用缺頁異常斷點指令其他程序性異常(如算術溢出等)廣義中斷中斷(狹義)與陷入的區(qū)別——信號的來源不同——中斷:與正執(zhí)行指令無關,可以屏蔽陷入:與正執(zhí)行指令有關,不可屏蔽第二十八頁,共118頁。6.3中斷機構和中斷處理程序中斷向量表和中斷優(yōu)先級中斷向量表每個中斷有一個唯一的中斷向量號(通常為中斷類型號)中斷向量號通常按照從小到大的順序存放在中斷向量表中中斷向量表一般存放在主存儲器的固定區(qū)域中每個表項是一個中斷向量,存放了中斷向量號和中斷處理程序的入口地址中斷優(yōu)先級第二十九頁,共118頁。6.3中斷機構和中斷處理程序對多中斷源的處理方式中斷屏蔽處理一個中斷時屏蔽其它所有中斷,對任何新中斷置之不理,直至本次中斷處理完,再檢測有無新中斷中斷嵌套處理一個中斷時可以繼續(xù)響應其它中斷第三十頁,共118頁。6.3中斷機構和中斷處理程序中斷處理過程中斷請求中斷判優(yōu)中斷響應中斷服務中斷返回中斷硬件中斷處理程序中斷源(中斷事件):引起中斷發(fā)生的事件中斷處理程序:處理中斷的程序代碼,也稱中斷例程第三十一頁,共118頁。6.3中斷機構和中斷處理程序第三十二頁,共118頁。6.3中斷機構和中斷處理程序中斷處理程序中斷響應CPU在每條指令執(zhí)行周期的最后時刻掃描中斷寄存器,詢問是否有中斷信號開始取下一條指令執(zhí)行指令檢查指令處理中斷停止取周期執(zhí)行周期中斷周期不允許中斷允許中斷第三十三頁,共118頁。6.3中斷機構和中斷處理程序保護被中斷進程的CPU現(xiàn)場轉讓相應的中斷處理程序中斷處理恢復CPU的現(xiàn)場并退出中斷第三十四頁,共118頁。6.3中斷機構和中斷處理程序第三十五頁,共118頁。6.4設備驅動程序又稱設備處理程序是I/O進程與設備控制器之間的通信程序第三十六頁,共118頁。6.4設備驅動程序設備驅動程序概述設備驅動程序的功能接收由設備獨立性軟件發(fā)來的命令和參數(shù),并將命令中的抽象要求轉換為與設備相關的低層操作序列檢查用戶I/O請求的合法性,了解I/O設備的狀態(tài),傳遞有關參數(shù),設置設備的工作方式發(fā)出I/O命令及時響應由控制器或通道發(fā)來的中斷請求,根據(jù)中斷類型,調用相應的中斷處理程序進行處理對于設置有通道的計算機系統(tǒng),驅動程序還應能夠根據(jù)用戶的I/O請求,自動地構成通道程序第三十七頁,共118頁。6.4設備驅動程序設備驅動程序的特點驅動程序是實現(xiàn)在與設備無關的軟件和設備控制器之間通信和轉換的程序驅動程序與設備控制器和I/O設備的硬件特性密切相關驅動程序與I/O設備所采用的I/O控制方式密切相關驅動程序的一部分必須用匯編語言書寫,目前有很多驅動程序的基本部分已固化在ROM中驅動程序應允許可重入第三十八頁,共118頁。6.4設備驅動程序設備處理方式為每一類設備設置一個進程,專門用于執(zhí)行這類設備的I/O操作在整個系統(tǒng)中設置一個I/O進程,專門用于執(zhí)行系統(tǒng)中所有各類設備的I/O操作。也可以設置一個輸入進程和一個輸出進程,分別處理系統(tǒng)中所有各類設備的輸入或輸出操作不設置專門的設備處理進程,而只為各類設備設置相應的設備處理程序(模塊),供用戶或系統(tǒng)進程調用第三十九頁,共118頁。6.4設備驅動程序設備驅動程序的處理過程將抽象要求轉換為具體要求對服務請求進行校驗檢查設備的狀態(tài)傳送必要的參數(shù)啟動I/O設備第四十頁,共118頁。6.4設備驅動程序對I/O設備的控制方式分為四類使用輪詢的可編程I/O方式(程序I/O方式)使用中斷的可編程I/O方式(中斷驅動方式)直接存儲器訪問方式(DMA方式)I/O通道控制方式第四十一頁,共118頁。6.4設備驅動程序使用輪詢的可編程I/O方式向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲器中寫字檢查狀態(tài)傳送完?CPU出錯完成未就緒下條指令未完I/O→CPUCPU→內存I/O控制器置狀態(tài)寄存器busy=1按規(guī)定指令控制設備進行I/O設備清error位表示I/O成功;清busy位表示I/O結束第四十二頁,共118頁。6.4設備驅動程序缺點CPU將大量的時間花費在循環(huán)等待上,CPU效率極差外設不能合理利用整個系統(tǒng)的效率很低現(xiàn)在已較少使用這種方式作為I/O的數(shù)據(jù)傳輸控制第四十三頁,共118頁。6.4設備驅動程序使用中斷的可編程I/O方式第四十四頁,共118頁。向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)從I/O控制器中讀入字向存儲器中寫字檢查狀態(tài)傳送完?CPU出錯完成下條指令未完I/O→CPUCPU→內存I/O控制器置狀態(tài)寄存器busy=1按規(guī)定指令控制設備進行I/O設備清error位表示I/O成功;清busy位表示I/O結束中斷CPU做其它事6.4設備驅動程序第四十五頁,共118頁。6.4設備驅動程序優(yōu)點在設備進行數(shù)據(jù)傳輸時,CPU不必等待,可以繼續(xù)執(zhí)行其它進程缺點CPU以字(節(jié))為單位進行干預,只適于數(shù)據(jù)傳輸率較低的設備第四十六頁,共118頁。6.4設備驅動程序直接存儲器訪問方式(DMA方式)DMA方式的引入數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊所傳送的數(shù)據(jù)是由設備直接送入內存,或者相反僅在傳送一個或多個數(shù)據(jù)塊的開始和結束時,才需要CPU干預第四十七頁,共118頁。6.4設備驅動程序DMA控制器的組成主機與DMA控制器的接口DMA控制器與塊設備的接口I/O控制邏輯DMA控制器中設置四類寄存器命令/狀態(tài)寄存器(CR)內存地址寄存器(MAR)數(shù)據(jù)寄存器(DR)數(shù)據(jù)計數(shù)器(DC)第四十八頁,共118頁。6.4設備驅動程序第四十九頁,共118頁。6.4設備驅動程序DMA工作過程竊取總線控制權第五十頁,共118頁。6.4設備驅動程序I/O通道控制方式I/O通道控制方式的引入將DMA方式中對一個數(shù)據(jù)塊的讀(寫)為單位的干預,減少為對一組數(shù)據(jù)塊的讀(寫)及有關的控制和管理為單位的干預實現(xiàn)CPU、通道和I/O設備三者的并行工作,從而更有效地提高了整個系統(tǒng)的資源利用率第五十一頁,共118頁。6.4設備驅動程序通道程序通道程序由若干通道指令組成,每條通道指令規(guī)定了設備的一種操作,通道程序的執(zhí)行過程就是I/O操作的處理過程每條通道指令包含以下信息操作碼:規(guī)定指令執(zhí)行的操作。內存地址:數(shù)據(jù)在內存中的首地址。計數(shù):本條指令要讀或寫的字節(jié)數(shù)。通道程序結束位:表示通道程序是否結束。1,結束。記錄結束標志:0,本條指令和下一條指令所處理的數(shù)據(jù)同屬一個記錄;1,這是處理某記錄的最后一條指令第五十二頁,共118頁。6.4設備驅動程序通道使用的主要寄存器數(shù)據(jù)字寄存器:用于存放傳輸?shù)臄?shù)據(jù)通道控制字寄存器(CCW):用于存放當前正在執(zhí)行的通道命令通道地址字寄存器(CAW):用于存放通道命令的地址,在通道程序執(zhí)行前,要把通道程序的首地址存于此通道狀態(tài)字寄存器(CSW):其中包括通道的狀態(tài)、設備狀態(tài)的信息,當I/O操作結束時送入主存固定單元,以中斷的方式告訴CPU有關通道、控制器和設備的有關信息第五十三頁,共118頁。6.4設備驅動程序通道工作過程CPU執(zhí)行用戶進程,當遇到I/O請求時,由操作系統(tǒng)生成相應的通道程序放入內存,之后執(zhí)行“啟動I/O”指令,啟動通道工作通道接收到“啟動I/O”指令后,按CAW取出指令,同時向CPU發(fā)回答信號,使CPU可繼續(xù)執(zhí)行其它程序;而通道則開始執(zhí)行通道程序,控制設備完成傳輸工作。此時,通道與CPU并行工作當通道傳輸完成時,向CPU發(fā)I/O中斷,并且通道停止工作CPU接收中斷信號,根據(jù)通道的狀態(tài)信息,決定下一步做什么第五十四頁,共118頁。進程i/進程k/其他就緒進程執(zhí)行規(guī)定的操作用戶程序中央處理器操作系統(tǒng)程序通道設備控制器和設備進程i…
系統(tǒng)調用(I/O請求)…保護進程i的現(xiàn)場組織通道程序存CAW執(zhí)行“啟動I/O”指令檢查條件碼啟動成功進程i阻塞重新調度,進程k運行進程k被中斷,保護現(xiàn)場分析中斷事件處理I/O中斷喚醒進程i重新調度判斷狀態(tài)形成條件碼執(zhí)行通道程序;控制設備操作;執(zhí)行情況記錄在CSW中。出現(xiàn)中斷事件;CSW送主存固定單元;通道號、設備號送特定寄存器。進程k…第五十五頁,共118頁。6.5與設備無關的I/O軟件與設備無關軟件的基本概念也稱設備獨立性(DeviceIndependence)基本含義:應用程序獨立于具體使用的物理設備做法應用程序中使用邏輯設備名稱來請求使用設備系統(tǒng)在實際執(zhí)行時,必須使用物理設備名稱好處設備分配時的靈活性易于實現(xiàn)I/O重定向第五十六頁,共118頁。6.5與設備無關的I/O軟件與設備無關的軟件的功能設備驅動程序的統(tǒng)一接口緩沖管理差錯控制對獨立設備的分配和回收獨立于設備的邏輯數(shù)據(jù)塊實現(xiàn)設備的符號名到設備驅動程序的映射第五十七頁,共118頁。6.5與設備無關的I/O軟件
(a)沒有標準的(b)具有標準的驅動程序接口驅動程序的接口第五十八頁,共118頁。6.5與設備無關的I/O軟件設備分配設備分配中的數(shù)據(jù)結構系統(tǒng)設備表SDT(SystemDeviceTable)整個系統(tǒng)中只有一張每個設備占一個表項第五十九頁,共118頁。6.5與設備無關的I/O軟件設備控制表DCT(DeviceControlTable)系統(tǒng)中的每臺設備都有一張設備控制表DCT充分體現(xiàn)出設備的各方面特征第六十頁,共118頁。6.5與設備無關的I/O軟件控制器控制表(COCT)每個控制器一張通道控制表(CHCT)每個通道一張第六十一頁,共118頁。6.5與設備無關的I/O軟件設備分配時應考慮的因素設備的固有屬性獨占設備采用獨享分配策略,即將設備分配給某進程后,便由該進程獨占,直至該進程完成或釋放該設備。缺點:設備得不到充分利用,還可能引起死鎖。共享設備同時分配給多個進程使用,須注意對這些進程訪問該設備的先后次序進行合理的調度。虛擬設備同共享設備第六十二頁,共118頁。6.5與設備無關的I/O軟件設備分配算法先來先服務優(yōu)先級高者優(yōu)先第六十三頁,共118頁。6.5與設備無關的I/O軟件設備分配時的安全性安全分配方式每當進程發(fā)出I/O請求后,便進入阻塞狀態(tài),直到其I/O操作完成時才被喚醒。缺點:進程進展緩慢,CPU與I/O設備串行工作不安全分配方式進程在發(fā)出I/O請求后仍繼續(xù)運行,需要時又發(fā)出第二個I/O請求、第三個I/O請求等。僅當進程所請求的設備已被另一進程占用時,請求進程才進入阻塞狀態(tài)。優(yōu)點:進程可同時操作多個設備,進程推進迅速。缺點:分配不安全,可能造成死鎖。設備獨立性第六十四頁,共118頁。6.5與設備無關的I/O軟件獨占設備的分配程序基本的分配程序分配設備分配控制器分配通道設備分配程序的改進增加設備的獨立性考慮多通路情況第六十五頁,共118頁。6.5與設備無關的I/O軟件邏輯設備名到物理設備名映射的實現(xiàn)邏輯設備表(LUT,LogicalUnitTable)第六十六頁,共118頁。6.5與設備無關的I/O軟件LUT的設置問題整個系統(tǒng)中只設置一張LUT要求所有用戶都不使用相同的邏輯設備名主要用于單用戶系統(tǒng)中為每個用戶設置一張LUT每當用戶登錄時,便為該用戶建立一個進程,同時也為之建立一張LUT,并將該表放入進程的PCB中第六十七頁,共118頁。6.6用戶層的I/O軟件大部分I/O軟件都包含在操作系統(tǒng)中但仍有一小部分在用戶空間,包括與用戶程序連接在一起的庫函數(shù)完全運行于內核之外的SPOOLing系統(tǒng)第六十八頁,共118頁。6.6用戶層的I/O軟件系統(tǒng)調用與庫函數(shù)系統(tǒng)調用庫函數(shù)C語言、UNIX系統(tǒng)的庫函數(shù)Win32API用戶態(tài)內核態(tài)第六十九頁,共118頁。6.6用戶層的I/O軟件SPOOLing(假脫機)系統(tǒng)SPOOLing技術SPOOLing,SimultaneousPeripheralOperationOnLine,也稱為虛擬設備技術多道程序設計系統(tǒng)中處理獨占設備的一種方法利用假脫機技術可把獨占設備轉變成具有共享特征的虛擬設備,從而提高設備利用率第七十頁,共118頁。6.6用戶層的I/O軟件SPOOLing的組成輸入井和輸出井輸入緩沖區(qū)和輸出緩沖區(qū)輸入進程和輸出進程井管理程序第七十一頁,共118頁。6.6用戶層的I/O軟件第七十二頁,共118頁。6.6用戶層的I/O軟件第七十三頁,共118頁。6.6用戶層的I/O軟件SPOOLing系統(tǒng)的特點提高了I/O的速度將獨占設備改造為共享設備實現(xiàn)了虛擬設備功能第七十四頁,共118頁。6.6用戶層的I/O軟件假脫機打印機系統(tǒng)用戶進程的打印請求傳遞給SPOOLing系統(tǒng),而不是真正將打印機分配給用戶進程SPOOLing系統(tǒng)同意為它打印輸出,但并不真正立即把打印機分配給該用戶進程,而只為它做兩件事:由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上。打印機空閑時,輸出進程從請求打印隊列上取出一個請求打印表,按其中的要求把數(shù)據(jù)由打印機輸出第七十五頁,共118頁。6.6用戶層的I/O軟件第七十六頁,共118頁。6.6用戶層的I/O軟件舉例WindowsNT中,應用程序直接向針式打印機輸出需要15分鐘,而向打印作業(yè)隊列輸出只需要1分鐘,此后用戶可以關閉應用程序而轉入其他工作,在以后適當?shù)臅r候由打印機管理器完成15分鐘的打印輸出而無需用戶干預。第七十七頁,共118頁。6.6用戶層的I/O軟件守護進程為打印機建立守護進程取消原假脫機管理進程第七十八頁,共118頁。6.3~6.6小結I/O系統(tǒng)的層次和每一層的主要功能第七十九頁,共118頁。6.3~6.6小結例,讀操作用戶進程對已打開文件的文件描述符執(zhí)行讀庫函數(shù)(系統(tǒng)調用);設備獨立性軟件檢查參數(shù)是否正確,若正確,檢查高速緩存中有無要讀的數(shù)據(jù)塊。若有,從緩沖區(qū)直接讀至用戶區(qū),完成I/O請求;若沒有,設備獨立性軟件將設備的邏輯名轉換成物理名,檢查對設備操作的合法性,將I/O請求排隊,阻塞用戶進程等待I/O操作完成;內核啟動設備驅動程序,分配存放讀出塊的緩沖區(qū),準備接收數(shù)據(jù),并向設備控制寄存器發(fā)送啟動命令,啟動I/O;設備控制器操作設備,執(zhí)行數(shù)據(jù)傳輸;數(shù)據(jù)傳輸完成時,設備產生I/O中斷;第八十頁,共118頁。6.3~6.6小結CPU響應中斷,轉入磁盤中斷處理程序。中斷處理程序檢查中斷產生的原因和設備的執(zhí)行狀態(tài),若設備有錯,向設備驅動程序發(fā)信號,檢查能否重復執(zhí)行,如果允許,重發(fā)啟動設備的命令,再次傳輸;否則,向上層軟件報告錯誤。若I/O正確完成,將數(shù)據(jù)傳輸?shù)街付ǖ挠脩暨M程空間,喚醒阻塞進程,從而結束此次I/O請求;當用戶進程被再次調動執(zhí)行時,從I/O系統(tǒng)調用的斷點處繼續(xù)運行。第八十一頁,共118頁。6.7
緩沖區(qū)管理緩沖的概念緩沖的引入緩和CPU與I/O設備間速度不匹配的矛盾減少對CPU的中斷頻率,放寬對中斷響應時間的限制解決數(shù)據(jù)粒度不匹配的問題提高CPU和I/O設備之間的并行性第八十二頁,共118頁。6.7緩沖區(qū)管理緩沖技術的實現(xiàn)原理當某個進程進行數(shù)據(jù)輸出操作時,先將數(shù)據(jù)送入緩沖區(qū),當緩沖區(qū)滿時再將緩沖區(qū)的內容送到輸出設備上當一個進程完成輸入操作時,先將輸入設備上的數(shù)據(jù)送入緩沖區(qū),當緩沖區(qū)滿時,再由CPU將數(shù)據(jù)取走在緩沖管理中必須建立緩沖區(qū),有兩種設定方式采用硬件方法實現(xiàn)緩沖采用軟件緩沖的方式,即從主存空間中劃定出一個特殊的內存區(qū)域作為緩沖區(qū)第八十三頁,共118頁。6.7緩沖區(qū)管理常用的緩沖技術有四種單緩沖雙緩沖環(huán)形緩沖緩沖池第八十四頁,共118頁。6.7緩沖區(qū)管理單緩沖當用戶進程發(fā)出I/O請求時,操作系統(tǒng)在主存的系統(tǒng)空間為之分配一個緩沖區(qū)可以實現(xiàn)預讀和滯后寫第八十五頁,共118頁。6.7緩沖區(qū)管理第八十六頁,共118頁。6.7緩沖區(qū)管理雙緩沖首先輸入將數(shù)據(jù)送入BUF1,裝滿后,轉向BUF2可以實現(xiàn)用戶數(shù)據(jù)區(qū)—緩沖區(qū)之間交換數(shù)據(jù)和緩沖區(qū)—外設之間交換數(shù)據(jù)的并行第八十七頁,共118頁。6.7緩沖區(qū)管理第八十八頁,共118頁。6.7緩沖區(qū)管理環(huán)形緩沖要真正實現(xiàn)CPU與外設的并行操作,雙緩沖技術還不能達到要求,在計算機中都采用多緩沖或緩沖池結構為了便于管理,一般將多緩沖組織成循環(huán)緩沖形式,每個緩沖區(qū)的大小相同第八十九頁,共118頁。6.7緩沖區(qū)管理組成(三類緩沖區(qū))空緩沖區(qū)R用于存放數(shù)據(jù)指針:Nexti已裝滿數(shù)據(jù)的緩沖區(qū)G數(shù)據(jù)供進程使用指針:Nextg現(xiàn)行工作緩沖區(qū)C當前進程使用的緩沖區(qū)指針:CurrentRRCGGGG1234567NextiNextgCurrent第九十頁,共118頁。6.7緩沖區(qū)管理緩沖區(qū)的使用Getbuf過程計算進程要取數(shù)據(jù):將指針Nextg所指的緩沖區(qū)提供給進程使用,用Current指針指向該緩沖區(qū)的第一個單元,同時將Nextg移向下一個G緩沖區(qū)。輸入進程要使用空緩沖區(qū)裝數(shù)據(jù):將指針Nexti所指的緩沖區(qū)提供給輸入進程使用,同時將Nexti移向下一個R緩沖區(qū)。第九十一頁,共118頁。6.7緩沖區(qū)管理Releasebuf過程當計算進程把C緩沖區(qū)中的數(shù)據(jù)提取完時,調用該過程釋放該緩沖區(qū):將該緩沖區(qū)由當前工作緩沖區(qū)C改為空緩沖區(qū)R。當輸入進程將緩沖區(qū)裝滿時:將該緩沖區(qū)釋放,并改為G緩沖區(qū)。第九十二頁,共118頁。6.7緩沖區(qū)管理進程同步輸入進程和計算進程可并發(fā)執(zhí)行,指針Nexti和指針Nextg將不斷地沿順時針方向移動可能出現(xiàn)兩種情況Nexti指針追上Nextg指針(輸入速度>處理速度):無空緩沖區(qū),輸入進程阻塞,稱為系統(tǒng)受計算限制。Nextg指針追上Nexti指針(輸入速度<處理速度):無數(shù)據(jù)可取,計算進程阻塞,稱為系統(tǒng)受I/O限制。第九十三頁,共118頁。6.7緩沖區(qū)管理緩沖池問題:循環(huán)緩沖僅適用于某特定的I/O進程和計算進程,屬于專用緩沖。當系統(tǒng)較大時,會有很多這樣的循環(huán)緩沖,不僅消耗大量內存,而且利用率也不高解決:公用緩沖池——池中緩沖區(qū)可供多個進程共享第九十四頁,共118頁。6.7緩沖區(qū)管理緩沖池的組成空緩隊列emq由空閑緩沖區(qū)連接而成用F(emq)指針指向隊首,L(emq)指向隊尾輸入隊列inq由裝滿輸入數(shù)據(jù)的緩沖區(qū)連接而成用F(inq)指針指向隊首,L(inq)指向隊尾輸出隊列outq由裝滿輸出數(shù)據(jù)的緩沖區(qū)連接而成用F(outq)指針指向隊首,L(outq)指向隊尾第九十五頁,共118頁。6.7緩沖區(qū)管理緩沖區(qū)的工作方式收容輸入提取輸入收容輸出提取輸出提取輸出hinsoutsinhout用戶程序收容輸入提取輸入收容輸出第九十六頁,共118頁。6.8磁盤存儲器的性能和調度
磁盤性能簡述數(shù)據(jù)的組織和格式磁盤柱面磁道扇區(qū)第九十七頁,共118頁。6.8磁盤存儲器的性能和調度老式磁盤上,每磁道扇區(qū)對于所有柱面都是相同的現(xiàn)代磁盤被劃分為環(huán)帶,外層的環(huán)帶比內層的環(huán)帶擁有更多的扇區(qū)具有兩個環(huán)帶的磁盤該磁盤的一種的物理幾何規(guī)格可能的虛擬幾何規(guī)格第九十八頁,共118頁。6.8磁盤存儲器的性能和調度磁盤參數(shù)比較第九十九頁,共118頁。6.8磁盤存儲器的性能和調度磁盤格式化步驟低級格式化對磁盤進行分區(qū)對每個分區(qū)分別執(zhí)行一次高級格式化第一百頁,共118頁。6.8磁盤存儲器的性能和調度低級格式化磁盤使用之前,必須由軟件進行低級格式化包含一系列同心的磁道,每個磁道包含若干數(shù)目的扇區(qū),扇區(qū)間存在短的間隙低格之后磁盤容量減少,減少量取決于:前導碼、扇區(qū)間隙和ECC的大小以及保留的備用扇區(qū)數(shù)目第一百零一頁,共118頁。6.8磁盤存儲器的性能和調度分區(qū)在低格之后,要對磁盤進行分區(qū)。邏輯上每個分區(qū)就象一個獨立的磁盤如Pentium和大多數(shù)機器上,0扇區(qū)包含主引導記錄,其中存放一些引導代碼和末尾的分區(qū)表分區(qū)表給出每個分區(qū)的起始扇區(qū)和大小為了能從硬盤引導,在分區(qū)表中必須有一個分區(qū)被標記為活動的第一百零二頁,共118頁。6.8磁盤存儲器的性能和調度高級格式化一個引導塊空閑存儲管理(空閑列表或位圖)根目錄空文件系統(tǒng)將一個代碼設置在分區(qū)表中,表明該分區(qū)用什么文件系統(tǒng)第一百零三頁,共118頁。6.8磁盤存儲器的性能和調度磁盤的類型固定頭磁盤移動頭磁盤一次訪盤請求讀/寫,磁盤地址,內存地址設備號,柱面號,磁頭號,扇區(qū)號源地址/目的地址第一百零四頁,共118頁。6.8磁盤存儲器的性能和調度磁盤訪問時間尋道時間TS把磁臂(磁頭)移動到指定磁道上所經(jīng)歷的時間TS=m*n+s
(m:常數(shù),n:移動的磁道數(shù),s:磁盤啟動時間)旋轉延遲時間Tr指定扇區(qū)移動到磁頭下面所經(jīng)歷的時間硬盤平均8.3ms,軟盤平均50-100ms數(shù)據(jù)傳輸時間Tt把數(shù)據(jù)從磁盤讀出或向磁盤寫入數(shù)據(jù)所經(jīng)歷的時間Tt=b/(r*N)(b:讀寫字節(jié)數(shù)r:磁盤轉速N:一個磁道上的字節(jié)數(shù))第一百零五頁,共118頁。6.8磁盤存儲器的性能和調度磁盤調度當多個訪盤請求在等待時,采用一定的策略,對這些請求的服務順序調整安排,旨在降低平均磁盤服務時間,達到公平、高效公平:一個I/O請求在有限時間內滿足高效:減少設備機械運動所帶來的時間浪費,主要是使磁盤的平均尋道時間最短第一百零六頁,共118頁。6.8磁盤存儲器的性能和調度例,考慮一個有40個柱面的磁盤,假設讀柱面11上數(shù)據(jù)塊的請求到達,當對柱面11的尋道正在進行時,又來了對柱面1,36,16,34,9,12
的請求,則讓它們進入未完成的請求表,一個柱面對應一個單獨的鏈表第一百零七頁,共118頁。6.8磁盤存儲器的性能和調度FCFS(先來先服務)算法按請求的先后次序進行服務優(yōu)點:簡單,公平缺
溫馨提示
- 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合同文書模板:華通物流有限公司貨運代理業(yè)務合作協(xié)議
- 2025某物流公司駕駛員工作服采購合同書
- 網(wǎng)絡項目設計合同
- 農村個人贈與土地使用權協(xié)議
- 2025農民房屋租賃合同書范本
- 租用電路合同范本
- 個人與個人借款合同范本
- 2025設備租賃合同(生產線設備租賃用)
- 打架承諾協(xié)議書范本
- 采購教育服務協(xié)議書
- 2025-2030“一帶一路”之菲律賓礦業(yè)行業(yè)市場深度調研及發(fā)展趨勢與投資前景預測研究報告
- 天津市南開區(qū)2024-2025學年高三下學期質量監(jiān)測(一)地理試卷(原卷版+解析版)
- 【原創(chuàng)】學校書記中央八項規(guī)定精神學習心得
- 2025年商丘職業(yè)技術學院單招職業(yè)技能考試題庫含答案
- 2025年榆林城市投資經(jīng)營集團有限公司招聘筆試參考題庫含答案解析
- 液氯鋼瓶應急堵漏工具操作指導規(guī)程
- 自然辯證法知到課后答案智慧樹章節(jié)測試答案2025年春浙江大學
- 陜09J01 建筑用料及做法圖集
- 天貓?zhí)詫毜赇佭\營每日巡店必做的事
- 拌合站驗收指南
- 護士資格(執(zhí)業(yè))證書遺失補辦申請表
評論
0/150
提交評論