最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

操作系統(tǒng)7 IO管理

2018-11-09 23:09 作者:swiss126  | 我要投稿

七、IO管理

1.基本概念

■? I/O設(shè)備,又稱輸入輸出設(shè)備、外圍設(shè)備、外部設(shè)備、外設(shè)。用于計算機系統(tǒng)與外部世界(如用戶、其他計算機設(shè)備)信息交換或存儲。

■? I/O操作:內(nèi)存與外設(shè)間的信息傳遞操作。它影響計算機系統(tǒng)的通用性和可擴展性,影響計算機系統(tǒng)綜合處理能力及性價比的重要因素。

2.I/O管理目標(biāo)與功能

■? I/O管理目標(biāo):

(1)為用戶提供方便、統(tǒng)一的界面。

方便:為用戶屏蔽具體設(shè)備的復(fù)雜物理特性;

統(tǒng)一:對不同設(shè)備盡量使用統(tǒng)一的操作方式。

(2)提高資源的利用率。提高CPU和I/O設(shè)備之間、設(shè)備與設(shè)備之間的并行操作程度,以提高它們的利用率

■? I/O管理功能

(1)設(shè)備控制。由設(shè)備處理程序完成。

目前對I/O設(shè)備有四種控制方式:中斷技術(shù)、直接存儲器訪問(DMA)、通道技術(shù)和緩沖技術(shù)。

(2)設(shè)備的分配與回收。由設(shè)備的分配與回收程序完成。

(3)其他功能。

3.IO系統(tǒng)

由I/O設(shè)備及其接口線路、控制部件、通道和管理軟件組成。


?

總線型I/O系統(tǒng):

? ? ? ? ?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?


?

通道型I/O系統(tǒng):



?

■? I/O設(shè)備

按設(shè)備的從屬關(guān)系分類:系統(tǒng)設(shè)備、用戶設(shè)備

按設(shè)備共享屬性分類:獨占設(shè)備、共享設(shè)備、虛擬設(shè)備

按設(shè)備傳輸速率分類:低速設(shè)備、中速設(shè)備、高速設(shè)備

按設(shè)備信息交換單位分類:字符(字節(jié)流)設(shè)備、塊設(shè)備

按設(shè)備使用特性分類:人機交互類設(shè)備、存儲設(shè)備、網(wǎng)絡(luò)通信設(shè)備

■? 設(shè)備控制器:

????? 設(shè)備控制器是CPU和I/O設(shè)備之間的接口,它接收從CPU發(fā)來的指令,然后去控制I/O設(shè)備工作,使CPU不需要直接進行設(shè)備控制,從而可以更高效地工作。

功能:接收和識別命令、數(shù)據(jù)交換、獲取設(shè)備的狀態(tài)、地址識別

組成:與CPU的接口、I/O控制邏輯、與設(shè)備的接口

■? 通道:

????? 將原CPU處理的I/O任務(wù)由通道來承擔(dān),從而解放CPU。實際上,通道就是一種特殊的CPU,具有執(zhí)行I/O指令的能力。

通道種類:字節(jié)多路通道(Byte Multiplexor Channel) 、數(shù)據(jù)選擇通道(Block Selector Channel)、數(shù)據(jù)多路通道(Block Multiplexor Channel)

■? I/O接口


4.I/O控制方式


?

■? 程序直接控制方式

????? 也稱詢問方式。,計算機從外部設(shè)備讀取數(shù)據(jù)到存儲器,每次讀一個字節(jié)數(shù)據(jù)。對讀入的每個字,CPU需要對外設(shè)狀態(tài)進行循環(huán)檢查,直到確定該字已經(jīng)在I/O控制器的寄存器中。

缺點:CPU的高速與外設(shè)的低速之間的矛盾,導(dǎo)致CPU資源的浪費,效率低下。



?

■? 中斷控制方式

????? 當(dāng)某進程要啟動某個I/O設(shè)備工作時,便由CPU向相應(yīng)的設(shè)備控制器發(fā)出一條I/O命令,然后立即返回繼續(xù)執(zhí)行原來的任務(wù)。設(shè)備控制器于是按照該命令的要求去控制指定I/O設(shè)備。此時,CPU與I/O設(shè)備并行操作。



?

■? DMA控制方式,也稱直接存儲器訪問方式。

????? 雖然中斷驅(qū)動I/O比程序I/O方式更有效,但它仍是以字(節(jié))為單位進行I/O的。每當(dāng)完成一個字(節(jié))的I/O時,控制器便要向CPU請求一次中斷。I/O設(shè)備與內(nèi)存之間開辟直接的數(shù)據(jù)交換通路,徹底“解放”CPU

(1)DMA方式的特點是:

?? 數(shù)據(jù)傳輸?shù)幕締挝皇菙?shù)據(jù)塊

?? 所傳送的數(shù)據(jù)是從設(shè)備直接送入內(nèi)存的,或者相反

?? 僅在傳送一個或多個數(shù)據(jù)塊的開始和結(jié)束時,才需CPU干預(yù),整塊數(shù)據(jù)的傳送是在控制器的控制下完成的。DMA方式較之中斷驅(qū)動方式又進一步提高了CPU與I/O設(shè)備的并行操作程度。

(2)?DMA控制器的組成:

????? 主機與DMA控制器的接口、DMA控制器與塊設(shè)備的接口、I/O控制邏輯。

????? 為實現(xiàn)主機與控制器之間的成塊數(shù)據(jù)交換,必須在DMA控制器中設(shè)置以下四類寄存器:


?

CR:命令/狀態(tài)寄存器

DC:數(shù)據(jù)寄存器

MAR:內(nèi)存地址寄存器

DR:數(shù)據(jù)寄存器


DMA控制器的組成


?

(3)與中斷控制方式的區(qū)別:

?????? 中斷控制方式:在每個數(shù)據(jù)需要傳輸時中斷CPU,數(shù)據(jù)傳輸是在中斷處理時由CPU控制完成的。

?????? DMA控制方式:所要求傳送的一批數(shù)據(jù)全部傳送結(jié)束才中斷CPU,數(shù)據(jù)傳輸是在DMA控制下完成的。


?

■? 通道控制方式:CPU與通道高度并行工作

(1)CPU遇到I/O任務(wù),組織通道程序,置通道程序地址字CAW,啟動指定通道。

(2)通道從CAW獲得通道程序控制I/O設(shè)備操作,CPU執(zhí)行其他任務(wù)。

(3) I/O操作完成后,I/O通道發(fā)出中斷,CPU處理中斷,并從通道程序狀態(tài)字CSW獲得通道執(zhí)行情況,處理I/O操作。

5.緩沖區(qū)管理

■?? 緩沖區(qū)的作用:

(1) 緩和CPU與I/O設(shè)備間速度不匹配的矛盾。

(2) 減少對CPU的中斷頻率,放寬對CPU中斷響應(yīng)時間的限制。

(3) 解決數(shù)據(jù)粒度不匹配的問題。

(4) 提高CPU和I/O設(shè)備之間的并行性。

■?? 緩沖技術(shù):

常用的緩沖技術(shù)有四種:單緩沖、雙緩沖、循環(huán)緩沖和緩沖池。

(1)單緩沖:每當(dāng)用戶進程發(fā)出一次I/O請求時,操作系統(tǒng)便在主存中為之分配一塊緩沖區(qū)。單緩沖的處理時間:

????? 假設(shè)T>C,從初始狀態(tài)開始,當(dāng)工作區(qū)數(shù)據(jù)處理完后,時間為C,緩沖區(qū)還沒有沖滿,當(dāng)緩沖區(qū)充滿時,經(jīng)歷了T時間,停止沖入數(shù)據(jù);


?

然后緩沖區(qū)向工作區(qū)傳送數(shù)據(jù),當(dāng)緩沖區(qū)為空時,用時為M,到達(dá)了下一個開始狀態(tài),因此,整個過程用時T+M;假設(shè)T<C,同理,整個過程用時C+M。所以,單緩沖區(qū)的每次處理時間為MAX(T,C)+M。


?

(2)雙緩沖區(qū):

????? 雙緩沖的處理時間:假設(shè)T<C+M,整個過程用時C+M;假設(shè)T>C+M,整個過程用時T。所以,雙緩沖區(qū)的每次處理時間為MAX(T, C+M)。


?

(3)循環(huán)緩沖:



?

■?? 緩沖池

(1)緩沖池結(jié)構(gòu)

????? 緩沖池管理著多個緩沖區(qū),每個緩沖區(qū)由用于標(biāo)識和管理的緩沖首部以及用于存放數(shù)據(jù)的緩沖體兩部分組成。緩沖首部一般包括緩沖區(qū)號、設(shè)備號、設(shè)備上的數(shù)據(jù)塊號、同步信號量以及隊列鏈接指針等。為了管理上的方便,一般將緩沖池中具有相同類型的緩沖區(qū)鏈接成一個隊列,于是可形成以下三個隊列:空白緩沖隊列emq、 輸入隊列inq、輸出隊列outq。


?

????? 在緩沖池中還需要四種工作緩沖區(qū):收容輸入緩沖區(qū)(hin)、 提取輸入緩沖區(qū)(sin)、收容輸出緩沖區(qū)(hout)、提取輸出緩沖區(qū)(sout)。


?

(2)?管理:進程申請緩沖區(qū)使用過程,進程將緩沖區(qū)放入隊列過程

(3)緩沖區(qū)工作方式:收容輸入、收容輸出、提取輸入、提取輸出

6.設(shè)備驅(qū)動程序

????? 設(shè)備驅(qū)動程序是I/O系統(tǒng)的高層與設(shè)備控制器之間的通信程序,其主要任務(wù)是接收上層軟件發(fā)來的抽象I/O要求,如read或write命令,再把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行;反之,它也將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。由于驅(qū)動程序與硬件密切相關(guān),故通常應(yīng)為每一類設(shè)備配置一種驅(qū)動程序。例如,打印機和顯示器需要不同的驅(qū)動程序。

■?? 設(shè)備驅(qū)動程序模式:

(1) 設(shè)備驅(qū)動程序作為內(nèi)核過程實現(xiàn)。

(2) 把設(shè)備驅(qū)動程序作為獨立的進程來實現(xiàn)。

■?? 設(shè)備驅(qū)動程序的功能:

(1) 接收由與設(shè)備無關(guān)的軟件發(fā)來的命令和參數(shù),并將命令中的抽象要求轉(zhuǎn)換為與設(shè)備相關(guān)的低層操作序列。

(2) 檢查用戶I/O請求的合法性,了解I/O設(shè)備的工作狀態(tài),傳遞與I/O設(shè)備操作有關(guān)的參數(shù),設(shè)置設(shè)備的工作方式。

(3) 發(fā)出I/O命令,如果設(shè)備空閑,立即啟動I/O設(shè)備,完成指定I/O操作;如果設(shè)備忙碌,則將請求者的請求塊掛在設(shè)備隊列上等待。

?(4) 及時響應(yīng)由設(shè)備控制器發(fā)來的中斷請求,并根據(jù)其中斷類型,調(diào)用相應(yīng)的中斷處理程序進行處理。

■?? 設(shè)備驅(qū)動程序的特點:

(1) 驅(qū)動程序是實現(xiàn)在與設(shè)備無關(guān)的軟件和設(shè)備控制器之間通信和轉(zhuǎn)換的程序,具體說,它將抽象的I/O請求轉(zhuǎn)換成具體的I/O操作后傳送給控制器。又把控制器中所記錄的設(shè)備狀態(tài)和I/O操作完成情況,及時地反映給請求I/O的進程。

(2) 驅(qū)動程序與設(shè)備控制器以及I/O設(shè)備的硬件特性緊密相關(guān),對于不同類型的設(shè)備,應(yīng)配置不同的驅(qū)動程序。但可以為相同的多個終端設(shè)置一個終端驅(qū)動程序。

(3) 驅(qū)動程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān),常用的I/O控制方式是中斷驅(qū)動和DMA方式。

(4) 由于驅(qū)動程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言書寫。目前有很多驅(qū)動程序的基本部分已經(jīng)固化在ROM中。

(5) 驅(qū)動程序應(yīng)允許可重入。一個正在運行的驅(qū)動程序常會在一次調(diào)用完成前被再次調(diào)用。

■?? 設(shè)備驅(qū)動程序的處理過程:

????? 設(shè)備驅(qū)動程序的主要任務(wù)是啟動指定設(shè)備,完成上層指定的I/O工作。但在啟動之前,應(yīng)先完成必要的準(zhǔn)備工作,如檢測設(shè)備狀態(tài)是否為“忙”等。在完成所有的準(zhǔn)備工作后,才向設(shè)備控制器發(fā)送一條啟動命令。

7.設(shè)備分配:

????? 設(shè)備分配與回收是設(shè)備管理功能之一,當(dāng)進程向系統(tǒng)提出了I/O請求時,由設(shè)備分配程序負(fù)責(zé),按一定策略分配設(shè)備、控制器和通道,形成一條數(shù)據(jù)傳輸通路,以供主機和I/O設(shè)備之間進行信息交換,在I/O完成時,再由系統(tǒng)回收分配相應(yīng)的設(shè)備資源。

■?? 分配原則:

(1)提高設(shè)備利用率,并避免死鎖。

(2) 方便用戶使用設(shè)備。

■?? 分配方式:靜態(tài)分配(不符合原則)、動態(tài)分配(可能造成死鎖)

■?? 考慮因素:

(1)設(shè)備的固有屬性

設(shè)備的固有屬性可分成三種,對它們應(yīng)采取不同的分配策略:

獨占設(shè)備的分配策略、共享設(shè)備的分配策略、虛擬設(shè)備的分配策略。

虛擬設(shè)備屬于可共享的設(shè)備,可以將它同時分配給多個進程使用,需要引進Spooling技術(shù)。

(2)設(shè)備分配算法:先來先服務(wù)、優(yōu)先級高者優(yōu)先。
(3)設(shè)備分配中的安全性

■?? 設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu):


?

(1)設(shè)備控制表DCT:系統(tǒng)為每一個設(shè)備都配置了一張設(shè)備控制表,用于記錄設(shè)備的情況

(2)控制器控制表(COCT):系統(tǒng)為每一個控制器都設(shè)置了用于記錄控制器情況的控制器控制表


?

(3)通道控制表(CHCT):每個通道都有一張通道控制表

(4)系統(tǒng)設(shè)備表(SDT):這是系統(tǒng)范圍的數(shù)據(jù)結(jié)構(gòu),記錄了系統(tǒng)中全部設(shè)備的情況,每個設(shè)備占一個表目,其中包括有設(shè)備類型、設(shè)備標(biāo)識符、設(shè)備控制表及設(shè)備驅(qū)動程序的入口等


■?? I/O設(shè)備分配的基本流程

(1) 分配設(shè)備。根據(jù)I/O請求中的設(shè)備物理名查找系統(tǒng)設(shè)備表SDT,從中找出該設(shè)備的DCT,若DCT為空閑,則分配。

(2) 分配控制器。在DCT中查找與該設(shè)備鏈接的COCT,若控制器狀態(tài)為空閑,則分配給該進程。

(3) 分配通道。在COCT中查找與該控制器鏈接的CHCT,若通道狀態(tài)為空閑,則分配給該進程。

(4)若進程獲得設(shè)備、控制器和通道,啟動I/O設(shè)備進行數(shù)據(jù)傳輸。

■?? Spooling技術(shù)

????? 利用專門的外圍控制機,先將低速I/O設(shè)備上的數(shù)據(jù)傳送到高速磁盤上,或者相反。這樣當(dāng)處理機需要輸入數(shù)據(jù)時,便可以直接從磁盤中讀取數(shù)據(jù),極大地提高了輸入速度。反之,在處理機需要輸出數(shù)


?

據(jù)時,也可以很快的速度把數(shù)據(jù)


?

先輸出到磁盤上,處理機便可去做自己的事情。

(1)組成:輸入井和輸出井、輸入緩沖區(qū)和輸出緩沖區(qū)、輸入進程和輸出進程、井管理程序。



(2)特點:提高I/O速度、將獨占設(shè)備改造為共享設(shè)備、實現(xiàn)虛擬設(shè)備功能。


操作系統(tǒng)7 IO管理的評論 (共 條)

分享到微博請遵守國家法律
吴堡县| 武义县| 汝南县| 宜阳县| 洪泽县| 含山县| 益阳市| 南皮县| 峨山| 唐海县| 宜阳县| 兴业县| 阿勒泰市| 安阳市| 汾西县| 天峨县| 和平区| 桐庐县| 汉沽区| 阿拉尔市| 全椒县| 全南县| 江门市| 裕民县| 福泉市| 景东| 枣强县| 老河口市| 清远市| 通江县| 纳雍县| 华安县| 梧州市| 鸡泽县| 静安区| 西宁市| 青海省| 绥江县| 康乐县| 永新县| 孟津县|