操作系統(tǒng) 第6章設(shè)備_第1頁
操作系統(tǒng) 第6章設(shè)備_第2頁
操作系統(tǒng) 第6章設(shè)備_第3頁
操作系統(tǒng) 第6章設(shè)備_第4頁
操作系統(tǒng) 第6章設(shè)備_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/2/31第6章輸入輸出系統(tǒng)(I/O)6.1I/O系統(tǒng)的功能、模型和接口2023/2/32

I/O系統(tǒng)是操作系統(tǒng)對計算機系統(tǒng)中除CPU和內(nèi)存之外的外部設(shè)備進行管理。操作系統(tǒng)設(shè)備管理是要,方便用戶使用設(shè)備、提高設(shè)備利用率。

提高設(shè)備利用率的關(guān)鍵是實現(xiàn)設(shè)備的并行操作。一方面,諸設(shè)備要與CPU并行,另一方面,諸設(shè)備間也要并行。I/O系統(tǒng)的層次結(jié)構(gòu)

整個I/O結(jié)構(gòu)分成三個層次:底層是具體的設(shè)備和硬件接口,中間是系統(tǒng)軟件(與設(shè)備相關(guān)軟件、與設(shè)備無關(guān)軟件),最上面是用戶程序。打印機攝像機硬盤設(shè)備打印機控制器攝像機控制器磁盤控制器打印機驅(qū)動程序攝像機驅(qū)動程序磁盤驅(qū)動程序I/O接口程序硬件接口與設(shè)備相關(guān)軟件與設(shè)備無關(guān)軟件用戶程序進程A進程B進程C進程N用戶空間內(nèi)核空間打印機中斷處理程序攝像機中斷處理程序磁盤中斷處理程序1.設(shè)備的分類2023/2/34(1)按設(shè)備的使用特性分類 存儲設(shè)備、I/O設(shè)備(2)按信息的組織方式分類

塊設(shè)備:磁盤、磁帶等

字符設(shè)備:每次傳送字符數(shù)據(jù),如鍵盤。6.2I/0設(shè)備和設(shè)備控制器設(shè)備的分類……2023/2/3Page5(3)按傳輸速率分類低速設(shè)備每秒幾個字節(jié)至數(shù)百字節(jié)鍵盤、鼠標(biāo)、語音輸入輸出設(shè)備等中速設(shè)備每秒數(shù)千至數(shù)萬字節(jié)行式打印機、激光打印機等高速設(shè)備每秒數(shù)百K至數(shù)十M字節(jié)磁盤機、磁帶機、光盤機等2023/2/362.設(shè)備與控制器之間的接口

通常,設(shè)備并不是直接與CPU進行通信,而是與設(shè)備控制器通信。因此,在設(shè)備中應(yīng)含有與設(shè)備控制器的接口。2023/2/3Page7設(shè)備與控制器之間的接口數(shù)據(jù)信號線用于在設(shè)備和設(shè)備控制器之間傳送數(shù)據(jù)信號控制信號線作為由設(shè)備控制器向I/O設(shè)備發(fā)送控制信號(規(guī)定設(shè)備應(yīng)執(zhí)行的操作)時的通路狀態(tài)信號線用于傳送指示設(shè)備當(dāng)前狀態(tài)的信號設(shè)備控制器是CPU與I/O設(shè)備之間的接口由外界輸入的信號經(jīng)轉(zhuǎn)換器轉(zhuǎn)換后送入緩沖器,數(shù)據(jù)達到一定的字符數(shù)后,再從緩沖器通過一組數(shù)據(jù)信號線送到控制器從設(shè)備控制器經(jīng)過數(shù)據(jù)信號線傳送來的數(shù)據(jù)先暫存在緩沖器,經(jīng)轉(zhuǎn)換器經(jīng)過適當(dāng)轉(zhuǎn)換后,逐個字符輸出信號規(guī)定設(shè)備要執(zhí)行的操作指示設(shè)備當(dāng)前狀態(tài),正在讀、寫或完成2.設(shè)備控制器2023/2/38設(shè)備控制器的組成2.設(shè)備控制器2023/2/39基本功能接收和識別命令應(yīng)有控制寄存器存放接受的命令和參數(shù),并對其譯碼數(shù)據(jù)交換實現(xiàn)CPU與控制器、控制器與設(shè)備之間的數(shù)據(jù)交換,需設(shè)置數(shù)據(jù)寄存器標(biāo)識和報告設(shè)備的狀態(tài):需設(shè)置狀態(tài)寄存器地址識別識別所控制的設(shè)備,需設(shè)置地址譯碼器數(shù)據(jù)緩沖:解決I/O設(shè)備速率低的問題差錯控制:對I/O設(shè)備發(fā)送的數(shù)據(jù)6.4設(shè)備驅(qū)動程序

6.4.3對I/O設(shè)備的控制方式2023/2/3101.程序查詢/輪詢方式

用戶進程直接控制CPU與外設(shè)之間的數(shù)據(jù)傳送。當(dāng)用戶進程需要使用某一外設(shè)輸入/輸出數(shù)據(jù)時,它通過CPU向外設(shè)發(fā)出一條I/O指令啟動外設(shè),然后在外設(shè)上進行I/O數(shù)據(jù)處理的過程中,進程循環(huán)測試外設(shè)是否處理完畢(busy=0),如果完畢就再啟動下一次的傳送,直到傳送結(jié)束。設(shè)備內(nèi)存或設(shè)備CPU2023/2/311向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀入字向存儲器中寫字傳送完成?未就緒就緒出錯CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存下條指令完成未完(a)程序I/O方式2023/2/312缺點:①CPU與外設(shè)之間只能串行工作。CPU在絕大多數(shù)時間內(nèi)都處于循環(huán)測試的忙等待狀態(tài),使得CPU的利用率極低。②由于一段時間內(nèi)CPU只能與一臺外設(shè)交換數(shù)據(jù),因此多臺外設(shè)之間也只能串行工作。

程序查詢方式只適用于CPU執(zhí)行速度較慢且外設(shè)較少的系統(tǒng)。2.中斷控制方式2023/2/313向I/O控制器發(fā)讀命令讀I/O控制器的狀態(tài)檢查狀態(tài)?從I/O控制器中讀字向內(nèi)存中寫字傳送完成?就緒出錯CPU→I/OI/O→CPUI/O→CPUCPU→內(nèi)存下條指令完成未完中斷CPU(b)中斷驅(qū)動方式做其它事2023/2/315特點:CPU與外設(shè)并行工作,也可外設(shè)間并行工作,大大提高了系統(tǒng)效率。僅適宜于慢速的字符設(shè)備,中斷次數(shù)頻繁(數(shù)據(jù)緩沖寄存器小,滿即產(chǎn)生中斷),系統(tǒng)開銷大(在中斷處理上)。3.DMA方式2023/2/316

在外設(shè)與內(nèi)存間直接開辟一個數(shù)據(jù)通道,由DMAC(DMA控制器)來控制它們之間的成批數(shù)據(jù)傳送。2023/2/317特點數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時才需CPU干預(yù)除了具有中斷機構(gòu)外,還增加了DMA控制器數(shù)據(jù)傳送方向、存放數(shù)據(jù)的內(nèi)存地址及傳送數(shù)據(jù)長度需CPU控制每個設(shè)備需配置一個DMA控制器DMA方式2023/2/318DMA方式的工作流程設(shè)置MAR和DC初值啟動DMA傳送命令挪用存儲器周期傳送數(shù)據(jù)字存儲器地址增1字計數(shù)寄存器減1DC=0?請求中斷在繼續(xù)執(zhí)行用戶程序的同時,準(zhǔn)備又一次傳送否是內(nèi)存地址寄存器MAR數(shù)據(jù)存放到內(nèi)存的起始目標(biāo)地址數(shù)據(jù)計數(shù)器DC要讀或?qū)懙淖郑ü?jié))數(shù)2023/2/319與中斷方式的區(qū)別:1)中斷方式是在數(shù)據(jù)寄存器滿的時候發(fā)出中斷請求,DMA方式是在數(shù)據(jù)傳送結(jié)束時發(fā)出中斷請求。2)中斷方式中的中斷處理程序負責(zé)數(shù)據(jù)傳送(取走數(shù)據(jù)),DMA方式中的中斷處理程序做I/O的結(jié)束工作。

DMA方式適合連續(xù)數(shù)據(jù)塊的傳送。4通道控制方式2023/2/320通道是一個獨立于cpu的專管輸入輸出控制的處理機有自己簡單的指令系統(tǒng),只有數(shù)據(jù)傳送指令和設(shè)備控制指令主要目的是為了建立獨立的I/O操作,使有關(guān)對I/O操作的組織、管理及其結(jié)束處理也獨立于CPUCPU向I/O通道發(fā)送I/O命令,由通道執(zhí)行程序通道與一般處理機的區(qū)別指令單一沒有獨立的內(nèi)存2023/2/321通道的種類字節(jié)多路:以字節(jié)為單位傳送數(shù)據(jù),低速設(shè)備數(shù)組選擇:一次只能控制一臺I/O設(shè)備;以塊為單位或成批傳送數(shù)據(jù);高速設(shè)備數(shù)組多路:傳輸速度快,通道利用率高,可連接多臺高中速設(shè)備2023/2/3226.5.3設(shè)備分配2023/2/3231.設(shè)備分配的原則: 總原則:考慮設(shè)備的固有屬性,充分發(fā)揮設(shè)備的使用效率,盡可能的讓設(shè)備忙,又要避免由于不合理的分配方法造成進程死鎖;把用戶程序和具體的物理設(shè)備隔離開來。2.設(shè)備分配策略:先請求先分配優(yōu)先級高者先分配設(shè)備分配時應(yīng)考慮的因素設(shè)備的固有屬性獨占性一段時間內(nèi),只允許一個進程獨占,大多數(shù)低度速I/O設(shè)備都屬于獨享設(shè)備共享性允許多個進程同時共享,如磁盤、磁鼓之類的外存儲器,既具有很能大的存儲容量,其定位操作的時間又短可虛擬性獨占設(shè)備經(jīng)某種技術(shù)處理,改造成虛擬設(shè)備,把一臺輸入機虛擬為幾臺“虛擬”的輸入機。例如:為了提高設(shè)備利用率引入了脫機輸入輸出或采用SPOOLing技術(shù),變一臺為“多臺設(shè)備”缺點:設(shè)備得不到充分利用,可能產(chǎn)生死鎖設(shè)備分配時應(yīng)考慮的因素設(shè)備分配獨占設(shè)備防止死鎖共享設(shè)備由于同時有多個進程同時訪問,且訪問頻繁,就會影響整個設(shè)備使用效率,影響系統(tǒng)效率。因此要考慮多個訪問請求到達時服務(wù)的順序,使平均服務(wù)時間越短越好。注意各進程的訪問次序進行合理調(diào)度虛擬設(shè)備2023/2/3263.設(shè)備分配中的安全性安全分配方式每當(dāng)進程發(fā)出I/O請求后,便進入阻塞狀態(tài),I/O操作完成后喚醒優(yōu)點:摒棄了“請求和保持”條件,不會產(chǎn)生死鎖不安全分配方式進程發(fā)出I/O請求后仍繼續(xù)運行,繼續(xù)申請I/O設(shè)備優(yōu)點:可操作多個設(shè)備,推進迅速6.7緩沖技術(shù)2023/2/327

緩沖是用來緩和CPU與外設(shè)之間以及設(shè)備與設(shè)備之間速度不匹配的矛盾,提高CPU和I/O設(shè)備的并行性。1緩沖的引入

采用緩沖技術(shù)的目的主要在于:2023/2/3281).用來緩和CPU與I/O設(shè)備之間速度不匹配的矛盾。2).提高CPU和I/O設(shè)備的并行性。3).有效減少對CPU的中斷次數(shù),放寬對CPU中斷響應(yīng)時間的限制。比如:字符設(shè)備無緩沖:傳輸一個字符需要中斷一次有緩沖:傳輸100個字符只需要中斷一次4).解決生產(chǎn)和消費數(shù)據(jù)粒度不匹配的問題2023/2/3291位緩沖9.6Kb/s(a)中斷CPU的頻率為9.6Kb/s,每100s中斷一次CPUCPU必須在100s內(nèi)響應(yīng),否則數(shù)據(jù)會被沖掉8位緩沖寄存器送內(nèi)存9.6Kb/s(b)中斷CPU的頻率降低為9.6Kb/82023/2/3308位緩沖寄存器9.6Kb/s送內(nèi)存(c)每800s中斷一次CPU2緩沖的種類

緩沖區(qū)分為單緩沖、雙緩沖、環(huán)型緩沖、緩沖池等,現(xiàn)代操作系統(tǒng)很多采用緩沖池技術(shù)。緩沖池將多個緩沖區(qū)組織成多個緩沖隊列。2023/2/331緩沖區(qū)中的單緩沖和雙緩沖2023/2/332單緩沖和雙緩沖2023/2/3Page33只能實現(xiàn)單向的數(shù)據(jù)傳輸為了實現(xiàn)雙向數(shù)據(jù)傳輸,必須在兩臺機器中都設(shè)置兩個緩沖區(qū),一個用作發(fā)送緩沖區(qū),另一個用作接收緩沖區(qū)。循環(huán)緩沖2023/2/3Page34類型:R:空緩沖;G:滿緩沖;C:當(dāng)前緩沖本章小結(jié)2023/2/335了解外設(shè)的分類;了解設(shè)備管理的功能;理解幾種數(shù)據(jù)傳輸控制方式的不同(程序直接控制、中斷方式、DMA方式和通道方式);了解中斷中的相關(guān)概念;理解引入緩沖區(qū)的作用;設(shè)備分配的原則和策略。脫機輸入/輸出(Off-LineI/O)方式硬件不斷發(fā)展,CPU速度的提高、系統(tǒng)規(guī)模擴大,人機矛盾嚴重,如何解決?磁帶磁帶磁帶磁帶SPOOLing技術(shù)2023/2/3Page37什么是SPOOLing技術(shù)為了緩和CPU的高速性與I/O設(shè)備低速性間的矛盾而引入了脫機輸入、脫機輸出技術(shù)在多道程序環(huán)境下,其中的一道程序模擬脫機輸入時的外圍控制機功能在主機的直接控制下,實現(xiàn)脫機輸入、輸出功能,此時的外圍操作與CPU對數(shù)據(jù)的處理同時進行把這種在聯(lián)機情況下實現(xiàn)的同時外圍操作稱為SPOOLing(SimultaneausPeriphernalOperatingOn-Line),或稱為假脫機操作SPOOLing技術(shù)2023/2/3Page38SPOOLing系統(tǒng)的組成輸入井和輸出井在磁盤上的兩個存儲空間輸入井模擬脫機輸入,暫存輸入數(shù)據(jù)輸出井模擬脫機輸出,暫存輸出數(shù)據(jù)輸入緩沖區(qū)和輸出緩沖區(qū)用來緩和CPU與磁盤之間的速度的矛盾輸入進程進程SPo模擬脫機I/O時的外圍控制機脫機輸入/輸出(Off-LineI/O)方式Page392023/2/3磁帶磁帶磁帶磁帶SPOOLing技術(shù)2023/2/3Page40SPOOLing技術(shù)2023/2/3Page41共享打印機打印機為獨占設(shè)備,利用SPOOLing技術(shù),可將之改造為共享設(shè)備用戶請求打印時,SPOOLing系統(tǒng)處理如下由輸出進程在輸出井中為之申請一個空閑磁盤塊區(qū),并將要打印的數(shù)據(jù)送入其中輸出進程再為用戶進程申請一張空白的用戶請求打印表,并將用戶的打印要求填入其中,再將該表掛到請求打印隊列上SPO

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論