操作系統(tǒng)第十二章._第1頁
操作系統(tǒng)第十二章._第2頁
操作系統(tǒng)第十二章._第3頁
操作系統(tǒng)第十二章._第4頁
操作系統(tǒng)第十二章._第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、I/O設(shè)備的多樣性設(shè)備的多樣性O(shè)s管理和控制管理和控制 I/O操作和操作和I/O設(shè)備。設(shè)備。u外設(shè)管理目的外設(shè)管理目的u提高效率:提高效率:提高提高I/OI/O訪問效率,匹配訪問效率,匹配CPUCPU和多種不同和多種不同處理速度的外設(shè)處理速度的外設(shè)u方便使用:方便使用:方便用戶使用,對不同類型的設(shè)備統(tǒng)一方便用戶使用,對不同類型的設(shè)備統(tǒng)一使用方法,協(xié)調(diào)對設(shè)備的并發(fā)使用使用方法,協(xié)調(diào)對設(shè)備的并發(fā)使用u方便控制:方便控制:方便方便OSOS內(nèi)部對設(shè)備的控制:增加和刪除內(nèi)部對設(shè)備的控制:增加和刪除設(shè)備,適應(yīng)新的設(shè)備類型設(shè)備,適應(yīng)新的設(shè)備類型u外設(shè)管理功能外設(shè)管理功能u提供設(shè)備使用的用戶接口提供設(shè)備使用的

2、用戶接口:命令接口和編程接口:命令接口和編程接口u設(shè)備分配和釋放:設(shè)備分配和釋放:使用設(shè)備前,需要分配設(shè)備和相使用設(shè)備前,需要分配設(shè)備和相應(yīng)的通道、控制器。應(yīng)的通道、控制器。u設(shè)備的訪問和控制:設(shè)備的訪問和控制:包括并發(fā)訪問和差錯處理(虛包括并發(fā)訪問和差錯處理(虛擬設(shè)備)。擬設(shè)備)。uI/OI/O緩沖和調(diào)度:緩沖和調(diào)度:目標(biāo)是提高目標(biāo)是提高I/OI/O訪問效率訪問效率u按交互對象分類按交互對象分類u人機交互設(shè)備:人機交互設(shè)備:視頻顯示設(shè)備、鍵盤、鼠標(biāo)、打印機視頻顯示設(shè)備、鍵盤、鼠標(biāo)、打印機u與計算機或其他與計算機或其他電子設(shè)備交互電子設(shè)備交互的設(shè)備:磁盤、磁帶、傳感器、的設(shè)備:磁盤、磁帶、傳感

3、器、控制器控制器u計算機間的計算機間的通信設(shè)備通信設(shè)備:網(wǎng)卡、調(diào)制解調(diào)器:網(wǎng)卡、調(diào)制解調(diào)器u 按交互方向分類按交互方向分類u 輸入輸入(可讀):鍵盤、掃描儀(可讀):鍵盤、掃描儀u 輸出輸出(可寫):顯示設(shè)備、打印機(可寫):顯示設(shè)備、打印機u 輸入輸入/輸出輸出(可讀寫):磁盤、網(wǎng)卡(可讀寫):磁盤、網(wǎng)卡u 按外設(shè)特性分類按外設(shè)特性分類u使用特征:使用特征:存儲、輸入存儲、輸入/ /輸出、終端輸出、終端u 數(shù)據(jù)傳輸率:數(shù)據(jù)傳輸率:低速低速( (如鍵盤如鍵盤) )、中速、中速( (如打印機如打印機) )、高速、高速( (如網(wǎng)卡如網(wǎng)卡、磁盤、磁盤) )u信息組織特征:信息組織特征:單個字符或數(shù)據(jù)

4、塊單個字符或數(shù)據(jù)塊u字符設(shè)備字符設(shè)備( (如打印機如打印機) ):通常的輸入輸出型設(shè)備,:通常的輸入輸出型設(shè)備,以字符為單以字符為單位存儲、傳輸信息;不可尋址位存儲、傳輸信息;不可尋址u塊設(shè)備塊設(shè)備( (如磁盤如磁盤) ):以數(shù)據(jù)塊為單位存儲、傳輸信息??蓪ぶ芬詳?shù)據(jù)塊為單位存儲、傳輸信息??蓪ぶ穟按資源分配角度分類按資源分配角度分類u獨占設(shè)備獨占設(shè)備u在一段時間內(nèi)只能有一個進程使用的設(shè)備,一般為低速在一段時間內(nèi)只能有一個進程使用的設(shè)備,一般為低速I/OI/O設(shè)備。如打印機,磁帶等。設(shè)備。如打印機,磁帶等。u共享設(shè)備共享設(shè)備u在一段時間內(nèi)可有多個進程共同使用的設(shè)備,多個進程在一段時間內(nèi)可有多個進

5、程共同使用的設(shè)備,多個進程以交叉的方式來使用設(shè)備,其資源利用率高。如硬盤以交叉的方式來使用設(shè)備,其資源利用率高。如硬盤u虛擬設(shè)備虛擬設(shè)備u在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占在一類設(shè)備上模擬另一類設(shè)備,常用共享設(shè)備模擬獨占設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備,用高速設(shè)備模擬低速設(shè)備,被模擬的設(shè)備稱為虛設(shè)備(實例:設(shè)備(實例:SPOOLingSPOOLing技術(shù))技術(shù))u 從程序使用角度分從程序使用角度分u 邏輯設(shè)備邏輯設(shè)備: : 用戶程序中使用的設(shè)備用戶程序中使用的設(shè)備u 物理設(shè)備:物理設(shè)備:實際完成實際完成I/OI/O操作的設(shè)備操作的設(shè)備u程序控制程序控制I/O(

6、輪詢):輪詢):CPU代表進程給代表進程給I/O模塊發(fā)送一模塊發(fā)送一個命令,個命令,CPU進入忙等待(輸入輸出完全由進入忙等待(輸入輸出完全由CPU控制)控制)u中斷驅(qū)動中斷驅(qū)動I/O: CPU代表進程給代表進程給I/O模塊發(fā)送一個命令,模塊發(fā)送一個命令,然后然后CPU繼續(xù)執(zhí)行后續(xù)指令繼續(xù)執(zhí)行后續(xù)指令; 當(dāng)當(dāng)I/O模塊完成后,模塊完成后,CPU被被該模塊(該模塊(CPU和和I/O設(shè)備可以共同工作)中斷。設(shè)備可以共同工作)中斷。u直接存儲器存取直接存儲器存取(DMA):CPU給給DMA模塊發(fā)請求,只模塊發(fā)請求,只有當(dāng)有當(dāng)DMA將整個數(shù)據(jù)塊傳送結(jié)束后,將整個數(shù)據(jù)塊傳送結(jié)束后,CPU才被中斷(才被中

7、斷(數(shù)據(jù)在內(nèi)存和外設(shè)之間傳輸時不需要數(shù)據(jù)在內(nèi)存和外設(shè)之間傳輸時不需要CPU干預(yù))。干預(yù))。u設(shè)備絕對號:設(shè)備絕對號:計算機系統(tǒng)為每一臺設(shè)備確定的編號計算機系統(tǒng)為每一臺設(shè)備確定的編號,用來區(qū)分和識別設(shè)備;,用來區(qū)分和識別設(shè)備;u用戶在編寫程序時不能通過設(shè)備的絕對編號來使用戶在編寫程序時不能通過設(shè)備的絕對編號來使用設(shè)備用設(shè)備u設(shè)備類型號:設(shè)備類型號:操作系統(tǒng)為每類設(shè)備規(guī)定的一個編號操作系統(tǒng)為每類設(shè)備規(guī)定的一個編號u設(shè)備相對號:設(shè)備相對號:用戶自己規(guī)定的所用的同類設(shè)備中的用戶自己規(guī)定的所用的同類設(shè)備中的第幾臺。第幾臺。u如如Unix中,中,rfd0和和rfd1分別表示第分別表示第1個和第個和第2個軟

8、個軟盤驅(qū)動器;盤驅(qū)動器;u設(shè)備的指定方式設(shè)備的指定方式u設(shè)備絕對號設(shè)備絕對號u設(shè)備類型號設(shè)備類型號+設(shè)備相對號設(shè)備相對號u用戶程序中提出使用設(shè)備的申請時,使用系統(tǒng)用戶程序中提出使用設(shè)備的申請時,使用系統(tǒng)規(guī)定的設(shè)備類型號和用戶自己規(guī)定的設(shè)備相對規(guī)定的設(shè)備類型號和用戶自己規(guī)定的設(shè)備相對號,由操作系統(tǒng)進行地址轉(zhuǎn)換,變成系統(tǒng)中的號,由操作系統(tǒng)進行地址轉(zhuǎn)換,變成系統(tǒng)中的設(shè)備絕對號;設(shè)備絕對號;uI/OI/O軟件的設(shè)計目標(biāo):軟件的設(shè)計目標(biāo):u效率:效率:大多數(shù)大多數(shù)I/O設(shè)備慢,設(shè)備慢,I/OI/O操作一般是系統(tǒng)瓶頸,很大程操作一般是系統(tǒng)瓶頸,很大程度上影響系統(tǒng)的性能和吞吐量。因此要改善度上影響系統(tǒng)的性能

9、和吞吐量。因此要改善I/OI/O的有效性,的有效性,采用多道程序設(shè)計、交換。目前比較關(guān)注磁盤采用多道程序設(shè)計、交換。目前比較關(guān)注磁盤I/O。u通用性:通用性:設(shè)備種類、特點和性能千差萬別;要求能夠以一種設(shè)備種類、特點和性能千差萬別;要求能夠以一種一致的方式來管理所有設(shè)備一致的外部接口,一致的方式來管理所有設(shè)備一致的外部接口,很難做到通很難做到通用,但希望能夠用統(tǒng)一的方法處理所有設(shè)備,用,但希望能夠用統(tǒng)一的方法處理所有設(shè)備,用一種層次化用一種層次化的,模塊化的方法設(shè)計的,模塊化的方法設(shè)計I/O功能。功能。u能夠在能夠在低層低層例程中隱藏大部分設(shè)備例程中隱藏大部分設(shè)備I/O的細節(jié),的細節(jié),u使得用

10、戶進程和使得用戶進程和OS高層高層可以通過一些通用的功能,如讀可以通過一些通用的功能,如讀、寫、打開、關(guān)閉等查看、寫、打開、關(guān)閉等查看I/O設(shè)備。設(shè)備。u設(shè)備獨立性。設(shè)備獨立性。用戶在編寫使用軟盤或硬盤上文件的程序用戶在編寫使用軟盤或硬盤上文件的程序時,無需為不同的設(shè)備類型而修改程序就可以使用時,無需為不同的設(shè)備類型而修改程序就可以使用u統(tǒng)一命名。統(tǒng)一命名。一個文件或一個設(shè)備的名字只應(yīng)是一個簡單一個文件或一個設(shè)備的名字只應(yīng)是一個簡單的字符串或一個整數(shù),不應(yīng)依賴于設(shè)備的字符串或一個整數(shù),不應(yīng)依賴于設(shè)備u如果用戶程序中直接使用真實的物理設(shè)備,那么如果用戶程序中直接使用真實的物理設(shè)備,那么會出現(xiàn)這樣

11、的問題:用戶指定的設(shè)備因故障不能會出現(xiàn)這樣的問題:用戶指定的設(shè)備因故障不能使用,或者該設(shè)備正忙于為其他進程服務(wù),只有使用,或者該設(shè)備正忙于為其他進程服務(wù),只有等待或者修改程序,重新指定設(shè)備。等待或者修改程序,重新指定設(shè)備。u為了實現(xiàn)用戶程序與物理設(shè)備的無關(guān)性,在用戶為了實現(xiàn)用戶程序與物理設(shè)備的無關(guān)性,在用戶程序中不要直接使用物理設(shè)備名(或者設(shè)備的物程序中不要直接使用物理設(shè)備名(或者設(shè)備的物理地址),而只能使用邏輯設(shè)備名。邏輯設(shè)備是理地址),而只能使用邏輯設(shè)備名。邏輯設(shè)備是實際物理設(shè)備的抽象,它不限于某類具體設(shè)備。實際物理設(shè)備的抽象,它不限于某類具體設(shè)備。邏輯設(shè)備究竟和哪一個具體的物理設(shè)備相對應(yīng)

12、,邏輯設(shè)備究竟和哪一個具體的物理設(shè)備相對應(yīng),還要由系統(tǒng)根據(jù)當(dāng)時的設(shè)備忙、閑情況來決定或還要由系統(tǒng)根據(jù)當(dāng)時的設(shè)備忙、閑情況來決定或者由系統(tǒng)管理員指定。者由系統(tǒng)管理員指定。u I IO O軟件的基本思想是軟件的基本思想是按分層的思想構(gòu)成按分層的思想構(gòu)成: :u較低層軟件要使較高層軟件獨立于硬件的特較低層軟件要使較高層軟件獨立于硬件的特性,性,u較高層軟件則要向用戶提供一個友好的、清較高層軟件則要向用戶提供一個友好的、清晰的、簡單的、功能更強的接口晰的、簡單的、功能更強的接口User ProcessLogical I/ODevice I/OScheduling & Control(Device Dr

13、iver)HardwareCommunications Architectureu邏輯邏輯I/OI/O:將設(shè)備當(dāng)作一個邏輯資源,不涉及實際的設(shè)備控將設(shè)備當(dāng)作一個邏輯資源,不涉及實際的設(shè)備控制的細節(jié)制的細節(jié): :u針對針對用戶接口,用戶接口,提供抽象的命令,如:提供抽象的命令,如:Open, Close, Open, Close, Read, Read, u針對針對通信設(shè)備,通信設(shè)備,則是通信體系結(jié)構(gòu)如網(wǎng)絡(luò)協(xié)議棧則是通信體系結(jié)構(gòu)如網(wǎng)絡(luò)協(xié)議棧;u針對針對文件存儲設(shè)備,文件存儲設(shè)備,是文件系統(tǒng)的邏輯結(jié)構(gòu)控制;是文件系統(tǒng)的邏輯結(jié)構(gòu)控制;u設(shè)備設(shè)備I/OI/O:邏輯設(shè)備與物理設(shè)備間的過渡協(xié)調(diào)機構(gòu)。邏輯設(shè)

14、備與物理設(shè)備間的過渡協(xié)調(diào)機構(gòu)。用戶命用戶命令到設(shè)備操作序列的令到設(shè)備操作序列的轉(zhuǎn)換。轉(zhuǎn)換。請求的操作和數(shù)據(jù)被轉(zhuǎn)換成適請求的操作和數(shù)據(jù)被轉(zhuǎn)換成適當(dāng)?shù)漠?dāng)?shù)腎/OI/O指令序列、通道命令和控制器指令。指令序列、通道命令和控制器指令??梢杂每梢杂肐/OI/O緩緩沖沖提高提高I/OI/O效率效率u調(diào)度和控制:調(diào)度和控制:是是I/OI/O模塊和設(shè)備模塊和設(shè)備硬件真正發(fā)生交互硬件真正發(fā)生交互的軟件層的軟件層,直接面對硬件設(shè)備的控制細節(jié)。直接面對硬件設(shè)備的控制細節(jié)。如如I/OI/O操作的排隊,設(shè)備操作的排隊,設(shè)備控制和狀態(tài)維護、中斷處理??刂坪蜖顟B(tài)維護、中斷處理。這部分通常體現(xiàn)為這部分通常體現(xiàn)為設(shè)備驅(qū)動設(shè)備驅(qū)

15、動程序;程序;進行進行I/O調(diào)用,格式調(diào)用,格式化化I/O; Spooling命名,保護,阻塞,命名,保護,阻塞,緩沖,分配緩沖,分配建立設(shè)備寄存器;建立設(shè)備寄存器;檢查狀態(tài)檢查狀態(tài)當(dāng)當(dāng)I/O結(jié)束時,喚醒結(jié)束時,喚醒驅(qū)動器驅(qū)動器執(zhí)行執(zhí)行I/O操作操作u用戶進程層用戶進程層執(zhí)行輸入輸出系統(tǒng)調(diào)用,對執(zhí)行輸入輸出系統(tǒng)調(diào)用,對I/OI/O數(shù)據(jù)進行數(shù)據(jù)進行格式化格式化u 獨立于設(shè)備的軟件獨立于設(shè)備的軟件實現(xiàn)設(shè)備的命名、設(shè)備的保護、實現(xiàn)設(shè)備的命名、設(shè)備的保護、成塊處理、緩沖技術(shù)和設(shè)備分配;成塊處理、緩沖技術(shù)和設(shè)備分配;( (邏輯邏輯I/O)I/O)u設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序設(shè)置設(shè)備寄存器、檢查設(shè)備的執(zhí)行狀

16、態(tài)設(shè)置設(shè)備寄存器、檢查設(shè)備的執(zhí)行狀態(tài)u中斷處理程序中斷處理程序負責(zé)負責(zé)I IO O完成時,喚醒設(shè)備驅(qū)動程序進完成時,喚醒設(shè)備驅(qū)動程序進程,進行中斷處理程,進行中斷處理u硬件層硬件層實現(xiàn)物理實現(xiàn)物理I IO O的操作的操作描述設(shè)備管理軟件的層次結(jié)構(gòu),并說明以下的工作各在I/0軟件層次的哪一層?u維護一個最近使用的塊的緩沖。維護一個最近使用的塊的緩沖。u為一個磁盤讀操作計算磁道、扇區(qū)、磁頭。為一個磁盤讀操作計算磁道、扇區(qū)、磁頭。u向設(shè)備寄存器寫命令。向設(shè)備寄存器寫命令。u設(shè)備保護設(shè)備保護u各類各類I/O庫函數(shù)庫函數(shù) u緩沖技術(shù)的緩沖技術(shù)的基本思想基本思想:在:在CPU和外設(shè)之間設(shè)置緩沖區(qū),用和外設(shè)

17、之間設(shè)置緩沖區(qū),用于暫存于暫存CPU與外設(shè)之間交換的數(shù)據(jù),從而緩和與外設(shè)之間交換的數(shù)據(jù),從而緩和CPU與外設(shè)與外設(shè)速度不匹配的矛盾。速度不匹配的矛盾。u緩沖區(qū)所在的位置:緩沖區(qū)所在的位置:內(nèi)存,控制器或外設(shè)(內(nèi)存,控制器或外設(shè)(多級緩沖機制多級緩沖機制)u硬件緩沖,硬件緩沖,如如I/O控制器控制器中的數(shù)據(jù)緩沖寄存器中的數(shù)據(jù)緩沖寄存器u軟件緩沖:軟件緩沖:在在內(nèi)存內(nèi)存畫出一個具有畫出一個具有n個單元的專用緩沖區(qū)。個單元的專用緩沖區(qū)。u根據(jù)方向:根據(jù)方向:分為輸入緩沖和輸出緩沖分為輸入緩沖和輸出緩沖u根據(jù)用途:根據(jù)用途:分為專用緩存(為一個設(shè)備獨占,如鍵盤緩存)和分為專用緩存(為一個設(shè)備獨占,如鍵

18、盤緩存)和公用緩存(為多個設(shè)備公用)公用緩存(為多個設(shè)備公用)緩沖區(qū)緩沖區(qū)CPU外設(shè)外設(shè)u無緩沖時問題分析:無緩沖時問題分析:設(shè)備直接向進程地址設(shè)備直接向進程地址空間傳送數(shù)據(jù)空間傳送數(shù)據(jù)(如用戶從磁帶中讀數(shù)據(jù)塊的如用戶從磁帶中讀數(shù)據(jù)塊的操作),則進程要么忙等待,要么阻塞。操作),則進程要么忙等待,要么阻塞。u如果用如果用忙等待方式,忙等待方式,則浪費大量則浪費大量CPU時間;時間;u如果是如果是阻塞方式阻塞方式,則進程阻塞在設(shè)備的,則進程阻塞在設(shè)備的I/O請求隊列中。這時,請求隊列中。這時,不能將進程全部換出,不能將進程全部換出,還可能出現(xiàn)單進程還可能出現(xiàn)單進程死鎖死鎖。(進程在等待。(進程在

19、等待I/O操操作結(jié)果之前被換出,等待作結(jié)果之前被換出,等待I/O事件,而事件,而I/O操作操作也被阻塞,等待該進程被換入。)也被阻塞,等待該進程被換入。)u緩沖技術(shù)緩沖技術(shù)的用途的用途u可以在發(fā)出請求之前就開始執(zhí)行輸入操作(預(yù)輸入)可以在發(fā)出請求之前就開始執(zhí)行輸入操作(預(yù)輸入),在發(fā)出請求一段時間后才開始執(zhí)行輸出操作(緩輸,在發(fā)出請求一段時間后才開始執(zhí)行輸出操作(緩輸出)。出)。u匹配匹配CPUCPU或用戶應(yīng)用進程與外設(shè)的不同處理或用戶應(yīng)用進程與外設(shè)的不同處理速度速度u減少對減少對CPUCPU的中斷次數(shù):的中斷次數(shù):u提高提高CPUCPU和和I/OI/O設(shè)備之間以及各個設(shè)備之間以及各個I/OI

20、/O設(shè)備之間的處理設(shè)備之間的處理并行性并行性。u多道程序環(huán)境中提高多道程序環(huán)境中提高OSOS效率和單個進程的工具(技術(shù)效率和單個進程的工具(技術(shù))之一。)之一。u單緩沖單緩沖(single buffer):當(dāng)一個用戶進程發(fā)出當(dāng)一個用戶進程發(fā)出I/O請求時請求時,OS給該操作分配一個位于主存中系統(tǒng)部分的緩沖區(qū)給該操作分配一個位于主存中系統(tǒng)部分的緩沖區(qū)。以面向塊的設(shè)備為例:輸入先傳送至系統(tǒng)緩沖區(qū),當(dāng)。以面向塊的設(shè)備為例:輸入先傳送至系統(tǒng)緩沖區(qū),當(dāng)傳送完成時,傳送完成時,進程將該塊移動到用戶空間進程將該塊移動到用戶空間,并立即請求,并立即請求另一塊另一塊預(yù)讀預(yù)讀(對于輸出,則稱為對于輸出,則稱為延遲

21、寫延遲寫)。u好處:好處:u用戶可以在下一塊數(shù)據(jù)正在讀入時,處理這塊數(shù)據(jù)用戶可以在下一塊數(shù)據(jù)正在讀入時,處理這塊數(shù)據(jù)(用戶用戶進程處理某個數(shù)據(jù)塊的同時,下一個數(shù)據(jù)塊正在讀入)進程處理某個數(shù)據(jù)塊的同時,下一個數(shù)據(jù)塊正在讀入)。由于輸入發(fā)生功能在系統(tǒng)存儲空間而不是用戶進程存。由于輸入發(fā)生功能在系統(tǒng)存儲空間而不是用戶進程存儲區(qū),因此儲區(qū),因此OS可以將該進程換出??梢詫⒃撨M程換出。u增加了增加了OS的邏輯復(fù)雜度:的邏輯復(fù)雜度:OS必須直到用戶進程的緩沖必須直到用戶進程的緩沖區(qū)的分配情況,交換邏輯受到影響。區(qū)的分配情況,交換邏輯受到影響。u雙緩沖雙緩沖(double buffer):兩個緩沖區(qū),兩個緩

22、沖區(qū),CPU和外設(shè)都可以連續(xù)處理而無需等待對和外設(shè)都可以連續(xù)處理而無需等待對方。當(dāng)一個進程往一個緩沖區(qū)中寫數(shù)據(jù)時方。當(dāng)一個進程往一個緩沖區(qū)中寫數(shù)據(jù)時(取數(shù)據(jù))時,(取數(shù)據(jù))時,OS正在清空(填充)另一正在清空(填充)另一個緩沖區(qū)。個緩沖區(qū)。u循環(huán)緩沖循環(huán)緩沖(circular buffer):多個緩沖區(qū),多個緩沖區(qū),CPU和外設(shè)的處理速度可以相差較大,如和外設(shè)的處理速度可以相差較大,如這個進程突然快速執(zhí)行了大量的這個進程突然快速執(zhí)行了大量的I/O。由于外設(shè)資源的有限,需解決進程間的外設(shè)共享問由于外設(shè)資源的有限,需解決進程間的外設(shè)共享問題,以提高外設(shè)資源的利用率。設(shè)備分配是對進程題,以提高外設(shè)資

23、源的利用率。設(shè)備分配是對進程使用外設(shè)過程的管理。這里有兩種作法:使用外設(shè)過程的管理。這里有兩種作法:1)在進程間在進程間切換使用切換使用外設(shè),如鍵盤和鼠標(biāo);外設(shè),如鍵盤和鼠標(biāo);2)通過一個通過一個虛擬設(shè)備虛擬設(shè)備把外設(shè)與應(yīng)用進程隔開,只把外設(shè)與應(yīng)用進程隔開,只由虛擬設(shè)備來使用設(shè)備。由虛擬設(shè)備來使用設(shè)備。u系統(tǒng)設(shè)備表系統(tǒng)設(shè)備表(SDT, System Device Table):系統(tǒng)內(nèi)一系統(tǒng)內(nèi)一張,反映張,反映系統(tǒng)中設(shè)備資源的狀態(tài)系統(tǒng)中設(shè)備資源的狀態(tài),記錄所有設(shè)備的狀,記錄所有設(shè)備的狀態(tài)及其設(shè)備控制表的入口。態(tài)及其設(shè)備控制表的入口。u設(shè)備控制表設(shè)備控制表(DCT, Device Control

24、Table):每個設(shè)備每個設(shè)備一張,一張,描述設(shè)備特性和狀態(tài)描述設(shè)備特性和狀態(tài)。反映設(shè)備的特性、設(shè)備。反映設(shè)備的特性、設(shè)備和控制器的連接情況。和控制器的連接情況。u控制器控制表控制器控制表(COCT, COntroller Control Table):每每個設(shè)備控制器一張,描述個設(shè)備控制器一張,描述I/O控制器的配置和狀態(tài)控制器的配置和狀態(tài)。如。如DMA控制器所占用的中斷號、控制器所占用的中斷號、DMA數(shù)據(jù)通道的分配。數(shù)據(jù)通道的分配。u通道控制表通道控制表(CHCT, CHannel Control Table):每個通每個通道一張,描述通道工作狀態(tài)道一張,描述通道工作狀態(tài)。系統(tǒng)設(shè)備表系統(tǒng)設(shè)

25、備表表項1 表項i設(shè)備類型設(shè)備標(biāo)識獲得設(shè)備的進程號DCT指針設(shè)備控制表(設(shè)備控制表(DCT)設(shè)備類型設(shè)備標(biāo)識設(shè)備忙/閑標(biāo)記COCT指針設(shè)備等待隊列首指針設(shè)備等待隊列尾指針控制器控制表控制器控制表COCT控制器標(biāo)識控制器忙/閑標(biāo)記CHCT指針控制器等待隊列首指針控制器等待隊列尾指針通道控制表通道控制表CHCT通道標(biāo)識通道忙/閑標(biāo)記COCT指針通道等待隊列首指針通道等待隊列尾指針u 設(shè)備分配的原則設(shè)備分配的原則u合理使用外設(shè)合理使用外設(shè)(公平和避免死鎖公平和避免死鎖)u 提高設(shè)備利用率提高設(shè)備利用率u 應(yīng)用程序與設(shè)備無關(guān)應(yīng)用程序與設(shè)備無關(guān)u 與設(shè)備分配有關(guān)的與設(shè)備分配有關(guān)的設(shè)備屬性設(shè)備屬性:u獨享

26、設(shè)備:獨享設(shè)備:打印機等;打印機等;u共享設(shè)備:共享設(shè)備:磁盤、網(wǎng)卡等;磁盤、網(wǎng)卡等;u設(shè)備設(shè)備分配技術(shù)分配技術(shù):u獨占分配獨占分配:不會出現(xiàn)死鎖;但設(shè)備利用率不高;:不會出現(xiàn)死鎖;但設(shè)備利用率不高;u共享分配共享分配:利用率高,但控制復(fù)雜:利用率高,但控制復(fù)雜u虛擬分配虛擬分配:利用共享設(shè)備去實現(xiàn)獨占設(shè)備的功能利用共享設(shè)備去實現(xiàn)獨占設(shè)備的功能;有利于提高設(shè)備利用率;有利于提高設(shè)備利用率u先來先服務(wù)先來先服務(wù)(FCFS):按按I/O請求的先后順序,請求的先后順序,排成排成I/O請求命令隊列,隊首指向被請求設(shè)備請求命令隊列,隊首指向被請求設(shè)備的的DCT;按按FCFS分配設(shè)備;分配設(shè)備;u基于優(yōu)先

27、級:基于優(yōu)先級:依據(jù)進程的優(yōu)先級,指定依據(jù)進程的優(yōu)先級,指定I/O請請求的優(yōu)先級,排成不同優(yōu)先級隊列;按優(yōu)先求的優(yōu)先級,排成不同優(yōu)先級隊列;按優(yōu)先級高低分配設(shè)備;級高低分配設(shè)備;u先回顧一下設(shè)備分類問題先回顧一下設(shè)備分類問題u按資源分配角度分類按資源分配角度分類u獨占設(shè)備獨占設(shè)備u在一段時間內(nèi)只能有一個進程使用的設(shè)備,在一段時間內(nèi)只能有一個進程使用的設(shè)備,一般為低速一般為低速I/OI/O設(shè)備。如打印機,磁帶等。因設(shè)備。如打印機,磁帶等。因數(shù)量有限,會成為系統(tǒng)中的數(shù)量有限,會成為系統(tǒng)中的“瓶頸瓶頸”資源,資源,使進程經(jīng)常處于阻塞狀態(tài);設(shè)備利用率比較使進程經(jīng)常處于阻塞狀態(tài);設(shè)備利用率比較低低u共享

28、設(shè)備共享設(shè)備u在一段時間內(nèi)可有多個進程共同使用的設(shè)備在一段時間內(nèi)可有多個進程共同使用的設(shè)備,多個進程以交叉的方式來使用設(shè)備,其資,多個進程以交叉的方式來使用設(shè)備,其資源利用率高(如硬盤)源利用率高(如硬盤)u虛擬設(shè)備技術(shù)虛擬設(shè)備技術(shù)u 多道程序系統(tǒng)中,進程對設(shè)備的需求頻繁,尤其是獨占多道程序系統(tǒng)中,進程對設(shè)備的需求頻繁,尤其是獨占設(shè)備數(shù)量有限、效率低,故引入虛擬設(shè)備管理技術(shù)。設(shè)備數(shù)量有限、效率低,故引入虛擬設(shè)備管理技術(shù)。u基本思想:用大容量的快速設(shè)備(磁盤)模擬慢速度基本思想:用大容量的快速設(shè)備(磁盤)模擬慢速度的獨占設(shè)備,把一臺物理上的獨占設(shè)備變?yōu)檫壿嬌系亩嗯_的獨占設(shè)備,把一臺物理上的獨占設(shè)

29、備變?yōu)檫壿嬌系亩嗯_共享設(shè)備。共享設(shè)備。u通過通過共享型設(shè)備來模擬獨占型設(shè)備的動作,共享型設(shè)備來模擬獨占型設(shè)備的動作,使獨占型使獨占型設(shè)備成為共享型設(shè)備,設(shè)備成為共享型設(shè)備,提高設(shè)備的利用率和系統(tǒng)的效提高設(shè)備的利用率和系統(tǒng)的效率。率。 u實例:實例:SPOOLing技術(shù)技術(shù)(Simultaneously Peripheral Operation On Line,外圍設(shè)備同時聯(lián)機操作外圍設(shè)備同時聯(lián)機操作),是用程是用程序模擬脫機序模擬脫機I/O的功能,故又稱為假脫機技術(shù)。的功能,故又稱為假脫機技術(shù)。輸入設(shè)備輸入設(shè)備輸出設(shè)備輸出設(shè)備虛擬設(shè)備虛擬設(shè)備虛擬設(shè)備虛擬設(shè)備虛擬設(shè)備虛擬設(shè)備輸入井輸入井輸出井輸

30、出井虛擬設(shè)備虛擬設(shè)備用戶進程用戶進程用戶進程用戶進程虛擬設(shè)備虛擬設(shè)備u作業(yè)執(zhí)行前用慢速設(shè)備將作業(yè)預(yù)先輸入到輸入井中,作業(yè)執(zhí)行前用慢速設(shè)備將作業(yè)預(yù)先輸入到輸入井中,稱為稱為預(yù)輸入預(yù)輸入(輸入井和輸出井是某輸入井和輸出井是某共享設(shè)備(磁盤)共享設(shè)備(磁盤)上的一部分存儲空間)。上的一部分存儲空間)。u作業(yè)運行后,使用數(shù)據(jù)時,從輸入井中取出作業(yè)運行后,使用數(shù)據(jù)時,從輸入井中取出u作業(yè)執(zhí)行不必直接啟動外設(shè)輸出數(shù)據(jù),只需將這些數(shù)作業(yè)執(zhí)行不必直接啟動外設(shè)輸出數(shù)據(jù),只需將這些數(shù)據(jù)寫入輸出井中據(jù)寫入輸出井中u作業(yè)全部運行完畢,再由外設(shè)輸出全部數(shù)據(jù)和信息,作業(yè)全部運行完畢,再由外設(shè)輸出全部數(shù)據(jù)和信息,稱為稱為緩輸出緩輸出u實現(xiàn)了對作業(yè)輸入、組織調(diào)度和輸出的統(tǒng)一管理使外實現(xiàn)了對作業(yè)輸入、組織調(diào)度和輸出的統(tǒng)一管理使外設(shè)在設(shè)在CPUCPU直接控制下,與直接控制下,與CPUCPU并行工作(稱為假脫機)并行工作(稱為假脫機)輸入裝置輸入裝置輸入裝置輸入裝置通通道道通通道道輸出裝置輸出裝置輸出裝置輸出裝置通通 道道 主機系統(tǒng)主機系統(tǒng)輸入管輸入管 輸出管輸出管理模塊理模塊 理模塊理模塊外外 設(shè)設(shè)輸入井輸入井 輸出井輸出井 u假設(shè)系統(tǒng)中全部打印機采用了假設(shè)系統(tǒng)中全部打印機采用了SpoolingSpooling技術(shù),當(dāng)技

溫馨提示

  • 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

提交評論