




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第5章設備管理
設備管理是操作系統(tǒng)中最繁雜且與硬件關系最親密部分。經(jīng)過本章學習,讀者應該掌握以下內(nèi)容:數(shù)據(jù)傳輸方式中止技術緩沖技術設備分配技術設備獨立性設備驅(qū)動10/2/第1頁5.1.I/O系統(tǒng)5.2.I/O控制方式
5.3.緩沖管理
5.4.I/O軟件5.5.設備分配5.6.磁盤存放器管理10/2/第2頁設備管理目標
依據(jù)設備請求情況,按照一定算法,選擇和分配輸入輸出設備方便進行數(shù)據(jù)傳輸操作;控制輸入輸入設備和CPU或內(nèi)存之間交換數(shù)據(jù),同時提升設備和設備之間、CPU和設備之間,以及進程和進程之間并行操作度,以使操作系統(tǒng)取得最正確效率;為用戶提供一個友好透明接口,把用戶和設備硬件特征分開,使得用戶在編制應用程序時無須包括詳細設備,系統(tǒng)按用戶要求控制設備工作。10/2/第3頁設備管理功效設備分配與回收緩沖管理設備處理虛擬設備10/2/第4頁5.1.1I/O設備
計算機系統(tǒng)外圍設備包含:顯示器、鍵盤、紙帶閱讀器、紙帶穿孔機、打印機、磁帶、磁盤、光盤、激光打印機、繪圖儀、圖形數(shù)字化儀、鼠標器、聲音輸入、聲音輸出設備以及辦公自動化設備等等,種類相當繁多,可從不一樣角度對它們進行分類。
5.1I/O系統(tǒng)10/2/第5頁系統(tǒng)設備:在操作系統(tǒng)生成時已配置好標準設備。如:鍵盤、顯示器、打印機、磁盤等。用戶設備:指系統(tǒng)設備之外非標準設備,普通由用戶提供設備及其處理程序,并經(jīng)過適當伎倆把它們納入系統(tǒng)中,由系統(tǒng)實施管理。如:網(wǎng)卡、調(diào)制解調(diào)器、繪圖儀等。1.設備隸屬關系分類10/2/第6頁塊設備:指以數(shù)據(jù)塊為單位存放和傳輸數(shù)據(jù)設備如磁盤、磁帶等。字符設備:指以單個字符為單位來傳送信息設備。如鍵盤、顯示器、打印機等。2.設備中信息交換單位方式分類10/2/第7頁存放設備:它是計算機用來存放永久性信息設備如,磁帶、磁盤(軟盤、硬盤)、光盤等。輸入設備:將外部信息送給計算機設備。如,鍵盤、鼠標、掃描儀、手寫筆、數(shù)碼相機、麥克風、游戲手柄等輸出設備:將計算機加工后信息傳送給外界設備。
如,顯示器、打印機、投影儀等。3.按設備使用特征分類10/2/第8頁獨占設備:這類設備在用戶作業(yè)整個運行期間必須為此用戶所占有,即多個作業(yè)對某一外設訪問應該是互斥,一旦系統(tǒng)將這類設備分配給某個作業(yè),便由該設備獨占,直至釋放該資源。大多數(shù)低速I/O設備,如用戶終端、打印機等共享設備:指在同一時間段內(nèi)能夠同時讓幾個作業(yè)使用設備,當然,在某一時刻,該設備只能為一個作業(yè)服務。適應于高速設備,如磁盤虛擬設備:依據(jù)設備使用性質(zhì)來決定一臺設備能夠分給幾個進程以提升該設備使用率。如虛擬打印機4.按資源分配角度分類10/2/第9頁1、按()分類可將設備分為塊設備和字符設備。A.隸屬關系B.操作特征C.共享屬性D.信息交換單位2、大多數(shù)低速設備都屬于()設備。A.獨占B.共享C.虛擬D.Spooling3、從資源分配角度看,能夠把設備分為獨占設備、共享設備和虛擬設備,打印機屬于________設備,而磁盤屬于__________設備。10/2/第10頁
5.1.2設備控制器1.設備控制器概念
設備控制器是CPU與外圍設備之間接口,是一個可編址設備,每一個地址對應一個設備。它接收從CPU發(fā)來命令,并去控制輸入輸出設備工作,使CPU從繁雜設備控制事務中解脫出來,提升CPU使用效率。10/2/第11頁2.作用:接收從CPU發(fā)來命令,控制I/O設備工作3.功效:接收和識別命令數(shù)據(jù)交換地址識別標識和匯報設備狀態(tài)差錯控制10/2/第12頁4.設備控制器組成
(1).設備控制器與處理機接口(2).設備控制器與設備接口(3).I/O邏輯10/2/第13頁I/O系統(tǒng)結構CPU磁盤控制器存放器打印機控制器其它控制器一、微型機I/O系統(tǒng):總線結構磁盤驅(qū)動器打印機10/2/第14頁二、主機系統(tǒng)輸入輸出結構
當主機所配置輸入輸出設備較多時,尤其是配有較多高速外設時,采取總線型輸入輸出系統(tǒng)結構會加重CPU與總線負擔。所以,在這么輸入輸出系統(tǒng)中不宜采取單總線結構,而是增加一級輸入輸出通道,用來代替CPU與各設備控制器進行通信,實現(xiàn)對控制器控制。10/2/第15頁
10/2/第16頁5.1.3I/O通道1、通道引入
為了提升計算機系統(tǒng)運行效率,就要使CPU擺脫繁忙I/O事務,而配置專門處理I/O事務機構——通道。
通道引入是為了建立獨立I/O操作。它不但要求數(shù)據(jù)傳送獨立于CPU,而且要求I/O操作組織、管理、結束等也盡可能獨立,以確保CPU有更多時間從事計算。這么就能夠?qū)崿F(xiàn)CPU計算和I/O操作并行工作。10/2/第17頁思索題一
什么是通道?通道有哪些類型?10/2/第18頁2、I/O通道概念
通道是一個硬件機構,又稱I/O處理機。輸入輸出通道是指專門負責輸入輸出工作處理器。它有自己指令系統(tǒng)(包含數(shù)據(jù)傳送指令和設備控制指令),獨立執(zhí)行自己通道程序來實現(xiàn)內(nèi)存與外設之間數(shù)據(jù)傳輸,從而使系統(tǒng)取得CPU與外設并行處理能力。10/2/第19頁3、通道類型
依據(jù)信息交換方式不一樣,可把通道分成字節(jié)多路通道、數(shù)組多路通道和選擇通道三種。(1)字節(jié)多路通道
通常都含有許多非分配型子通道,其數(shù)量能夠從幾十到數(shù)百個,每一個子通道連接一臺輸入輸出設備,這些子通道按時間片輪轉(zhuǎn)方式共享主通道。
字節(jié)多路通道連接低速或中速設備時,不會丟失信息。10/2/第20頁
選擇通道數(shù)據(jù)傳送是按成批方式進行,故傳送速率很高。(2)數(shù)據(jù)選擇通道選擇通道
它適合用于連接高速I/O設備,如磁帶、磁盤等。選擇通道只有一個分配型子通道,即這個子通道能夠連接多臺設備,但每次只能把子通道分配給一臺設備使用。一旦分配給某臺設備,子通道就被它獨占,即使暫時出現(xiàn)空閑,也不允許其它設備利用該子通道。直到它被釋放,再選擇另一臺設備為其服務。所以選擇通道利用率是很低。10/2/第21頁
這種通道綜合了字節(jié)多路通道分時并行工作和選擇通道傳輸速率高特點。它含有多個非分配型子通道,每個子通道連接一臺中、高速I/O設備,如:磁帶、磁鼓、磁盤等,因而通道所連接幾個設備能夠并行工作。
數(shù)組多路通道技術相當于通道程序多道程序設計技術。(3)數(shù)組多路通道10/2/第22頁CPU字節(jié)多路通道
打印機1打印機2I/O控制器
I/O控制器
內(nèi)存
選擇通道成組多路通道
磁盤
I/O控制器
磁盤
I/O控制器
I/O控制器I/O控制器
磁帶
磁帶
存在這三種通道計算機系統(tǒng)各硬件連接關系如圖所表示:10/2/第23頁思索題二設備管理中,什么是“瓶頸”現(xiàn)象?怎樣處理?10/2/第24頁通道命令和通道程序
通道有自己指令系統(tǒng),為了與CPU指令相區(qū)分,通道指令被稱為“通道命令字”。通道命令字條數(shù)不多,主要包括控制、轉(zhuǎn)移、讀、寫及查詢等功效。0783132474863每條通道命令由四個字段組成:(1)操作碼(0~7):表示通道要執(zhí)行命令;(2)數(shù)據(jù)主存始址:表示本命令要訪問主存數(shù)據(jù)區(qū)起始地址;(3)特征位(32~47,只使用了32~36位,其余未用):37~39位必須置0,不然認為通道命令錯。10/2/第25頁
通道程序存放在內(nèi)存中,由I/O指令開啟執(zhí)行。用戶請求I/O時,CPU對通道通信是向通道發(fā)出查詢、開啟和停頓通道程序工作,而通道向CPU通信則采取中止方式。其執(zhí)行過程如圖所表示。10/2/第26頁用戶I/O請求
查詢設備忙閑?
調(diào)用通道程序
執(zhí)行通道程序
I/O操作完成,發(fā)中止請求
CPU響應中止,進行結束處理
以I/O指令開啟通道結束通道工作
進入設備請求隊列,等候忙不忙
通道程序執(zhí)行過程
10/2/第27頁5、通道工作過程(1)當進程有I/O請求時,系統(tǒng)首先查詢設備狀態(tài)。若忙,進程進入設備請求隊列等候;若閑,CPU發(fā)指令指明I/O操作、設備號和對應通道。(2)對應通道收到CPU發(fā)來開啟指令后,讀出內(nèi)存中通道指令程序、設置對應設備控制狀態(tài)存放器初值。(3)設備按通道指令求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域。(4)若傳送結束,I/O控制器經(jīng)過中止請求線發(fā)中止信號請求CPU做中止處理。(5)中止處理結束后,CPU返回到被中止進程處繼續(xù)執(zhí)行。(6)當進程調(diào)度程序選中這個已得到數(shù)據(jù)進程后,才能進行加工處理。10/2/第28頁思索題三通道作用是什么?
通道是一個獨立于CPU專管輸入/輸出控制處理器,它控制內(nèi)存與外部設備直接進行數(shù)據(jù)交換。
它有自己通道指令,這些通道指令受CPU開啟,并在操作結束時向CPU發(fā)中止信號。
通道方式深入減輕了CPU工作負擔,增加了計算機系統(tǒng)并行工作程度。10/2/第29頁5.1.4總線系統(tǒng)1、總線基本概念
在計算機系統(tǒng)內(nèi)各種子系統(tǒng),如CPU、內(nèi)存、I/O設備等之間,構建公用信號或數(shù)據(jù)傳輸通道這種可共享傳輸通道稱為總線。10/2/第30頁2、總線分類10/2/第31頁當用戶進程經(jīng)過系統(tǒng)調(diào)用提出I/O請求時,從系統(tǒng)響應此請求開始,至系統(tǒng)完成用戶要求I/O操作,并喚醒對應等候I/O完成進程為止,這整個過程稱為I/O控制過程。5.2I/O控制方式10/2/第32頁I/O控制過程包含以下步驟:(1)響應I/O請求,為在詳細物理設備上進行I/O操作做準備。包含將邏輯設備名轉(zhuǎn)換為物理設備名(設備分配)、I/O請求正當性等。(2)設備驅(qū)動,控制設備完成I/O操作,對每類設備分別設置不一樣設備驅(qū)動程序。(3)中止處理,I/O操作完成之后,設備控制器向CPU發(fā)送中止信號,CPU響應后轉(zhuǎn)向?qū)兄固幚沓绦蜻M行善后處理。10/2/第33頁I/O操作控制方式普通有四種:查詢方式中止方式直接內(nèi)存存取方式通道方式
它們主要差異在于處理器和外設并行工作方式和程度不一樣。10/2/第34頁查詢方式是最簡單I/O控制方式。在設備控制器中有兩個存放器,一個是狀態(tài)存放器,由其中一個狀態(tài)位值反應設備忙或閑;另一個是數(shù)據(jù)緩沖存放器。當設備開啟時,狀態(tài)存放器開啟位為1,此時外設把數(shù)據(jù)送往數(shù)據(jù)緩沖存放器,并將狀態(tài)存放器狀態(tài)位置1。CPU執(zhí)行完一條指令后就測試狀態(tài)位,假如為1,就把數(shù)據(jù)存放器中數(shù)據(jù)取到內(nèi)存;若狀態(tài)位為0,則再測試,直到狀態(tài)存放器狀態(tài)位為1,然后再讀取數(shù)據(jù)。所以此種方式也稱循環(huán)測試I/O方式5.2.1查詢方式10/2/第35頁就緒向設備控制器發(fā)讀命令讀設備控制器狀態(tài)檢驗狀態(tài)從設備控制器中讀入字向存放器中寫字傳送完成CPU->I/OCPU->內(nèi)存I/O->CPU犯錯I/O->CPU完成下條指令未完成未就緒10/2/第36頁步驟:
(1)當用戶需要輸入數(shù)據(jù)時,由處理器向設備控制器發(fā)出一條輸入輸出指令,開啟設備進行輸入
(2)當用戶進程需要向設備輸出數(shù)據(jù)時,也必須一樣發(fā)出開啟命令開啟設備輸出,并等候輸出操作完成。特點:
工作過程簡單,CPU利用率低。在要求不高場所下常被采取,而且不能支持多道程序。程序直接控制方式適合用于早期無中止計算機系統(tǒng)。10/2/第37頁
查詢方式是主機向外設問詢,而引入中止后,每當設備完成I/O操作,它便以中止請求方式主動向CPU匯報。所以,CPU一旦開啟I/O設備后便可轉(zhuǎn)去處理其它程序,僅在接到I/O中止信息請求時才花費極少時間去處理。
5.2.2中止方式10/2/第38頁1、中止概念
所謂中止,是指處理機在執(zhí)行進程過程中,因為一些事件出現(xiàn),中止當前進程運行,轉(zhuǎn)而去處理出現(xiàn)事件,待處理完成后返回原來被中止處繼續(xù)執(zhí)行或調(diào)度其它進程執(zhí)行。2、中止源
引發(fā)中止事件稱為中止源。(1)強迫性中止源硬件故障、程序性錯誤、外部事件、I/O中止事件(2)自愿性中止源10/2/第39頁3、步驟(1)進程需要數(shù)據(jù)時,將允許開啟和允許中止控制字寫入設備控制狀態(tài)存放器中,開啟該設備進行輸入操作。(2)該進程放棄處理機,等候輸入完成。操作系統(tǒng)進程調(diào)度程序調(diào)度其它就緒進程占用處理機。(3)當輸入完成時,輸入設備經(jīng)過中止請求線向CPU發(fā)出中止請求信號。CPU在接收到中止信號之后,轉(zhuǎn)向中止處理程序。(4)中止處理程序首先保護現(xiàn)場,然后把輸入緩沖存放器中數(shù)據(jù)傳送到某一特定單元中去,同時將等候輸入完成那個進程喚醒,進入就緒狀態(tài),最終恢復現(xiàn)場,并返回到被中止進程繼續(xù)執(zhí)行。(5)在以后某一時刻,操作系統(tǒng)進程調(diào)度程序選中提出請求并得到獲取數(shù)據(jù)進程,該進程從約定內(nèi)存特定單元中取出數(shù)據(jù)繼續(xù)工作10/2/第40頁向設備控制器發(fā)讀命令讀設備控制器狀態(tài)檢驗狀態(tài)從設備控制器中讀入字向存放器中寫字傳送完成完成下條指令CPU->I/OCPU->內(nèi)存I/O->CPU犯錯I/O->CPU未完成CPU做其它中止10/2/第41頁比如,打印機每打一行需要60ms,在查詢方式中,大約有59.99ms,CPU都處于循環(huán)等候中,而以中止方式處理話,CPU僅花費0.1ms時間來處理I/O設備發(fā)來中止,其余59.99ms都能夠用來做別事情。所以中止方式比查詢方式節(jié)約CPU時間。10/2/第42頁
中止方式方法是當設備完成I/O操作后,主動向CPU匯報,CPU只用少許時間處理I/O中止,并將數(shù)據(jù)取回。在多道程序中環(huán)境下,一個程序或進程開啟I/O設備并允許中止后,不是自己主動去執(zhí)行別程序或繼續(xù)執(zhí)行主流程,而是應該把自己掛起,控制權交還給進程調(diào)度程序。在中止處理程序中,完成指定I/O操作之后應把等候此結果進程喚醒,而后由進程調(diào)度程序在適當初機把此進程投入運行。10/2/第43頁某進程其它進程輸入中止處理中止調(diào)度調(diào)度喚醒開啟I/O并允許中止阻塞等候處理輸入數(shù)據(jù)保護現(xiàn)場輸入處理喚醒等候進程恢復現(xiàn)場多道程序下中止處理方式10/2/第44頁4、特點
中止控制方式比程序直接控制方式提升了CPU利用率。每輸入輸出一個數(shù)據(jù)都會發(fā)生中止,傳輸一組數(shù)據(jù)需要屢次中止,浪費了CPU處理時間。中止控制方式應用于當代計算機系統(tǒng)中。10/2/第45頁1、DMA控制方式引入
引入原因:中止處理方式提升了主機利用率,不過每次中止都要保留現(xiàn)場信息,恢復現(xiàn)場等,仍占用CPU時間。在傳送數(shù)據(jù)量大、速度高情況下,中止方式就不適應了。為了深入降低CPU對外設操作干預而引入直接存放器訪問方式。5.2.3直接內(nèi)存存取方式10/2/第46頁2、DMA控制方式
是指對I/O設備控制由DMA控制器完成,在DMA控制器作用下,設備和主存之間能夠成批地進行數(shù)據(jù)交換,而不用CPU干涉。5.2.3直接內(nèi)存存取方式10/2/第47頁
3、DMA控制器組成:DMA控制器組成命令控制器與設備接口主機—控制器接口內(nèi)存CPU系統(tǒng)總線I/O控制邏輯CRMARDCDR┇count10/2/第48頁4、DMA工作步驟:
①當進程要求設備輸入一批數(shù)據(jù)時,CPU將設備存放輸入數(shù)據(jù)內(nèi)存始址以及要傳送字節(jié)數(shù)分別送入DMA控制器中地址存放器和傳送字節(jié)計數(shù)器;另外,還要將中止位和開啟位置為1,以開啟設備開始進行數(shù)據(jù)輸入并允許中止。②發(fā)出數(shù)據(jù)要求進程進入等候狀態(tài),進程調(diào)度程序調(diào)度其它進程占據(jù)CPU。③輸入設備不停地挪用CPU工作周期,將數(shù)據(jù)存放器中數(shù)據(jù)源源不停地寫入內(nèi)存,直到所要求字節(jié)全部傳送完成。④DMA控制器在傳送字節(jié)數(shù)完成時,經(jīng)過中止請求線發(fā)出中止信號,CPU收到中止信號后轉(zhuǎn)中止處理程序,喚醒等候輸入完成進程,并返回被中止程序。⑤在以后某個時刻,進程調(diào)度程序選中提出請求輸入進程,該進程從指定內(nèi)存始址取出數(shù)據(jù)做深入處理。10/2/第49頁CPU向控制器發(fā)出開啟DMA通知和相關參數(shù)控制器向內(nèi)存發(fā)出問詢請求訪問內(nèi)存(讀、寫)計數(shù)器減1結束否發(fā)中止NYDMA實現(xiàn)流程10/2/第50頁5、DMA方式特點:
(1)數(shù)據(jù)傳送基本單位是數(shù)據(jù)塊; (2)所傳送數(shù)據(jù)是從設備直接送入內(nèi)存,或者相反; (3)僅在傳送一個或多個數(shù)據(jù)塊開始和結束時,才需中止CPU,請求干預,整塊數(shù)據(jù)傳送是在DMA控制器控制下完成。
缺點:
DMA方式只能完成簡單數(shù)據(jù)傳送、計數(shù)、內(nèi)存地址加1或減1等操作,不能滿足復雜I/O操作要求。10/2/第51頁6、DMA方式與中止主要區(qū)分
(1)中止方式是在數(shù)據(jù)緩沖存放區(qū)滿后,發(fā)中止請求,CPU進行中止處理;
DMA方式則是在所要求傳送數(shù)據(jù)塊全部傳送結束時要求CPU進行中止處理,大大降低了CPU進行中止處理次數(shù)。(2)中止方式數(shù)據(jù)傳送是由CPU控制完成;
DMA方式則是在DMA控制器控制下不經(jīng)過CPU控制完成。10/2/第52頁5.2.4I/O通道控制方式1、概念
通道控制方式是一個以主存為中心,是設備與主存直接交換數(shù)據(jù)控制方式。
CPU只需要發(fā)出開啟指令,指出通道對應操作和輸入輸出設備,該指令就能夠開啟通道并使該通道從主存中調(diào)出對應通道指令執(zhí)行,完成一組數(shù)據(jù)塊輸入/輸出。
10/2/第53頁2、通道控制方式步驟
(1)當進程要求設備輸入時,CPU發(fā)指令指明I/O操作、設備號和對應通道。(2)對應通道收到CPU發(fā)來開啟指令后,讀出內(nèi)存中通道指令程序、設置對應設備控制狀態(tài)存放器初值。(3)設備按通道指令要求,把數(shù)據(jù)送往內(nèi)存指定區(qū)域。(4)若傳送結束,I/O控制器經(jīng)過中止請求線發(fā)中止信號請求CPU做中止處理。(5)中止處理結束后,CPU返回到被中止進程處繼續(xù)執(zhí)行。(6)當進程調(diào)度程序選中這個已得到數(shù)據(jù)進程后,才能進行加工處理。10/2/第54頁3、特點
通道所需要CPU干預更少,并能夠?qū)崿F(xiàn)CPU、通道和輸入輸出設備三者之間并行操作,從而更有效地提升整個系統(tǒng)資源利用率。通道控制方式適合用于當代計算機系統(tǒng)中大量數(shù)據(jù)交換。10/2/第55頁通道和DMA控制器區(qū)分(1)一個DMA控制器只能連接同類外設,且假如是多臺同類外設,則它們只能是以串行方式工作。一個通道能夠連接多個不一樣類型設備控制器,而一個設備控制器又能夠管理一臺或多臺外圍設備,這就組成了經(jīng)典多級層次結構,眾多外設均可在通道控制下同時工作;(2)DMA控制是借助硬件完成數(shù)據(jù)交換,而通道是執(zhí)行通道程序完成數(shù)據(jù);(3)DMA控制器需要CPU對多個外設進行初始化。CPU只需發(fā)一個I/O指令開啟通道,由通道自己完成外設初始化。10/2/第56頁總而言之,在前三種I/O控制方式中,CPU直接對設備控制器和I/O接口編程,能夠簡化接口設計。對于非DMA傳送,需要CPU實際去完成數(shù)據(jù)傳送。對于高速數(shù)據(jù)傳送能夠使用DMA,但還是需要CPU設置設備控制器,初始化DMA操作和操作完成去檢驗端口傳送狀態(tài)。而通道不一樣于DMA控制器,它能夠去取和執(zhí)行它自己指令;而且這些指令功效已不但僅是數(shù)據(jù)傳送,還包含檢索、分支轉(zhuǎn)移,甚至一些簡單算術、邏輯運算。10/2/第57頁大、中型計算機系統(tǒng)普遍用通道方式去控制設備完成I/O操作,以提升CPU與外設,外設與外設并行程度。一些小型機和絕大多數(shù)微型機都是以CPU直接控制設備接口和設備控制器以查詢、中止或DMA方式完成I/O操作,以降低系統(tǒng)造價。10/2/第58頁思索題四
總而言之4種I/O控制方式,分別適適用于何種場所?10/2/第59頁課堂練習題1、從下面關于設備屬性敘述中,選擇一條正確描述。()A.字符設備一個基本特征是可尋址,即能指定輸入時源地址和輸出時目標地址B.共享設備必須是可尋址和隨機訪問設備C.共享設備是指在同一時刻,允許多個進程同時訪問設備D.在分配共享設備和獨占設備時,都可能引發(fā)進程死鎖2、()在普通大型計算機系統(tǒng)中,主機對外圍設備控制可經(jīng)過通道、控制器和設備三個層次來實現(xiàn)。從下述敘述中選出一條正確敘述。A控制器可控制通道,設備在通道控制下工作B通道控制控制器,設備在控制器控制下工作C通道和控制器分別控制設備D控制器控制通道和設備工作10/2/第60頁1、經(jīng)過硬件和軟件擴充,把原來獨立設備改造成能為若干用戶共享設備,這種設備稱為?。2、引發(fā)中止發(fā)生事件稱為?。3、假如I/O設備與存放設備進行數(shù)據(jù)交換不經(jīng)過CPU來完成,這種數(shù)據(jù)交換方式是?。4、慣用I/O控制方式有程序I/O方式、?、?、?.5、DMA是指允許?和?之間直接交換數(shù)據(jù)設備。在DMA中必須設置地址存放器,用于存放?,還必須設置?存放器,用來暫存交換數(shù)據(jù)。6、設備控制器是?和?之間接口,它接收來自?I/O命令,并用于控制?工作。7、按隸屬關系對I/O設備分類,可分為系統(tǒng)設備和?兩類。10/2/第61頁5.3緩沖管理5.3.1緩沖引入
1、引入原因(1)緩解CPU與輸入輸出設備間速度不匹配矛盾(2)降低對CPU中止頻率,放寬對中止響應時間限制。(3)提升CPU與輸入輸出設備間并行性。10/2/第62頁2、緩沖技術實現(xiàn)思想
建立一個緩沖區(qū),當進程要執(zhí)行讀寫操作時,首先向申請一塊內(nèi)存區(qū)域作為緩沖區(qū),然后,將要傳送數(shù)據(jù)高速送到緩沖區(qū)。假如是讀操作,則依據(jù)進程要求,把當前需要邏輯統(tǒng)計從緩沖區(qū)中選出并傳送給進程。若為寫操作,則不停把數(shù)據(jù)填到緩沖區(qū),直到它被填滿為止。10/2/第63頁3、實現(xiàn)緩沖方法
(1)硬件緩沖。硬件緩沖采取專用硬件緩沖器,普通由外設自帶專用存放器組成。(2)軟件緩沖。在內(nèi)存中專門開辟若干單元作為緩沖區(qū)為各種設備服務。10/2/第64頁5.3.2單緩沖和雙緩沖一、單緩沖
單緩沖即是在發(fā)送者和接收者之間只有一個緩沖區(qū)過程:當一個用戶進程要求輸入數(shù)據(jù)時,操作系統(tǒng)控制輸入設備將數(shù)據(jù)送往緩沖區(qū)存放,再送往用戶進程數(shù)據(jù)存放區(qū)。10/2/第65頁特點在主存中只有一個緩沖區(qū)。對于塊設備,該緩沖區(qū)能夠存放一塊數(shù)據(jù),對于字符設備,該緩沖區(qū)能夠存放一行數(shù)據(jù)。設備和處理器對緩沖區(qū)操作是串行,傳輸速度慢。在任一時刻,只能進行單向數(shù)據(jù)傳輸,而且傳輸數(shù)據(jù)量較少。優(yōu)點是設計簡單,輕易實現(xiàn)缺點是發(fā)送者和接收者不能并行工作10/2/第66頁二、雙緩沖
雙緩沖可在發(fā)送者與接收者之間設兩個緩沖區(qū)緩沖區(qū)1和緩沖區(qū)2。
過程:發(fā)送者將數(shù)據(jù)送滿緩沖區(qū)1,接收者從緩沖區(qū)1取數(shù)據(jù)時,發(fā)送者則可將數(shù)據(jù)送入緩沖區(qū)2,當接收者將緩沖區(qū)1取空后,又可到緩沖區(qū)2中取數(shù)據(jù),這時發(fā)送者再將數(shù)據(jù)送入緩沖區(qū)1。于是,發(fā)送者和接收者交替使用兩個緩沖區(qū),到達了并行工作目標。10/2/第67頁特點在主存中設置兩個緩沖區(qū),完成數(shù)據(jù)傳輸。兩個緩沖區(qū)能夠交替使用,提升了處理器和輸入設備并行操作能力。在任一時刻,能夠進行雙向數(shù)據(jù)傳輸。一個緩沖區(qū)用于輸入,另一個用于輸出。適合用于輸入/輸出、生產(chǎn)者/消費者速度基本相匹配情況。當傳輸數(shù)據(jù)量較大,或者二者速度相差較遠時,雙緩沖區(qū)效率較低,還是不能處理二者并行工作問題。10/2/第68頁三、循環(huán)緩沖
因為雙緩沖并不能真正處理實際系統(tǒng)中并行操作,為了能夠深入提升系統(tǒng)操作并行程度,能夠經(jīng)過增加緩沖區(qū)個數(shù),即實現(xiàn)多緩沖區(qū)方式。為了更加好地控制和使用這些緩沖區(qū),將多個緩沖區(qū)組成環(huán)形,稱為循環(huán)緩沖技術。循環(huán)緩沖技術是在內(nèi)存中分配大小相等存放區(qū)作為緩沖區(qū),并將這些緩沖區(qū)連接起來,每個緩沖區(qū)中有一個指向下一個緩沖區(qū)指針,最終一個緩沖區(qū)指針指向第一個緩沖區(qū)10/2/第69頁
為了充分利用這些緩沖資源,使進程處理和I/O設備工作含有很好連續(xù)性,提升設備利用率,將緩沖區(qū)分為以下兩種類型:(1)空緩沖區(qū)。準備接收輸入數(shù)據(jù)。(2)滿緩沖區(qū)。用于存放可供使用數(shù)據(jù)。過程:
當循環(huán)緩沖接收數(shù)據(jù)時,將待傳送數(shù)據(jù)送入EMPTY指向空緩沖區(qū),填滿后,讓EMPTY指向下一個空緩沖區(qū)。每次申請一個空緩沖區(qū)時,需要判斷EMPTY是否與FULL相等。若相等,表示系統(tǒng)中已沒有空緩沖區(qū),輸入進程需要等候;不然,能夠繼續(xù)輸入。若要從緩沖區(qū)取數(shù)據(jù)時,直接到FULL所指向緩沖區(qū)中取,然后讓FULL指向下一個滿緩沖區(qū)。一樣,每次FULL指針移動時,需要判斷FULL是否與EMPTY相等。若相等,表示緩沖區(qū)已無數(shù)據(jù)可取,等候緩沖區(qū)滿后繼續(xù)操作。10/2/第70頁特點:在主存中設置多個緩沖區(qū)。讀和寫能夠并行處理,適合用于某種特定輸入輸出進程和計算進程,如輸入/輸出、生產(chǎn)者/消費者速度不相匹配情況。循環(huán)緩沖區(qū)屬于專用緩沖區(qū)。當系統(tǒng)較大時,使用多個這么緩沖區(qū)要消耗大量主存空間,降低緩沖區(qū)使用效率。兩個缺點:(1)當系統(tǒng)資源較多時,就要占用大量緩沖區(qū),增加內(nèi)存開銷。(2)可能會出現(xiàn)某個設備緩沖不夠用,而其它設備有多個空閑緩沖區(qū)情況,造成循環(huán)緩沖利用率不高。10/2/第71頁四、緩沖池上述循環(huán)緩沖區(qū)僅適合用于某特定I/O進程和計算進程,是專用緩沖結構,而不是針對整個系統(tǒng)公用緩沖結構。當系統(tǒng)較大時,會有很多這么緩沖結構,這不但要消耗大量內(nèi)存空間,而且其利用率不高。為了提升緩沖區(qū)利用率,當前普遍采取公用緩沖池結構,在緩沖池中設置了可供多個并發(fā)進程共享緩沖區(qū)。10/2/第72頁如圖所表示,緩沖池是由多個大小相同緩沖區(qū)組成,同管理程序統(tǒng)一對緩沖池進行管理。當某個進程需要使用緩沖區(qū)時,由管理程序?qū)⒕彌_池中適當緩沖區(qū)分配給它,使用完成,再將緩沖區(qū)釋放回緩沖池。
10/2/第73頁為便于管理,系統(tǒng)將相同類型緩沖區(qū)鏈成一個隊列,緩沖池中共有三種隊列:(1)空緩沖隊列。(2)輸入隊列。(3)輸出隊列。這三種隊列各有指向其首緩沖區(qū)隊首指針和指向尾緩沖區(qū)隊尾指針。系統(tǒng)依據(jù)需要從這三種隊列中取出緩沖區(qū),對緩沖區(qū)進行存數(shù)據(jù)、取數(shù)據(jù)操作。這些緩沖區(qū)稱為工作緩沖區(qū)。緩沖池中有四種工作緩沖區(qū):(1)收容輸入工作緩沖區(qū)。(2)提取輸入工作緩沖區(qū)。(3)收容輸出工作緩沖區(qū)。(4)提取輸出工作緩沖區(qū)。10/2/第74頁對緩沖池管理提供兩個基本操作(過程):
(1)getbuf(type):用于從type所指定隊列隊首,摘下一個緩沖區(qū);(2)putbuf(type,number):用于將用參數(shù)number所指示緩沖區(qū),掛在type隊列上。10/2/第75頁下面是緩沖池在詳細工作過程中,對緩沖池中緩沖區(qū)實施管理和使用情況:(1)當輸入設備要進行數(shù)據(jù)輸入時,先從空緩沖區(qū)隊列隊首摘取一個空緩沖區(qū),將它作為收容輸入工作緩沖區(qū),在其裝滿輸入數(shù)據(jù)后,再將它掛到輸入數(shù)據(jù)隊列隊尾。(2)當某個計算進程需要輸入數(shù)據(jù)時,從輸入隊列中取出一個緩沖區(qū)作為輸入工作緩沖區(qū),進程從中提取數(shù)據(jù),取空后,將該緩沖區(qū)掛到空緩沖區(qū)隊列隊尾。(3)當某個計算進程想輸出數(shù)據(jù)時,從空緩沖區(qū)隊首摘下一個空緩沖區(qū)作為收容輸出工作緩沖區(qū),在其裝滿計算進程輸出數(shù)據(jù)后,將它掛到輸出隊列隊尾。(4)當輸出設備進行數(shù)據(jù)輸出時,從輸出隊列取下一個緩沖區(qū)作為提取輸出工作緩沖區(qū),當其數(shù)據(jù)全送到輸出設備后,再將它掛到空緩沖隊列尾。10/2/第76頁特點
緩沖池結構復雜,在主存中設置公用緩沖池,在池中設置多個能夠供多個進程共享緩沖區(qū)。緩沖區(qū)既能夠用于輸入,又能夠用于輸出(即共享)。緩沖池設置,降低了主存空間消耗,提升了主存利用率,適應于當代操作系統(tǒng)。不論是多緩沖,還是緩沖池,因為緩沖器是臨界資源,所以在使用緩沖區(qū)時都有一個申請、釋放和互斥問題。10/2/第77頁緩沖和緩存差異
緩沖與緩存基本原理和作用是相同,假如不加區(qū)分話,都能夠稱之為緩沖。但二者之間確實存在細微差異:緩沖作用在于協(xié)調(diào)速度不匹配I/O傳輸過程;而緩存作用在于降低對設備實際訪問次數(shù)。這個差異造成了二者管理方法有所不一樣。10/2/第78頁
普通來說,緩沖區(qū)生命期較短,當進程開始數(shù)據(jù)傳輸時建立,一旦數(shù)據(jù)傳輸完成,將馬上釋放緩沖區(qū),它只起暫存數(shù)據(jù)作用。而緩存區(qū)生命期較長,緩存數(shù)據(jù)能夠長時間地保留在緩存區(qū)中,服務于各種應用目標。如文件系統(tǒng)中i節(jié)點緩存、目錄項緩存等在整個系統(tǒng)運行期間都存在于內(nèi)存中,由文件系統(tǒng)管理和使用。
10/2/第79頁另外,緩沖區(qū)管理相對簡單,系統(tǒng)只需提供簡單分配算法以及同時機制即可。而緩存區(qū)管理則需要利用更復雜算法,以提升訪問命中率,最大程度地發(fā)揮緩存作用。比如,磁盤緩存算法要確定哪些數(shù)據(jù)應存放在緩存中,哪些數(shù)據(jù)應從緩存中撤出等。
在應用上,進程間通信多使用緩沖技術,而設備I/O往往使用緩沖兼緩存技術。10/2/第80頁5.4I/O軟件
分層結構底層是設備相關部分,稱為設備驅(qū)動程序。它們直接和對應設備打交道,負責設備詳細驅(qū)動和控制。上層通常是和設備無關,這個部分接收來自用戶層訪問請求,并把這些訪問請求傳給詳細設備驅(qū)動程序,再將驅(qū)動程序執(zhí)行結果進行轉(zhuǎn)換,傳給用戶10/2/第81頁5.4I/O軟件設計目標和標準設備無關性錯誤處理同時/異步傳輸必須能處理獨占設備和共享設備I/O操作10/2/第82頁為實現(xiàn)以上四個目標,I/O系統(tǒng)應組織成以下四個層次:
(1)中止處理程序
(2)設備驅(qū)動程序
(3)與設備無關I/O軟件
(4)用戶空間I/O軟件10/2/第83頁5.4.2中止處理程序
中止事件通常由硬件發(fā)覺。對出現(xiàn)事件進行處理程序稱為中止處理程序。
中止處理程序是由操作系統(tǒng)處理,屬于操作系統(tǒng)組成部分。
中止處理程序位于I/O系統(tǒng)最低層。當進程需要進行I/O操作時,操作系統(tǒng)應將該進程掛起,即進入阻塞,直至I/O操作結束并發(fā)生中止。當中止發(fā)生時,中止處理程序執(zhí)行對應操作,以解除對應進程阻塞狀態(tài)。10/2/第84頁一個完整中止處理過程包含以下四步:
(1)中止請求:由中止源向CPU提出中止請求(軟中止除外)。
(2)中止響應:CPU在收到中止請求并具備響應條件情況下,進行中止響應,以實現(xiàn)向中止服務程序過渡。
(3)中止服務:CPU在執(zhí)行中止服務程序期間,要進行詳細中止服務。
(4)中止返回:中止服務程序最終一條指令應是中止返回指令。當執(zhí)行到該指令時,便返回到被終止程序,從斷點處繼續(xù)執(zhí)行。10/2/第85頁中止請求:
中止源需要經(jīng)過中止線送到中止控制器輸入端,這稱為中止請求。
中止控制器是一個硬件裝置,它負責捕捉中止請求,并以一定方式向CPU提交中止。因為同時可能會有多個中止信號產(chǎn)生,它們需要共用有限中止線。所以,當設備要使用中止線時就要先進行中止請求(IRQ),以取得中止線使用權。10/2/第86頁中止響應
對中止請求整個處理過程是由硬件和軟件相結合一整套中止機構實施。中止響應由硬件實施,中止處理主要由軟件實施。中止響應是CPU對中止源中止請求響應,包含保護斷點和將程序轉(zhuǎn)向中止服務程序入口地址。
在處理器執(zhí)行完一條指令后,硬件中止裝置就馬上檢驗有沒有中止事件發(fā)生。若無,繼續(xù)執(zhí)行下一條指令;若有,則停頓現(xiàn)行進程,由操作系統(tǒng)中中止處理程序占用處理器,這一過程稱為“中止響應”。10/2/第87頁普通說來,中止響應過程次序執(zhí)行下述動作:
(1)中止當前進程執(zhí)行;
(2)對被響應中止進行應答;
(3)保留當前進程斷點信息(主要是程序狀態(tài)字PSW和程序計數(shù)器PC);
(4)轉(zhuǎn)到中止處理程序入口。10/2/第88頁中止處理
中止處理主要由軟件實施。響應中止后,CPU轉(zhuǎn)去執(zhí)行對應中止處理程序。每個中止都對應一個特定中止處理程序,因而系統(tǒng)中會有許多中止處理程序,如時鐘中止處理程序、鍵盤中止處理程序等。在設備驅(qū)動程序中包含了對該設備全部中止處理程序。
10/2/第89頁中止處理過程:
①當中止裝置發(fā)覺中止事件后,先把中止事件存放到程序狀態(tài)字存放器中中止碼位置。②把程序狀態(tài)字存放器中“當前PSW”作為“舊PSW”保留到預先約定主存固定單元中。③依據(jù)中止碼,把該類事件處理程序“新PSW”送入程序狀態(tài)字存放器。④處理器按新PSW控制處理該事件中止處理程序執(zhí)行。當中止程序處理完后,再恢復現(xiàn)場,繼續(xù)執(zhí)行原先被中止進程10/2/第90頁中止處理程序處理過程以下:
1.喚醒被阻塞驅(qū)動程序進程
2.保護被中止進程現(xiàn)場
3.分析中止原因、轉(zhuǎn)入對應設備中止處理程序
4.進行中止處理
5.恢復被中止進程現(xiàn)場
中止處理程序工作是對傳輸結果進行必要處理。10/2/第91頁多中止處理
對于中止處理過程中又發(fā)生中止,引發(fā)多中止處理問題,通常有兩種處理方法。
(1)處理一個中止時禁止中止對任何新中止置之不理,在此期間發(fā)生中止將保持掛起狀態(tài),當再次允許中止時,新中止信號被處理器檢測到再給予處理
(2)中止按照優(yōu)先權分級允許優(yōu)先級高中止打斷優(yōu)先級低中止處理過程10/2/第92頁5.4.3設備驅(qū)動程序
設備驅(qū)動程序是驅(qū)動物理設備直接進行各種操作軟件,它可看作I/O系統(tǒng)和物理設備接口。設備驅(qū)動程序包含了全部與設備相關代碼。每一個設備驅(qū)動程序只處理一個設備或者一類親密相關設備。
10/2/第93頁設備驅(qū)動程序功效:(1)實現(xiàn)邏輯設備到物理設備轉(zhuǎn)換。(2)發(fā)出I/O命令,開啟對應I/O設備,完成對應I/O操作。10/2/第94頁設備驅(qū)動程序與設備控制器交互大致過程
驅(qū)動程序?qū)⒖刂泼畎l(fā)到控制器命令存放器中,控制器開啟設備進行I/O操作。當數(shù)據(jù)準備好后,驅(qū)動程序負責與控制器交互,完成數(shù)據(jù)傳輸工作。控制器將設備產(chǎn)生狀態(tài)信息存入狀態(tài)存放器中,供驅(qū)動程序查詢。當有設備中止事件發(fā)生時,控制器發(fā)出中止請求信號,系統(tǒng)進入中止處理程序進行處理。10/2/第95頁設備處理方式有三類:
一是為每一類設備設置一個進程,專門執(zhí)行這類設備輸入輸出操作。二是在整個系統(tǒng)中設置一個輸入輸出進程,專門負責對系統(tǒng)中全部各類設備輸入輸出操作。三是不設置專門設備處理進程,只為各類設備設置對應設備處理程序,供用戶進程或系統(tǒng)進程調(diào)用。10/2/第96頁設備驅(qū)動程序特點
(1)驅(qū)動程序主要是在請求輸入輸出進程與設備控制器之間一個通信程序。
(2)驅(qū)動程序與輸入輸出設備特征親密相關。因而對不一樣類型設備應配置不一樣驅(qū)動程序
(3)驅(qū)動程序與輸入輸出控制方式緊密相關。
(4)驅(qū)動程序與硬件緊密相關,其部分被固化在ROM中。10/2/第97頁設備驅(qū)動程序處理過程:
1.將抽象要求轉(zhuǎn)化為詳細要求
2.檢驗輸入輸出請求正當性
3.讀出和檢驗設備狀態(tài)
4.傳送必要參數(shù)
5.設置工作方式
6.開啟輸入輸出設備10/2/第98頁5.4.4設備獨立性軟件
為了實現(xiàn)設備獨立性而引入了邏輯設備和物理設備這兩個概念。在應用程序中,使用邏輯設備名稱來請求使用某類設備;而系統(tǒng)在實際執(zhí)行時,還必須使用物理設備名稱。
所以,系統(tǒng)須含有將邏輯設備名稱轉(zhuǎn)換為某物理設備名稱功效,這非常類似于存放器管理中所介紹邏輯地址和物理地址概念。
10/2/第99頁1.邏輯設備與物理設備概念
物理設備是一個詳細設備。系統(tǒng)為了能識別全部外設,給每臺外設分配一個唯一不變名字,稱為物理設備名。系統(tǒng)在實際工作時使用物理設備名。邏輯設備是對實際物理設備屬性抽象,它并不限于某個詳細設備。用戶在編程時,不用關心系統(tǒng)詳細配置了哪些設備,也不需要了解各種設備物理特征,而只是按照通例為所用設備起個邏輯名字,稱為邏輯設備名。10/2/第100頁2.設備獨立性
設備獨立性也稱設備無關性,指用戶編程時所使用設備與實際使用設備無關。為此,要求用戶程序?qū)斎胼敵鲈O備請求采取邏輯設備名;而在程序?qū)嶋H執(zhí)行時使用物理設備名,它們之間關系類似存放管理中邏輯地址和物理地址關系。10/2/第101頁
用戶程序以邏輯設備名來請求使用某類設備時,系統(tǒng)將在該類設備中,依據(jù)設備使用情況,將任一臺適當物理設備分配給程序。
在實現(xiàn)了設備獨立性功效后,可帶來以下兩方面好處:
1)設備分配時靈活性
2)易于實現(xiàn)I/O重定向10/2/第102頁5.4.5用戶層I/O軟件盡管大部分I/O軟件屬于操作系統(tǒng),不過也有一小部分是與用戶程序鏈接在一起庫例程,甚至是在關鍵外運行完整程序。系統(tǒng)調(diào)用,包含I/O系統(tǒng)調(diào)用,通常是庫例程調(diào)用。在以下C語句:
count=write(fd,buffer,nbyte);中,所調(diào)用庫函數(shù)write()將與用戶程序鏈接在一起,并包含在運行時二進制代碼中。這一類庫例程顯然也是I/O系統(tǒng)一部分。標準I/O庫包含相當多包括I/O庫例程,它們作為用戶程序一部分運行。10/2/第103頁總結I/O系統(tǒng)各層主要功效以下:
(1)用戶進程層執(zhí)行輸入/輸出系統(tǒng)調(diào)用,對I/O數(shù)據(jù)進行格式化,為假脫機輸入/輸出做準備。
(2)獨立于設備軟件實現(xiàn)設備命名、設備保護、成塊處理、緩沖技術和設備分配。
(3)設備驅(qū)動程序設置設備存放器、檢驗設備執(zhí)行狀態(tài)。
(4)中止處理程序負責I/O完成時,喚醒設備驅(qū)動程序進程,進行中止處理。
(5)硬件層實現(xiàn)物理I/O操作。10/2/第104頁5.5設備分配
設備分配是由I/O系統(tǒng)中設備分配程序完成。每當進程提出I/O請求時,設備分配程序便按照一定策略把所需設備分配給進程使用。設備分配標準是要盡可能地讓設備忙碌,充分發(fā)揮設備使用效率。10/2/第105頁5.5.1設備分配中數(shù)據(jù)結構設備控制表DCT控制器控制表COCT系統(tǒng)設備表SDT通道控制表CHCT(有時有)10/2/第106頁1.設備控制表系統(tǒng)為每個設備配置一張設備控制表,用于統(tǒng)計設備特征及與輸入輸出控制器連接情況。
該表在系統(tǒng)生成時或在該設備和系統(tǒng)連接時創(chuàng)建,但表中內(nèi)容則依據(jù)系統(tǒng)執(zhí)行情況而被動態(tài)地修改。10/2/第107頁表目1┊設備控制表集合設備控制表設備控制表10/2/第108頁2.系統(tǒng)設備表SDT
系統(tǒng)設備表也稱為設備類表,整個系統(tǒng)配置一張。它統(tǒng)計了已被連接到系統(tǒng)中全部物理設備情況,并為每個物理設備設一個表項。10/2/第109頁表目1┊系統(tǒng)設備表10/2/第110頁3.控制器控制表COCT
系統(tǒng)為每個控制器配置了一張控制器控制表,以反應控制器使用狀態(tài)。10/2/第111頁表目1┊控制器表
控制器表其中控制器表中包含:控制器標識符、控制器狀態(tài)、與控制器連接通道表指針、控制器隊列隊首指針和隊尾指針。與設備控制表表目類似,不再重復。10/2/第112頁4.通道控制表CHCT
系統(tǒng)為每個通道配置一張通道控制表,以反應通道使用狀態(tài)。該表只在通道控制方式系統(tǒng)中存在,每個通道一張。10/2/第113頁表目1┊通道表通道表其中通道表中包含:通道標識符、通道狀態(tài)、與通道連接控制器表首址、通道隊列隊首指針和隊尾指針。與設備控制表表目類似,不再重復。10/2/第114頁這幾張表關系:
在系統(tǒng)設備表中有指向設備控制表指針,在設備控制表中有指向該設備控制器控制表指針,在控制器控制表中有指向與該控制器連接通道控制表指針。系統(tǒng)就是經(jīng)過這種關系進行設備分配與回收。10/2/第115頁5.5.2設備分配時應考慮原因1.設備使用性質(zhì)
按照設備本身使用性質(zhì),能夠采取以下三種不一樣分配方式:獨享分配、共享分配、虛擬分配。獨享分配適合用于大多數(shù)低速設備,如打印機。共享分配適應于高速設備,如磁盤。虛擬分配適應于虛擬設備。依據(jù)設備使用性質(zhì)來決定一臺設備能夠分給幾個進程。10/2/第116頁2.設備分配算法
當有多個進程同時請求設備時,系統(tǒng)應采取某種策略決定將設備分配給哪個進程使用。主要分配策略有先來先服務和優(yōu)先級兩種。
(1)先來先服務算法依據(jù)進程對某設備提出請求先后次序,將這些進程排成一個設備請求隊列,設備分配程序總是把設備首先分配給隊首進程。先來先服務算法簡單、公平,但無法滿足一些緊迫進程對I/O響應時間要求。(2)優(yōu)先級算法策略是對高優(yōu)先權進程I/O請求也賦予高優(yōu)先權,這有利于這種進程盡快完成。在利用該算法形成設備隊列時,將優(yōu)先級高進程排在設備請求隊列前面,而對于同優(yōu)先級I/O請求,則按先來先服務標準排隊。10/2/第117頁3.設備分配安全性設備分配安全性是指在設備分配中應預防發(fā)生進程死鎖。設備分配安全性采取方法有靜態(tài)分配策略和動態(tài)分配策略,它們能夠預防進程死鎖。
(1)靜態(tài)分配策略。靜態(tài)分配策略是在作業(yè)級進行,用戶作業(yè)開始執(zhí)行前,由系統(tǒng)一次分配給該作業(yè)所要求全部設備、控制器和通道,直到該作業(yè)撤消為止。靜態(tài)分配不會出現(xiàn)死鎖,不過,設備利用率低。(2)動態(tài)分配策略。動態(tài)分配策略是在進程執(zhí)行過程中,依據(jù)執(zhí)行需要所進行設備分配。動態(tài)分配提升了設備利用率,不過分配不妥,會造成進程死鎖。10/2/第118頁4.設備獨立性
設備獨立性是指用戶在編制程序時所使用設備與實際使用設備無關。為此,要求用戶程序?qū)斎胼敵鲈O備請求采取邏輯設備名,而在程序?qū)嶋H執(zhí)行時使用物理設備名,它們之間關系類似存放管理中邏輯地址和物理地址關系。10/2/第119頁5.5.3獨占設備分配程序在一個含有I/O通道系統(tǒng)中,當進程提出I/O請求時,對獨占設備分配過程是:
首先為其進行分配適當設備,然后分配控制器,最終分配通道。10/2/第120頁1.分配設備分配設備過程如圖示:
當進程提出I/O請求后,首先依據(jù)進程提出邏輯設備名,查找到與之對應物理設備名,檢索系統(tǒng)設備表SDT,以取得該設備設備控制表DCT。查看設備控制表中設備狀態(tài)。若設備忙,將該進程PCB放入設備請求隊列中;不然,系統(tǒng)可依據(jù)一定算法判定分配此設備給進程是否安全。若不安全,將進程PCB塊也放入設備請求隊列。若有設備空閑,且分配安全,就將該設備分配給進程。10/2/第121頁2.分配控制器在系統(tǒng)把設備分配給請求輸入輸出進程后,再到設備控制表中找到與該設備相連控制器控制表,從該表狀態(tài)字段中可知該控制器是否忙碌。若控制器忙,則將進程插入到等候該控制器隊列;不然,將該控制器分配給進程,即修改控制器控制表,把狀態(tài)字段值由“0”改為進程名。10/2/第122頁3.分配通道在分配完設備控制器后,從控制器控制表中找到與該控制器相連通道控制表,從該表狀態(tài)字段中可知該通道是否忙碌。若通道處于忙碌狀態(tài),則將該進程插入到等候該通道隊列;不然,將該通道分配給進程,即修改通道控制表,把狀態(tài)字段值由“0”改為進程名。10/2/第123頁設備回收
當進程撤消或設備使用完成后,要進行設備回收,設備回收過程如圖所表示。設備回收步驟:(1)系統(tǒng)依據(jù)進程名在設備分配表中找到對應統(tǒng)計,把設備狀態(tài)修改為“0”表示未分配,若該設備等候隊列不空,則喚醒隊首進程,進行設備分配;(2)到該設備控制器控制表中,把其狀態(tài)由進程名改為“0”,若該控制器等候隊列不空,則喚醒隊首進程,進行控制器分配;(3)到該控制器通道控制表中,把其狀態(tài)由進程名改為“0”,若該通道等候隊列不空,則喚醒隊首進程,進行通道分配;(4)在系統(tǒng)設備表中,把回收設備臺數(shù)添加到“現(xiàn)存設備臺數(shù)”中。
10/2/第124頁對設備分配程序改進
以上設備分配程序有兩個特點:
一是,進程是以物理設備名來提出輸入輸出請求。
二是,系統(tǒng)采取是單通路輸入輸出系統(tǒng)結構。這么系統(tǒng)輕易產(chǎn)生“瓶頸”現(xiàn)象。
為此,對設備分配程序做以下改進:
(1)增加設備獨立性。進程應以邏輯設備名請求輸入輸出。系統(tǒng)首先依據(jù)系統(tǒng)設備表找到第一個該類設備設備分配表,若該設備忙,則查找第二個該類設備設備分配表,僅當全部該類設備都忙時,才把進程掛在該類設備等候隊列上。這么經(jīng)過增加設備獨立性,提升了設備分配安全性。10/2/第125頁(2)考慮多通路情況。系統(tǒng)采取多通路輸入輸出系統(tǒng)結構,如圖示:即一個設備能夠由多個控制器控制,一個控制器能夠由多個通道控制(即增加圖中虛線部分)。這么,能夠預防系統(tǒng)出現(xiàn)“瓶頸”現(xiàn)象。也就是對控制器和通道分配,一樣經(jīng)過幾次重復,只要有一個控制器或通道可用,系統(tǒng)就能夠把它分配給進程。這么,就增加了分配控制器和通道可能性,提升了設備分配效率。返回10/2/第126頁5.5.4SPOOLing技術虛擬設備技術
虛擬設備:指經(jīng)過某種虛擬技術,將一臺物理設備變換成若干臺邏輯設備,從而實現(xiàn)多個用戶對該物理設備同時共享。因為多臺邏輯設備實際上并不存在,而只是給用戶一個感覺,所以被稱作虛擬設備。過程:當進程中請求獨享設備時,系統(tǒng)將共享設備一部分存放空間分配給它。進程與設備交換信息時,系統(tǒng)把要交換信息存放在這部分存放空間,在適當時候?qū)π畔⒆鲗幚怼?/p>
10/2/第127頁SPOOLing概念
為了緩解CPU高速性與I/O設備低速性間矛盾而引了脫機輸入、脫機輸出技術,利用專門外圍控制機,將數(shù)據(jù)在低速I/O設備上與高速磁盤之間傳送。經(jīng)過共享設備來模擬獨享設備所采取操作是假脫機操作,或SPOOLing,即在聯(lián)機情況下外部設備設備同時操作。什么是SPOOLing系統(tǒng)?指在多道程序環(huán)境下,利用多道程序中一道或兩道程序來模擬外圍控制機,從而在聯(lián)機條件下實現(xiàn)脫機I/O功效。10/2/第128頁SPOOLing系統(tǒng)組成
1.輸入井和輸出井。
2.輸入緩沖區(qū)和輸出緩沖區(qū)。
3.輸入進程和輸出進程。10/2/第129頁假脫機技術組成:(1)輸入井和輸出井。這是在磁盤上開辟兩個大存放區(qū)。輸入井是模擬脫機輸入時磁盤,用于收容輸入設備輸入數(shù)據(jù)。輸出井是模擬脫機輸出時磁盤,用于收容用戶程序輸出數(shù)據(jù)。(2)輸入緩沖區(qū)和輸出緩沖區(qū)。它們是在主存中開辟兩個緩沖區(qū)。輸入緩沖區(qū)用于暫存由輸入設備送來數(shù)據(jù),以后再傳送到輸入井,輸出緩沖區(qū)用于暫存從輸出井送來數(shù)據(jù),以后再傳送給輸出設備。(3)輸入進程和輸出進程。輸入進程模擬脫機輸入時外圍控制機,將用戶要求數(shù)據(jù)從輸入設備,經(jīng)過輸入緩沖區(qū)送到輸入井。當CPU需要數(shù)據(jù)時,直接從輸入井讀入主存。輸出進程模擬脫機輸出時外圍控制機,把用戶要求輸出數(shù)據(jù),先從主存送到輸出井,待輸出設備空閑時,再將輸出井中數(shù)據(jù),經(jīng)過輸出緩沖區(qū)送到輸出設備上。10/2/第130頁思索題SPOOLing是怎樣實現(xiàn)輸入輸出?
輸入進程模擬脫機輸入時外圍控制機,將用戶要求數(shù)據(jù)從輸入機經(jīng)過輸入緩沖區(qū)再送到輸入井,當CPU需要輸入數(shù)據(jù)時,直接從輸入井讀入內(nèi)存;輸出進程模擬脫機輸出時外圍控制機,把用戶要求輸出數(shù)據(jù)先從內(nèi)存送到輸出井,待輸出設備空閑時,再將輸出井中數(shù)據(jù)經(jīng)過輸出緩沖區(qū)送到輸出設備上。10/2/第131頁用SPOOLing技術實現(xiàn)打印機共享例
系統(tǒng)在外存開辟了一個打印機輸出井和一個磁帶機輸入井。對用戶進程來說,這就是一臺虛擬打印機和一臺虛擬磁帶機。當進程需要從磁帶機輸入數(shù)據(jù)時,SPOOLing系統(tǒng)開啟磁帶機,將數(shù)據(jù)讀入磁帶機輸入井中,隨即進程直接從輸入井提取數(shù)據(jù),不需再等候。當進程需要打印輸出時,它們將數(shù)據(jù)高速地送入打印機輸出井,然后繼續(xù)運行。在輸出井等候打印數(shù)據(jù)形成打印隊列,由SPOOLing系統(tǒng)控制在適當時候完成實際打印工作。10/2/第132頁
虛擬設備除了能夠降低進程對設備等候時間外,還能夠處理多個進程對獨占設備競爭問題。比如,在設置了虛擬打印機系統(tǒng)中,每個進程都能夠隨時執(zhí)行打印輸出操作,好像系統(tǒng)打印機是自己獨占。也就是說,使用虛擬設備永遠不會引發(fā)進程死鎖。10/2/第133頁
當用戶進程請求打印輸出時,SPOOLing系統(tǒng)同意為它打印輸出,但并不真正馬上把打印機分配給該用戶進程,而只為它做兩件事:①由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印數(shù)據(jù)送入其中;②輸出進程再為用戶進程申請一張空白用戶請求打印表,并將用戶打印要求填入其中,再將該表掛到請求打印隊列上。10/2/第134頁思索題請說明SPOOLing系統(tǒng)是怎樣實現(xiàn)虛擬設備?答:SPOOLing系統(tǒng)主要由輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進程和輸出三部分組成。當要運行用戶程序時,由輸入進程將用戶要求程序和數(shù)據(jù)預先從輸入設備經(jīng)由輸入緩沖區(qū)送到輸入井,當程序運行需要輸入數(shù)據(jù)時,直接從輸入井將數(shù)據(jù)讀入內(nèi)存。當用戶程序要求輸出數(shù)據(jù)時,由輸出進程先將數(shù)據(jù)從內(nèi)存送到輸出井,待輸出設備空閑時,再將輸出井中數(shù)據(jù)經(jīng)由輸出緩沖區(qū)送到輸出設備上。因為磁盤是共享設備,輸入井及輸出井是磁盤上兩個存放區(qū)域,所以多個用戶進程能夠共享使用輸入井及輸出井,這么,就將獨占型設備改造成了可共享使用虛擬設備。10/2/第135頁SPOOLing系統(tǒng)特點
1.提升了I/O速度。
2.將獨享設備改造為共享設備。
3.實現(xiàn)了虛擬設備功效。
(1)提升了輸入輸出速度。SPOOLing技術引入了輸入井和輸出井,能夠使輸入進程、用戶進程和輸出進程同時工作,從而提升了輸入輸出速度。
(2)將獨占設備改造為共享設備。因為SPOOLing技術把全部用戶進程輸出都送入輸出井,然后再由輸出進程完成打印工作,而輸出井在磁盤上,為共享設備。這么SPOOLing技術就把打印機等獨占設備改造成了共享設備。
(3)實現(xiàn)了虛擬設備功效。因為SPOOLing技術實現(xiàn)了多個用戶進程共同使用打印機這種獨占設備情況,從而實現(xiàn)了把一個設備當成多個設備來使用,即虛擬設備功效。10/2/第136頁5.6磁盤存放器管理5.6.1磁盤性能簡述磁盤結構
每個盤面上有許多磁道,從0開始按由外向里次序次序編號,不一樣盤面上含有相同編號磁道在同一個柱面上,把盤面上磁道號稱為“柱面號”。
每個盤面有一個讀寫磁頭,全部讀寫磁頭被固定在唯一移動臂上同時移動,把全部讀寫磁頭按從上到下次序從0開始進行編號,稱為磁頭號。在磁盤初始化時把每個盤面劃分成相等數(shù)量扇區(qū),按磁盤旋轉(zhuǎn)反向從0開始給各扇區(qū)編號,稱為扇區(qū)號。
要確定一個塊所在位置,必須給出三個參數(shù):柱面號、磁頭號、扇區(qū)號。10/2/第137頁磁盤類型
1)固定頭磁盤
這種磁盤在每條磁道上都有一讀/寫磁頭,全部磁頭都被裝在一剛性磁臂中。經(jīng)過這些磁頭可訪問全部各磁道,并進行并行讀/寫,有效地提升了磁盤I/O速度。這種結構磁盤主要用于大容量磁盤上。
2)移動頭磁盤
每一個盤面僅配有一個磁頭,也被裝入磁臂中。為能訪問該盤面上全部磁道,該磁頭必須能移動以進行尋道。可見,移動磁頭僅能以串行方式讀/寫,致使其I/O速度較慢;但因為其結構簡單,故仍廣泛應用于中小型磁盤設備中。10/2/第138頁磁盤訪問時間開啟磁盤執(zhí)行輸入輸出操作時,要把移動臂移動到指定柱面,再等候指定扇區(qū)旋轉(zhuǎn)到磁頭位置下,然后讓指定磁頭進行讀寫,完成信息傳送。所以,執(zhí)行一次輸入輸出所花時間有:
1)尋道時間——磁頭在移動臂帶動下移動到指定柱面所花時間。(Seek)
2)延遲時間(Delay)——指定扇區(qū)旋轉(zhuǎn)到磁頭下所需時間。
3)傳輸時間——由磁頭進行讀寫完成信息傳送時間。10/2/第139頁5.6.2磁盤調(diào)度1.先進先服務算法FCFS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)資源監(jiān)測與城鄉(xiāng)規(guī)劃協(xié)調(diào)發(fā)展考核試卷
- 航標器材海上氣象預警系統(tǒng)考核試卷
- 核電站質(zhì)量保證與質(zhì)量控制考核試卷
- 航標器材在海洋牧場建設中的應用考核試卷
- 營養(yǎng)食品的貨架期延長技術研究考核試卷
- 營養(yǎng)補充劑批發(fā)商的綠色營銷戰(zhàn)略執(zhí)行考核試卷
- 裝飾材料行業(yè)數(shù)據(jù)分析方法考核試卷
- 蔬菜種植的農(nóng)業(yè)氣候資源合理利用考核試卷
- 拼多多獨家品牌授權與全方位運營支持合作協(xié)議
- 國際旅行者綜合醫(yī)療保障理賠服務合同
- 山東省臨沂市2025年普通高等學校招生全國統(tǒng)一考試(模擬)語文及答案(臨沂二模)
- 濟南幼兒師范高等??茖W校招聘真題2024
- 定額〔2025〕1號文-關于發(fā)布2018版電力建設工程概預算定額2024年度價格水平調(diào)整的通知
- 宮頸癌護理查房-4
- 數(shù)字媒體技術概論(融媒體版) 課件 1融媒體技術基礎
- Q∕GDW 10364-2020 單相智能電能表技術規(guī)范
- 官話套話大全
- 2022年工業(yè)廢水處理工(中級)理論題庫-中(多選題部分)
- 列寧晚年思想及對中國社會主義建設的指導意義
- NY T 1145-2006 溫室地基基礎設計丶施工與驗收技術規(guī)范
- 批發(fā)零售大個體 E204-3批發(fā)和零售業(yè)產(chǎn)業(yè)活動單位(個體經(jīng)營戶)商品銷售和庫存
評論
0/150
提交評論