版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
外部設備與主機的連接2022/10/19外部設備與主機的連接外部設備與主機的連接2022/10/15外部設備與主機的連接任何數字計算機的用途很大程度上取決于它所能連接的外圍設備的范圍。遺憾的是,由于外圍設備種類繁多,速度各異,不可能簡單地把外圍設備連接在CPU上。因此,必須尋找一種方法,一邊將同某種計算機連接起來,使他們一起可以正常工作。通常這項任務用適配器部件來完成。通過適配器可以實現(xiàn)高速CPU和低速外設之間速度上的匹配和同步,并取決稱計算機和外設之間的所有數據傳送和控制。適配器通常稱為接口。外部設備與主機的連接任何數字計算機的用途很大程度上取決于它所能連接的外
3.3.1外部設備與主機的連接
1.影響外部設備與主機連接方式的主要因素(1)I/O系統(tǒng)的工作模式·程序控制直接傳送模式·程序查詢控制模式·程序中斷控制模式·直接存儲器訪問(DMA)模式·通道控制模式·I/O處理機控制模式(2)數據傳送方式·并行傳送·串行傳送(3)數據通信的同步方式·同步通信(發(fā)送端與接收端之間有統(tǒng)一的時鐘)
·異步通信(發(fā)送端與接收端之間無統(tǒng)一的時鐘,采用應答控制方式。)外部設備與主機的連接3.3.1外部設備與主機的連接外部設備與主機(4)傳送信息的種類·設備地址信息·數據·設備狀態(tài)信息·控制信息2.外部設備與主機的連接模式在描述系統(tǒng)或部件之間的連接時,使用得最為廣泛的一個術語是“接口”(interface)。這里,我們把接口分為如下兩種:把插入在兩個彼此不能直接連接的機器或系統(tǒng)之間,并使它們相互連接通信的附加裝置稱為適配器(adapter);把位于一種設備、器件上與其他設備、器件相連接的部分稱為I/O端口。適配器是主機和外部設備之間的橋梁,也可以看作是一種器件,它有1個面向主機的I/O端——系統(tǒng)接口,另1個面向設備的I/O端口——設備接口。此外在外部設備上也需要1個與適配器連接的I/O端口——設備驅動電路,在主機方面需要1個與適配器連接的I/O端口——主機的I/O接口。外部設備與主機的連接(4)傳送信息的種類外部設備與主機的連接這3種器件或設備、4個I/O端口形成如下圖所示的結構。I/O接口系統(tǒng)接口設備接口設備驅動電路主機適配器設備地址控制、狀態(tài)數據圖3.38外部設備與主機連接的一般模式外部設備與主機的連接這3種器件或設備、4個I/O端口形成如下圖所示的結構。I/3.I/O接口的尋址方式CPU通過端口與外部設備進行通信:如發(fā)送命令、讀取狀態(tài)和傳送數據。為此一個接口中常設置有與這些通信操作相對應的端口:如命令端口、狀態(tài)端口和數據端口。CPU要訪問這些端口,首先要解決尋址問題。這就是I/O接口的尋址問題。I/O接口的尋址有兩種方式:端口地址與存儲器地址統(tǒng)一編址和分別編址。前者把I/O端口當作存儲器的一部分單元進行訪問,即I/O端口占用了存儲器的一部分單元;CPU不設置專門的I/O指令,用統(tǒng)一的訪問存儲器的命令訪問I/O端口。后者要求用專門的I/O指令訪問I/O端口,I/O端口不占用存儲器空間,它與存儲器分別使用兩套獨立的地址編碼系統(tǒng)。外部設備與主機的連接3.I/O接口的尋址方式外部設備與主機的連接3.3.2并行通信和并行接口1.并行接口概述將一個字或其一部分(一個字節(jié))的各位用多根數據線同時進行傳輸,稱為并行通信。實現(xiàn)并行通信的接口(適配器)是并行接口。一個并行接口可以設計為只作輸出接口,或只作輸入接口,還可以設計為既作為輸入接口又作為輸出接口。并行接口可以分為硬線連接接口和可編程接口。硬線連接接口的工作方式及功能不能用編程的方法加以改變,只能用硬線連接設定;可編程接口的工作方式及功能可以用程序加以改變。外部設備與主機的連接3.3.2并行通信和并行接口外部設備與主機的連接2.硬線連接并行接口硬線連接并行接口可分為3種。(1)簡單并行接口簡單并行接口,也稱無條件傳送接口。它僅用于外設與CPU交換數據之前就準備好了而不需要聯(lián)絡信號的情形。(2)條件傳送接口在實際應用中,大多數外部設備與CPU之間交換的是一系列連續(xù)的數據,只有前一個數據發(fā)送或接收完成以后才能傳送下一個數據。因此接口中必須帶有自己的應答信號,以表明設備的狀態(tài),如設備已“準備好”等。CPU在執(zhí)行I/O操作時,要先檢測外部設備是否已具備數據傳送的條件,若不具備,則等待,直至設備作好準備。這種并行接口稱為條件傳送接口,或叫程序查詢方式接口。它們的特點是帶有應答信號。圖3.21介紹的程序查詢控制接口就是這種接口。外部設備與主機的連接2.硬線連接并行接口外部設備與主機的連接(3)中斷傳送I/O接口采用中斷方式與CPU交換數據,讓CPU實時地實現(xiàn)對外設的讀寫操作,這種并行接口叫做中斷傳送方式I/O接口。這時I/O設備的狀態(tài)既可以作為程序查詢的標志,又可以作為中斷請求信號。這種接口在3.2.2節(jié)中已經作了介紹。3.可編程并行接口(8255A)可編程實際上是具有可選擇性,如用戶可以在程序中選擇哪一個或哪幾個數據端口與外設連接;輸入和輸出分別占用端口中的哪一位或哪幾位以及選擇端口與CPU之間的數據傳送模式等。它除了具有硬線連接接口的性能外,最主要的是可編程。編程由用戶用指令向端口送入方式字或控制字進行。這種接口在微型計算機中稱為PIO。外部設備與主機的連接(3)中斷傳送I/O接口外部設備與主機的連接下面簡要介紹一種適合于IBM\|PC系列機的PIO芯片8255A。(1)8255A內部結構圖3.39為8255A的內部結構框圖。它由A,B,C3個數據端口、A/B組控制、讀/寫控制邏輯電路和數據總線緩沖器組成。3個數據端口的組成及在PC/XT系統(tǒng)中的地址如表3.2所示。外部設備與主機的連接下面簡要介紹一種適合于IBM\|PC系列機的PIO芯A組控制數據總線緩沖器讀/寫控制邏輯B組控制A組A口(8位)A組C口高位(4位)B組C口低位(4位)B組B口(8位)PA7~PA0PC7~PC4PC3~PC0PB7~PB0D7~D0RDWRA1A0CSRESET圖3.398255A內部結構外部設備與主機的連接A組控制數據總線讀/寫控制邏輯B組控制A組A組B組B組P端口端口A端口C端口B數據輸入數據輸出PC/XT中的地址1X8位鎖存器1X8位鎖存/緩沖器60H2X4位緩沖器2X4位鎖存/緩沖器62H1X8位鎖存器1X8位鎖存/緩沖器61H表3.28255A的3個數據端口外部設備與主機的連接端口端口A端口C端口B數據輸入1X8位鎖存器2X4位緩沖器在使用中,端口A和端口B常常作為獨立的輸入端口或輸出端口;端口C常常分為上下兩部分,形成兩個4位端口,分別作為端口A和端口B的輸出控制信號和輸入狀態(tài)信號。(2)8255A的工作方式8255A有3種工作方式:①方式0方式0也稱基本I/O方式。在這種方式下,端口A和端口B以及兩個4位的端口C,形成4個端口;任一端口都可以作輸入口,也可以作輸出口,各端口之間沒有規(guī)定必然的聯(lián)系;各端口可以有16種不同的組合,可以適用于多種使用。外部設備與主機的連接在使用中,端口A和端口B常常作為獨立的輸入端口或輸出端②方式1方式1也稱選擇I/O方式。當A,B端口按方式1工作時,C的兩個4位端口要分別作為A,B的輸出控制信號和輸入狀態(tài)信號。③方式2方式2也稱雙向傳輸方式,只適用于端口A。這時端口C要為端口A自動提供相應的控制信號。(3)8255A控制字8255A通過指令往端口設置控制字決定工作方式??刂谱址譃閮深悾汗ぷ鞣绞娇刂谱趾投丝贑置1/置0控制字。外部設備與主機的連接②方式1外部設備與主機的連接①工作方式控制字工作方式控制字,用以把3個端口分為A組(包括端口C的高位)和B組(包括端口C的低位)來設置工作方式。它的格式及每位定義如下圖所示。例如,要把A口指定為方式1輸入,C口上半部為輸出,B口為方式0輸出,C口下半部為輸入,工作方式字應為10110001B或B1H。初始化程序為:MOVDX,63H;8255A控制口地址MOVAL,B1H;置工作方式控制字
OUTDX,AL;送控制字到控制口1D6D5D4D3D2D1D0特征位A組方式00:方式001:方式11X:方式2A口0:輸出1:輸入C4~70:輸出1:輸入B組方式0:方式01:方式1B口0:輸出1:輸入C0~30:輸出1:輸入外部設備與主機的連接①工作方式控制字1D6D5D4D3D2D1D0特征②端口C置1/置0控制字這個控制字可以使端口C中的任一位置0/置1,設置相應的控制位。它的格式及每位的定義如下圖所示。例如,要對端口C的PC7位置1,則控制字應為00001111B,即0FH;而端口C的PC3要置0,則控制字應為00000110B,即06H。則相應程序段為MOVAL,OF;送對PC7置1控制字MOVDX,63H;控制口地址送DXOUTDX,AL;對PC7,置1MOVAL,06H;送控制字06H到ALOUTDX,AL;對PC3置04.微型計算機標準并行口1D6D5D4D3D2D1D0特征位不用位選擇000:C口0位001:C口1位::111:C口7位1:置位0:復位外部設備與主機的連接②端口C置1/置0控制字1D6D5D4D3D2D1標準接口即通用接口。目前的標準并行接口主要作為打印機端口,接口使用25針DB-25連接器。常用的并行接口有如下幾種:·標準并行接口:有4位、8位和半8位。大多數的PC機配有4位或8位并口?!PP口(增強并行口):8位雙向傳送,可以用于連接掃描儀、CD-ROM驅動器等非打印設備。·ECP口(擴展并行口):支持多個邏輯設備尋址,在多任務環(huán)境下可以使用DMA方式。目前很多高檔微機的主板都集成了并行口插座,標注為LPT1,LPT2或Paralle1和Paralle2。
外部設備與主機的連接標準接口即通用接口。目前的標準并行接口主要作為打印機端5.磁盤接口磁盤是一般計算機的駐在設備,因此磁盤與主機的接口顯得尤為重要,常見的磁盤接口有如下兩種:(1)IDE接口IDE接口也稱ATA端口,通常用于微機上做磁盤接口。IDE接口最多可接兩個容量不超過528M的磁盤驅動器,不支持DMA方式,但其成本低,在微機中很流行,幾乎所有的586主板上都集成了兩個IDE接口插座,標注為IDE1和IDE2。(2)EIDE接口EIDE接口是對IDE的改進,它可連接4個外設,而且外設不僅可以是磁盤,還可以是CD-ROM和其他磁盤備份設備。對于硬盤的容量,可以控制的范圍提高到了8G,其數據傳輸率要比IDE高。外部設備與主機的連接5.磁盤接口外部設備與主機的連接3.3.3串行通信和串行接口串行通信是在一根傳輸線上一位一位地傳輸信息。由于所用的傳輸線根數少,特別適合于遠距離的信息傳送。1.串行通信的同步方式和異步方式并行通信時,一組信息按位分別同時傳送,聯(lián)絡信號通過專用的控制線傳送,數據信息通過數據線傳送,由于所用的線不同,各位的作用很清楚。串行通信時情況就不同了。一組信息要一位一位地傳送,聯(lián)絡信號、數據信號都在一根線上依次傳送,為區(qū)分它們,就要給出串行通信的信息格式約定,并把串行通信分為異步和同步兩種信息格式,形成異步通信和同步通信兩種方式。外部設備與主機的連接3.3.3串行通信和串行接口外部設備與主機的連接異步通信(又稱起止式通信)是把每個字符作為獨立的整體進行傳輸。為實現(xiàn)通信雙方的同步,每位字符傳送組織的方式如下圖所示:編碼第1位前加1位起始位,表示一個字符傳送的開始,編碼的最后1位后加1位或多位停止位,表示一個字符傳送完畢。信息編碼與停止位之間可插入校驗位。這種通信方式中,從一個字符的結束到下一個字符的開始沒有固定的時間間隔,因此稱之為異步通信。0/10/1100/10/10/10/10/10/10/10/1100/10/10/10/1奇偶校驗停止位起始位低位高位7位數據奇偶校驗停止位起始位7位數據第n個字符第(n+1)個字符第(n-1)個字符下降邊指出下一個字符的開始數據流向外部設備與主機的連接異步通信(又稱起止式通信)是把每個字符作為獨同步通信是把數據塊(字符順序組織)作為傳輸單位,格式如下圖所示,只在數據塊的首部加同步字符,表示數據傳送的開始,數據塊的數據間沒有空隙,嚴格按規(guī)定的速率發(fā)送和接收,在數據塊尾部可帶校驗碼,最后以同步字符結束,表示數據塊傳送結束。數據塊連同附加的同步字符和校驗碼信息稱為一幀。SYNC字符1字符2…字符nCRC1CRC2SYNC1幀同步字符(開始)同步字符(結束)檢驗字符1檢驗字符2外部設備與主機的連接同步通信是把數據塊(字符順序組織)作為傳輸單同步字符起聯(lián)絡作用。不同的通信系統(tǒng)對同步字符的約定不同,有的約定用01111110作為同步字符,有的約定用00010110作為同步字符。傳送開始后,接收設備首先搜索同步字符。在同步字符后,傳送的是一個數據塊,為了正確地接收字符,要求接收設備和發(fā)送設備保持完全的同步。而為了使兩個系統(tǒng)的時鐘同步,需要有專門的設備(近距離傳輸時,增加一根時鐘信號線)或采用鎖相技術(遠距離通信時)等提取同步信號。外部設備與主機的連接同步字符起聯(lián)絡作用。不同的通信系統(tǒng)對同步字符的約定不2.串行接口串行通信接口的基本任務有如下幾條:(1)實現(xiàn)串行數據格式化在異步通信方式下,自動生成(發(fā)送時)或去掉(接收時)啟/停位。在同步通信方式下發(fā)送時,在數據塊前自動加上同步字符。(2)進行串\|并變換把外部的串行輸入碼轉換成計算機所需的并行碼,把計算機內部的并行碼轉換為在外部傳送的串行碼。(3)可靠性檢驗發(fā)送時接口電路自動生成奇偶校驗位等校驗碼;接收時,接口電路對字符加以自動校驗。外部設備與主機的連接2.串行接口外部設備與主機的連接(4)實施連接和控制目前,廣泛使用的一種通用串行數據接口叫USART(異步接收發(fā)送器)。隨著大規(guī)模集成電路技術的發(fā)展,通用可編程同步和異步接口芯片USART的種類越來越多,Intel8251就是其中一個代表。下圖為Intel8251的結構框圖。其編程原理與8255A有些相似。數據總線緩沖器讀/寫控制邏輯調制控制發(fā)送緩沖器發(fā)送控制接收緩沖器接收控制TXDTXRDYTXEMPTYTXCRXDRXRDYSYNDETRXCD0~7RESETCLKC/DRDWRCSDTRDSRRTSCTS內部數據總線外部設備與主機的連接(4)實施連接和控制數據總線讀/寫調制控3.微型計算機標準串行口一般微機均有兩個串行口COM1和COM2。COM1采用9針DB-9連接器,COM2有的使用的是DB\|25針連接器。通常串行口常常用于鼠標和打印機接口。由于串行傳送數據距離較長,因此,長距離數據通信中往往采用串行口。外部設備與主機的連接3.微型計算機標準串行口外部設備與主機的連接
3.4I/O設備管理
3.4.1緩沖區(qū)技術3.4.2設備驅動程序3.4.3I/O設備分配外部設備與主機的連接3.43.4.1緩沖區(qū)技術1.緩沖區(qū)的作用(1)高低速設備之間的速度匹配中斷和通道技術為CPU與外設之間的并行操作提供了可能。但是由于CPU與外設之間的速度的不匹配以及外設頻繁地中斷CPU的運行,仍會降低CPU的工作效率。為此在輸入/輸出系統(tǒng)中引入了緩沖技術。其基本方法是在CPU與外設之間設置一個緩沖區(qū),當CPU要向外設輸出數據時,先把數據送到緩沖區(qū)中,讓外設慢慢地去“消化”,CPU可以繼續(xù)進行別的工作;當外設要向CPU輸入數據時,先慢慢地把數據送到緩沖區(qū)中,CPU需要時可以像使用內存中的數據那樣使用緩沖區(qū)中的數據。外部設備與主機的連接3.4.1緩沖區(qū)技術外部設備與主機的連接外部設備雖然慢但處理的數據量少,CPU處理的數據量大但速度快,借用緩沖就能很好地解決二者之間的匹配問題。例如如CPU與打印機通信時,當CPU引發(fā)一個輸出時,只需快速地把數據送到緩沖區(qū)中即可,接著便可以去作別的工作,緩沖區(qū)中的數據則由打印機慢慢地享用,從而減少了中斷次數。
在存儲體系中,緩沖技術成為解決容量與速度之間的矛盾的主要方法,Cache實際上就是主存與CPU之間的緩沖區(qū)。再如,當CPU要與磁盤交換數據時,也以緩沖區(qū)作為中間過渡環(huán)節(jié)。(2)一次讀入的信息能多次使用使用過文件的人都會有一個體驗:當你要瀏覽一張軟盤中的文件目錄時,第一次時間是比較慢的;如果你中間又瀏覽另外的目錄再返回來瀏覽先前那張軟盤目錄時,會發(fā)現(xiàn)快多了。原因就在于第一次瀏覽時,軟盤目錄已經調入內存的緩沖區(qū)了。一般地說,在通道或控制器內設置局部寄存器,可以暫存I/O信息,減少CPU的中斷次數。
外部設備與主機的連接外部設備雖然慢但處理的數據量少,CPU處理的數據量大(3)中轉通過中轉避免外設與CPU之間的完全互連,可以解決設備連接和數據傳輸的復雜性。2.緩沖區(qū)的實現(xiàn)為了有效地進行I/O操作,緩沖存儲已經成為不同設備之間相互連接的重要環(huán)節(jié)。現(xiàn)代計算機系統(tǒng)中在信息傳輸的通道上設置和增加了各種各樣的存儲器,例如顯示存儲器、打印緩沖區(qū)等。當然,并非所有的I/O操作都要經過緩沖區(qū)。例如有的作業(yè)可以直接輸入到外存,再由外存調入內存執(zhí)行。緩沖區(qū)可以用硬件實現(xiàn),也可以用軟件實現(xiàn)。硬緩沖區(qū)通常設在設備中,軟緩沖區(qū)由軟件設置在內存中。外部設備與主機的連接(3)中轉外部設備與主機的連接按照組織方式緩沖技術可以分為:單緩沖、雙緩沖、多緩沖和緩沖池等形式。(1)單緩沖:在設備與CPU之間設置一個緩沖區(qū)。顯然單緩沖區(qū)難以解決兩臺設備之間的并行操作。(2)雙緩沖:在設備與CPU之間設置兩個緩沖區(qū),這樣可以解決兩臺設備之間的并行操作問題。(3)多緩沖:把多個緩沖區(qū)連接起來組成兩個部分:一部分用于輸入,另一部分用于輸出。(4)緩沖池:把多個緩沖區(qū)連接起來統(tǒng)一管理,既可用于輸入,又可用于輸出。
外部設備與主機的連接外部設備與主機的連接3.緩沖區(qū)管理下面以緩沖池為例來介紹緩沖區(qū)的管理方法。一個緩沖區(qū)由兩部分組成:緩沖首部和緩沖體。緩沖體用于存放數據。緩沖首部用來標識所在緩沖區(qū)以便對其進行管理,它由下圖所示的幾部分組成。設備號數據塊號緩沖器號互斥標識位隊列連接指針外部設備與主機的連接3.緩沖區(qū)管理設備號數據塊號緩沖器號互斥標識位隊列連接指針利用緩沖首部的隊列連接指針,可以將緩沖池中的緩沖區(qū)組織成3種隊列:·空閑緩沖隊列:未使用的緩沖區(qū)隊列?!ぽ斎刖彌_隊列:裝滿輸入數據的緩沖區(qū)組成的隊列?!?/p>
輸出緩沖隊列:裝滿輸出數據的緩沖區(qū)組成的隊列。
外部設備與主機的連接利用緩沖首部的隊列連接指針,可以將緩沖池中的緩緩沖池工作時,將按如下算法進行:(1)當設備有輸入數據時,先從空閑隊列中(隊首)申請一個緩沖區(qū)——稱為收容輸入緩沖區(qū),將輸入數據寫入收容輸入緩沖區(qū)中;寫滿后,按一定規(guī)則(如FIFO)插入到輸入緩沖隊列中。(2)當CPU(系統(tǒng))要提取數據時,將從輸入緩沖隊列中(隊首)申請一個緩沖區(qū)——稱為提取輸入緩沖區(qū),從中讀取數據;提取結束后,將該緩沖區(qū)插入到空閑隊列。
(3)當CPU要輸出數據時,先從空閑隊列中(隊首)申請一個緩沖區(qū)——稱為收容輸出緩沖區(qū),將輸出數據寫入收容輸出緩沖區(qū)中;寫滿后,按一定規(guī)則(如FIFO)插入到輸出緩沖隊列中。(4)當設備要提取數據時,將從輸出緩沖隊列中(隊首)申請一個緩沖區(qū),從中讀取數據——稱為提取輸出緩沖區(qū);提取結束后,將該緩沖區(qū)插入到空閑隊列。上述收容輸入緩沖區(qū)、提取輸入緩沖區(qū)、收容輸出緩沖區(qū)和提取輸出緩沖區(qū)統(tǒng)稱為工作緩沖區(qū)。與它們對應的輸入、提取、輸出操作,由相應的過程實現(xiàn)。外部設備與主機的連接緩沖池工作時,將按如下算法進行:外部設備與主機3.4.2設備驅動程序每一臺外部設備的使用都要涉及DMA或中斷過程,并要借助一些特定的寄存器進行機器指令級的操作。但是,用戶都是通過一些應用程序,使用簡單的命令來使用外部設備的,不可能進行這樣一些低級的操作。另一方面,隨著計算機應用的深入和廣泛展開,計算機所使用的外部設備品種越來越多。即使同樣一種用途的設備,由于生產廠家不用,型號不同,其操作方法也會不同。操作系統(tǒng)只是設置了一些通用性的I/O操作和管理模塊,與設備的具體操作關系密切的程序,往往是設備制造廠家在研制設備的同時開發(fā)的。這種程序就稱為設備驅動程序。外部設備與主機的連接3.4.2設備驅動程序外部設備與主機的連接1.設備驅動程序的功能設備驅動程序進行的處理工作,對不同的設備有所不同,但基本任務是啟動指定設備,并且在啟動設備之前完成一系列準備工作。一般地說,設備驅動程序的工作過程如下所述。(1)將應用程序中的抽象要求轉換為具體要求設備是由設備控制器控制的。但是用戶與上層軟件的應用程序并不了解設備控制器的細節(jié),而只能給它提出抽象要求——命令。而設備控制器又不能理解這些抽象要求。于是,驅動程序就肩負了中間轉換作用,要將抽象要求轉換為具體要求,確定將命令、數據和參數分別送到設備控制器的哪個寄存器。外部設備與主機的連接1.設備驅動程序的功能外部設備與主機的連接(2)對I/O請求進行合法性檢查檢查用戶要求是否能為設備接受,是否屬于設備的功能范圍。(3)讀出并檢查設備狀態(tài)啟動設備控制器的條件是設備就緒,如對打印機要檢查:電源是否合上、是否有紙等;對軟盤驅動器要檢查:有無磁盤、有無寫保護等。(4)傳送必要的參數如要提供本次傳送的字節(jié)數等。(5)設置工作方式例如對于異步串行通信接口要設置:傳輸速率、奇偶檢驗方式、停止位寬度及數據長度等。(6)啟動I/O設備完成上述工作后,即可向設備控制器發(fā)出啟動命令。外部設備與主機的連接(2)對I/O請求進行合法性檢查外部設備與主機的連2.設備驅動程序的結構一般說來,設備驅動程序應包含如下5部分:(1)設備標題(deviceheader);(2)數據存儲和局部過程(datastorage&localprocedure);(3)策略過程(strategyprocedure);(4)中斷過程(interruptprocedure);(5)命令處理子程序(commandprocessing)。外部設備與主機的連接2.設備驅動程序的結構外部設備與主機的連接3.設備驅動程序在I/O系統(tǒng)中的位置下圖給出了I/O系統(tǒng)的一般結構。自底向上,它由硬件、中斷處理程序、設備驅動程序、與設備無關的系統(tǒng)軟件以及用戶空間軟件等5個層次組成。圖中的箭頭給出了I/O部分的控制流。與設備無關的系統(tǒng)軟件的主要作用是在用戶應用程序和與設備相關的程序之間提供一個統(tǒng)一的接口。它的具體作用如下所述。用戶空間軟件與設備無關的系統(tǒng)軟件設備驅動順序中斷處理程序硬件I/O請求I/O回答外部設備與主機的連接3.設備驅動程序在I/O系統(tǒng)中的位置用戶空間(1)名字映射通常,在操作系統(tǒng)的I/O用戶中對輸入輸出設備和文件采取了統(tǒng)一的命名。與設備無關的系統(tǒng)軟件的一個作用就是將一個名字映射到相應的設備驅動程序上。(2)設備保護防止無授權的訪問或授權用戶的非法操作。在UNIX中采用權限模式,對于系統(tǒng)中的I/O設備提供“rwx”位進行保護。(3)緩沖并提供與設備無關的邏輯塊無論塊設備還是字符設備,一般都要使用緩沖區(qū)。對于塊設備,每當緩沖區(qū)滿,就就進行一次讀寫操作;但最后一次傳送,緩沖區(qū)不一定恰好滿,這時要全部“推”出緩沖區(qū)。對于字符設備,每傳送一個字符,進行一次讀寫操作。在各種輸入輸出設備中,緩沖存儲器的大小、讀寫速度和傳輸速率各不相同。與設備無關的系統(tǒng)軟件要對高層屏蔽各種I/O設備空間的大小、處理速度和傳輸速率,向上層提供大小統(tǒng)一的邏輯塊尺寸。外部設備與主機的連接(1)名字映射外部設備與主機的連接(4)存儲設備的塊分配對于寫磁盤操作,操作系統(tǒng)要為其分配新的存儲塊。為此,要為每個磁盤設置一張空閑塊表或位圖。其算法是與設備無關的。(5)獨占設備的分配和釋放獨占設備只有空閑時,才能接受一個應用請求,才能被打開;使用完畢,必須釋放、關閉,以備下一個進程使用。(6)協(xié)助出錯處理一般說來,出錯處理是設備驅動程序的工作,因為大多數錯誤與設備密切相關。但是,也有一些錯誤不一定由輸入輸出設備的錯誤造成。如:磁盤塊不能讀時,驅動程序將嘗試重讀;重讀若干次后,還不能排除,設備驅動程序就要通知與設備無關軟件,給出錯誤信息報告給調用者。外部設備與主機的連接(4)存儲設備的塊分配外部設備與主機的連接用戶空間的I/O軟件直接反映用戶的抽象I/O需求,多數通過I/O系統(tǒng)調用,由庫函數以及內核之外運行的程序實現(xiàn)。在C語言程序中,庫函數的作用是把系統(tǒng)調用的參數放到合適的位置,由其他I/O過程實現(xiàn)真正的操作。在多道程序設計系統(tǒng)中,也可以采用SPOOL系統(tǒng)實現(xiàn)對獨占設備的用戶層I/O軟件處理。外部設備與主機的連接用戶空間的I/O軟件直接反映用戶的抽象I/O3.4.3I/O設備分配在現(xiàn)代多任務系統(tǒng)中,并不是每一個應用都能在其需要的時候就一定能申請到所需要的設備資源。因此,設備管理的一項重要內容是設備的分配,即每個應用需要設備服務時,首先要向設備管理程序提出資源申請;設備管理程序則按一定的算法為這些申請分配設備資源。如果申請的應用得不到資源,就被放到資源等待隊列中等待,直到所需的資源被釋放。總的來說,設備分配方式有兩種方式:靜態(tài)方式和動態(tài)方式。靜態(tài)方式是在用戶作業(yè)開始之前,系統(tǒng)一次性地將該作業(yè)所需的設備、控制器和通道分配都分配給它,直到該作業(yè)退出。這種方法不會產生死鎖,但設備的使用效率低。動態(tài)分配是在作業(yè)進行過程中動態(tài)地按需分配,及時收回。它有利于提高設備的利用率,但如果分配不當,會出現(xiàn)死鎖。具體的分配方式,還要考慮設備固有的屬性——設備特性。按照設備特性,設備可以分為獨占、共享和虛擬設備。外部設備與主機的連接3.4.3I/O設備分配外部設備與主機的連接1.獨占設備的分配——虛擬設備技術獨占設備是每次只能分配給一個應用的設備。由于系統(tǒng)中同一類的獨占設備是有限的,因而由于不能滿足多個應用的爭用,會引起大量應用的等待,成為系統(tǒng)的“瓶頸”;另一方面,申請到獨占設備的應用卻利用率極低,設備還往往處于空閑狀態(tài)。解決這一矛盾的辦法是虛擬設備技術,或稱SPOOL(SimultaneousPeripheralOperationOn-Line,假脫機操作)技術。下面介紹假脫機技術的基本原理。外部設備與主機的連接1.獨占設備的分配——虛擬設備技術外部設備(1)脫機、聯(lián)機和假脫機字符設備與主機(具體地講是設備與內存)的信息交換有兩種基本方式:脫機方式和聯(lián)機方式。聯(lián)機信息交換方式就是一般字符設備直接與內存交換信息。這種方式就是前面介紹的獨享設備的工作方式,也具有獨享設備的不足。脫機信息交換方式的字符設備一般要以一個塊設備為中間過渡。以輸入為例,先用一臺外圍機將字符輸入設備上
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026山東威海市復退軍人康寧醫(yī)院招聘4人考試參考題庫及答案解析
- 2026江西吉安市吉水縣城控人力資源服務有限公司招聘勞務外包人員1人(二)筆試備考試題及答案解析
- 2026年甘肅省蘭州市城關區(qū)南河幼兒園招聘幼兒教師筆試備考試題及答案解析
- 2026云南文山州財信人力資源有限公司招聘4人筆試備考題庫及答案解析
- 2026浙江溫州市樂清市龍西鄉(xiāng)衛(wèi)生院招聘2人考試參考題庫及答案解析
- 2026鐵道黨校招聘普通高校畢業(yè)生5人筆試模擬試題及答案解析
- 2026重慶忠縣疾病預防控制中心招聘專業(yè)車輛駕駛員1人考試備考試題及答案解析
- 2026上半年云南事業(yè)單位聯(lián)考紅河州招聘1570人考試參考題庫及答案解析
- 2026年工程地質災害的空間分布特征
- 2026年區(qū)域發(fā)展戰(zhàn)略對房地產市場的影響
- 戶口未婚改已婚委托書
- 家具制造廠家授權委托書
- 光化學和光催化反應的應用
- VDA6.3-2016過程審核主要證據清單
- 辦公耗材采購 投標方案(技術方案)
- 2020公務船技術規(guī)則
- 三片罐空罐檢驗作業(yè)指導書
- 四川峨勝水泥集團股份有限公司環(huán)保搬遷3000td熟料新型干法大壩水泥生產線環(huán)境影響評價報告書
- 管道焊接工藝和熱處理課件
- 2023深圳工務署品牌名單
- 二年級下冊課文快樂讀書吧-神筆馬良
評論
0/150
提交評論