操作系統教程_第1頁
操作系統教程_第2頁
操作系統教程_第3頁
操作系統教程_第4頁
操作系統教程_第5頁
已閱讀5頁,還剩90頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

操作系統

OperatingSystems

操作系統課程組南京郵電大學WINDOWSUNIXLINUXOS2VxWorksMacOS教材:《操作系統教程》,人民郵電出版社

,2009年出版第6章設設備管管理設備管理理是指操操作系統統對計算算機系統統中除CPU和和內存以以外的設設備的管管理。設備管理理的主要要任務是是完成用用戶提出出的輸入入輸出請請求,提提高輸入入輸出的的速率,,以及改改善輸入入輸出設設備的利利用率。。第6章設設備管管理設備管理理的主要要功能有有:緩沖沖區管理理、設備備分配、、設備處處理、虛虛擬設備備以及設設備的獨獨立性。。設備不但但種類繁繁多,而而且它們們的特性性和操作作方式相相差很大大,因此此,設備備管理是是操作系系統資源源管理中中最為復復雜、最最多樣化化,且與與硬件密密切相關關的部分分。第6章設設備管管理

6.1設設備備管理的的概念6.2I//O控制制方式6.3緩緩沖沖技術6.4驅驅動動調度技技術6.5設設備備分配6.6虛虛擬擬設備6.7Linux設備管管理6.1設設備備管理的的概念6.1..1設設備的的分類6.1..2設設備管管理的功功能和任任務6.1..1設設備的的分類1.按傳傳輸速率率分類(1)低低速設備備低速設備備是指每每秒傳輸輸幾B~~幾百B的一類類設備。。這類設設備中典典型的如如鍵盤、、鼠標器器、語音音的輸入入和輸出出等設備備。(2)中中速設備備中速設備備是指每每秒傳輸輸幾千B~數十十千B的的一類設設備。這這類設備備中典型型的如行行式打印印機、激激光打印印機等設設備。(3)高高速設備備高速設備備是指每每秒數傳傳輸幾百百KB~~數十MB的設設備。這這類設備備中典型型的如磁磁帶機、、磁盤機機、光盤盤機等。。2.按信信息交換換的單位位分類(1)塊塊設備塊設備用用于存儲儲信息。。由于信信息的存存取是以以數據塊塊為單位位,故稱稱塊設備備,它屬屬于有結結構設備備。塊設設備的基基本特征征是可尋尋址,可可隨機地地讀/寫寫任意一一塊;塊塊設備的的另一特特征是其其輸入//輸出((I/O)采用用DMA方式。。典型的的塊設備備是磁盤盤,每個個盤塊的的大小為為512B~4KB。。(2)字字符設備備字符設備備用于數數據傳輸輸的基本本單位是是字符,,它屬于于無結構構設備。。其基本本特征是是不可尋尋址,即即不能指指定輸入入時的源源地址及及輸出時時的目標標地址。。此外,,字符設設備在I/O時時常采用用中斷驅驅動方式式。字符符設備的的種類較較多,如如交互式式終端、、打印機機等。3.從資資源分配配角度分分類(1)獨獨占設備備獨占設備備是指在在一段時時間內只只允許一一個用戶戶(進程程)使用用的設備備。系統統一旦把把該設備備分配給給某進程程后,便便讓它獨獨占使用用,直至至用完釋釋放。應應當注意意,獨占占設備的的分配可可能會引引起進程程死鎖。。(2)共共享設備備共享設備備是指在在一段時時間內允允許多個個進程同同時訪問問的設備備。典型型的共享享設備是是磁盤。。共享設設備不僅僅能獲得得良好的的設備利利用率,,而且是是實現文文件和數數據共享享的物質質基礎。。(3)虛虛擬設備備虛擬設備備是指通通過某種種技術將將一臺獨獨占設備備變換為為能供若若干個用用戶共享享的設備備,因此此可將它它同時分分配給多多個用戶戶,從而而提高設設備的利利用率。。6.1..2設設備管管理的功功能和任任務為此,設設備管理理通常應應具有以以下功能能。①提高高系統的的利用率率的關鍵鍵之一是是實現設設備的并并行性。。②為了了提高設設備的利利用率,,在進行行設備分分配時系系統通常常采用動動態分配配方式。。對于獨獨占設備備往往采采用虛擬擬技術將將其改造造為共享享設備,,從而對對該設備備可以進進行動態態分配,,也不會會導致死死鎖。③設備備的速率率相對CPU而而言要慢慢得多。。為了平平滑兩者者之間的的差異,,提高系系統的效效率,在在設備管管理中采采用多種種緩沖技技術。④設備備管理還還要方便便用戶的的使用。。設備管管理通過過屏蔽設設備的物物理特性性,從而而實現設設備的獨獨立性。。6.2I//O控制制方式6.2..1程程序直直接查詢詢控制方方式6.2..2中中斷方方式6.2..3DMA方式6.2..4通通道方方式I/O控控制方式式發展過過程中貫貫穿著這這樣的宗宗旨,即即盡量減減少主機機對外設設的干預預,把主主機從繁繁雜的I/O控控制中解解脫出來來,以便便有更多多的時間間進行輸輸出處理理。6.2..1程程序直直接查詢詢控制方方式程序直接接查詢方方式又稱稱程序直直接控制制方式或或者詢問問方式。。在這種種方式下下,用戶戶進程直直接控制制主機和和外圍設設備之間間的數據據傳輸。。用戶進進程與外外圍設備備讀取數數據時,,主機向向設備控控制器發發出讀指指令后進進入測試試等待狀狀態。在在等待時時間內,,主機重重復查詢詢外設的的準備狀狀態直至至外設準準備就緒緒。外設設就緒,,數據傳傳送開始始,主機機從設備備控制器器讀取一一個字,,再向內內存寫一一個字。。如果傳傳送還未未結束,,再次向向設備控控制器發發出讀指指令,直直到全部部數據傳傳輸完成成再返回回現行程程序執行行。程序查詢詢方式中中,一旦旦主機啟啟動外設設,便不不斷查詢詢外設的的準備情情況,終終止了原原程序的的執行,,浪費了了寶貴的的主機時時間;另另一方面面,外設設準備就就緒后,,主機參參與數據據的傳送送工作,,此時主主機也不不能執行行原程序序。可見見這種方方式中,,主機和和外設串串行工作作,使主主機不能能充分發發揮效率率。6.2..2中中斷方方式中斷機構構引入后后,外圍圍設備有有了反映映其狀態態的能力力,僅當當操作正正常或異異常結束束時才中中斷CPU。實實現了一一定程度度的并行行操作,,這叫中中斷方式式。中斷斷方式是是程序查查詢方式式的改進進。在主主機啟動動外設后后,不必必查詢外外設是否否就緒,,而是繼繼續執行行現行程程序,對對設備是是否就緒緒不加過過問。此此時主機機和外設設并行操操作。外外設準備備完畢,,將數據據傳送至至設備控控制器的的寄存器器后,外外設向主主機發出出中斷請請求,主主機從設設備控制制中將數數據讀入入內存指指定單元元。在中斷方方式中,,外設輸輸入每個個數據的的過程中中,無需需主機的的干預,,因而可可使得主主機與外外設并行行工作。。僅當輸輸完一個個數據時時,才需需要主機機花費時時間中斷斷處理。。中斷方方式在一一定程度度上提高高了主機機和外設設的并行行程度,,提高計計算機系系統資源源的利用用率。6.2..3DMA方式在DMA方式中中,內存存和外設設之間有有一條數數據通路路,在內內存和外外設之間間成塊傳傳送數據據過程中中,由DMA控控制器取取代主機機來控制制數據傳傳輸,直直接執行行到數傳傳輸完成成。該方方式的特特點是::①數據據傳輸的的基本單單位是數數據塊,,即在主主機與外外設之間間傳送一一個數據據塊;②傳送送的數據據直接從從外設到到內存,,或者相相反;③僅在在傳送一一個數據據塊或多多個數據據塊的開開始和結結束時才才需要主主機的干干預。DMA的的組成寄存器①命令令/狀態態寄存器器(CommandRegister,,CR))。用于于接收從從CPU發出來來的I//O命令令或有關關控制信信息,或或設備的的狀態。。②內存存地址寄寄存器((MemoryAddressRegister,,MAR)。在在輸入時時,它存存放把數數據從設設備傳送送到內存存的起始始目標地地址;在在輸出時時,它存存放由內內存到設設備的內內存源地地址。③數據據寄存器器(DataRegister,,DR))。用于于暫存從從設備到到內存,,或從內內存到設設備的數數據。圖6-4DMA方方式④數據據計數器器(DataCounter,DC)。。存放本本次CPU要讀讀寫的字字節數。。DMA的的工作過過程圖6-4DMA方方式6.2..4通通道方方式通道又稱稱輸入輸輸出處理理器,是是獨立于于CPU的專門門實現輸輸入輸出出工作的的處理機機。通道道直至控控制設備備和內存存之間進進行數據據傳送,,把CPU從瑣瑣碎的輸輸入輸出出操作中中解放出出來。通道是一一種特殊殊的處理理機。通通道與一一般處理理機的區區別主要要表現在在以下兩兩個方面面。①通道道指令單單一。通通道硬件件比較簡簡單,其其所能執執行的指指令主要要是與輸輸入輸出出操作有有關的指指令。②通道道沒有自自己的內內存。通通道所執執行的通通道程序序是放在在計算機機內存中中的,也也就是說說通道與與CPU共享系系統的內內存。通道按信信息交換換方式可可分為以以下三種種類型①字節節多路通通道②數組組選擇通通道③數組組多路通通道通道指令令和通道道程序通道方式式通過執執行通道道程序,,與設備備控制器器共同實實現對設設備進行行控制。。通道程程序由若若干的通通道命令令組成。。通道指令令通常由由以下信信息組成成。①命令令碼。命命令碼指指出通道道命令的的操作,,常見的的操作有有讀、寫寫、控制制、通道道轉移等等。②內存存地址。。用于標標明交換換數據在在內存中中存放的的位置。。③計數數。用于于表示本本條指令令所要交交換數據據的字節節數。④通道道程序結結束位。。用于表表示該指指令是否否是通道道程序的的最后一一條指令令。⑤記錄錄結束標標志位。。用于表表示本指指令與下下一通道道指令處處理的數數據是否否是同一一個記錄錄。6.3緩緩沖沖技術為了改善善CPU與外圍圍設備之之間速度度不匹配配的矛盾盾,減少少I/O對CPU的中中斷次數數和放寬寬對CPU中斷斷響應時時間的要要求,提提高CPU和I/O設設備的并并行性,,在操作作系統中中普遍采采用了緩緩沖技術術。緩沖技術術的基本本思想是是:當一一個進程程輸出數數據時,,先向系系統申請請一塊內內存作為為輸出緩緩沖區;;然后,,將輸出出數據高高速輸出出到緩沖沖區;不不斷把數數據填到到緩沖區區,直到到緩沖區區被裝滿滿為止;;此后,,進程可可以繼續續它的計計算,同同時,系系統將緩緩沖區內內容寫到到I/O設備上上。當一一個進程程執行讀讀操作輸輸入數據據時,過過程與此此類似。。6.3緩緩沖沖技術6.3..1單單緩沖沖6.3..2雙雙緩沖沖6.3..3循循環緩緩沖6.3..4緩緩沖池池6.3..1單單緩沖沖對于塊設設備而言言,假定定從磁盤盤把一塊塊數據輸輸入到緩緩沖的時時間為T,操作系系統將該該緩沖區區中的數數據傳送送到用戶戶區的時時間為M,而CPU對這這一塊數數據進行行計算的的時間為為C,如圖6-5所所示。如如果系統統不采用用緩沖技技術,數數據直接接從磁盤盤到用戶戶區,每每塊數據據的處理理時間為為T+C。如果采采用了單單緩沖技技術,每每塊數據據的處理理時間為為max(C,T)+M。通常來來說M要遠遠小小于C或者T,因此采采用緩沖沖技術,,輸入的的效率提提高了很很多。6.3..2雙雙緩沖沖為了加快快輸入輸輸出速度度和提高高設備利利用率,,又引入入了雙緩緩沖,也也稱為緩緩沖對換換。在雙緩沖沖時,系系統處理理一塊數數據的時時間可粗粗略地認認為是max((C,T),如果果C<T,可使塊塊設備連連續輸入入;如果果C>T,可使CPU不不必等待待設備輸輸入。圖6-6雙雙緩沖工工作示意意圖6.3..3循循環緩緩沖1.循環環緩沖的的組成①多個個緩沖區區。在循循環緩沖沖中包含含了多個個緩沖區區,每個個緩沖區區的大小小相同。。緩沖區區可分為為三種類類型:空空緩沖區區R;已已裝滿數數據的緩緩沖區G;計算算進程正正在使用用的緩沖沖區C。。②多個個指針。。對用于于輸入的的多緩沖沖,可設設置這樣樣三個指指針。Nextg指示示計算進進程下一一個可用用的緩沖沖區G;;Nexti指指示輸入入進程下下次可用用的空緩緩沖區R;Current指指示計算算進程正正在使用用的緩沖沖區C。。2.循環環緩沖的的使用①GetBuffer過程程。對于于計算進進程而言言,調用用GetBuffer過程,,通過Nextg獲得得要進行行計算的的緩沖區區,相應應地將該該緩沖區區改為C,將Current指向該該緩沖區區,Nextg指向下下一個G緩沖區區。對于于輸入進進程而言言,調用用GetBuffer過程,,通過Nexti獲取取可用的的緩沖區區,相應應地將該該緩沖區區改為C,將Current指向該該緩沖區區,Nexti指向下下一個R緩沖區區。②ReleaseBuffer過過程。當當計算進進程提取取完畢后后,當前前的緩沖沖區空出出來了,,調用Release過程,,將C改改為R。。類似輸輸入進程程輸入完完畢,調調用Release過過程,將將該緩沖沖區改為為G。3.進程程同步循環緩沖沖機制中中,指針針Nexti和和Nextg不不斷地順順時針運運行,這這樣可能能會出現現以下兩兩種情況況。①Nexti指針追追上Nextg指針。。意味著著輸入進進程輸入入數據的的速度大大于計算算進程處處理數據據的速度度,已把把全部可可用的空空緩沖裝裝滿,再再無緩沖沖區可用用。此時時,輸入入進程應應該阻塞塞,直到到有計算算進程計計算完畢畢,將某某個緩沖沖區釋放放,輸入入進程才才被喚醒醒。②Nextg指針追追上Nexti指針。。意味著著計算進進程處理理數據的的速度大大于輸入入進程輸輸入數據據的速度度,已把把所有輸輸入數據據的緩沖沖區處理理完畢,,再無有有數據的的緩沖區區供計算算進程使使用。此此時,計計算進程程應該阻阻塞,直直到有輸輸入進程程輸入數數據,將將某個緩緩沖區釋釋放,計計算進程程才被喚喚醒。6.3..4緩緩沖池池1.緩沖沖池的組組成緩沖池中中的緩沖沖區一般般包含三三種類型型的緩沖沖區:空空閑緩沖沖區、裝裝滿輸入入數據的的緩沖區區和裝滿滿輸出數數據的緩緩沖區。。為了管管理方便便,系統統將同一一類型的的緩沖區區連成一一個隊列列,形成成以下3個隊列列。①空閑閑緩沖區區隊列emq::由空閑緩緩沖區所所連成的的隊列。。其隊首首指針F(emq)和和隊尾指指針L((emq)分別別指向該該隊列的的首尾緩緩沖區。。②輸入入隊列inq::這是由裝裝滿輸入入數據的的緩沖區區所連成成的隊列列。其隊隊首指針針F(inq))和隊尾尾指針L(inq)分分別指向向該隊列列的首、、尾緩沖沖區。③輸出出隊列outq:這是由裝裝滿輸出出數據的的緩沖區區所連成成的隊列列。其隊隊首指針針F(outq)和隊隊尾指針針L(outq)分別別指向該該隊列的的首、尾尾緩沖區區。還應具有有4種工工作緩沖沖區。①用于于收容輸輸入數據據的工作作緩沖區區(hin)。。②用于于提取輸輸入數據據的工作作緩沖區區(sin)。。③用于于收容輸輸出數據據的工作作緩沖區區(hout))。④用于于提取輸輸出數據據的工作作緩沖區區(sout))。2.緩沖沖池管理理的基本本操作Getbuf過過程和Putbuf過過程緩沖池中中兩個基基本操作作。①Getbuf(type):用用于從type所指定定的隊列列的隊首首摘下一一個緩沖沖區。②Putbuf(type,number)::用于將將由參數數number所指示示的緩沖沖區掛在在type隊列列上。3.緩沖沖池的工工作方式式(1)收收容輸入入工作方方式(2)提提取輸入入工作方方式(3)收收容輸出出工作方方式(4)提提取輸出出工作方方式6.4驅驅動調調度技術術6.4..1磁磁盤的的物理結結構6.4..2磁磁盤調調度6.4..3提提高磁磁盤I//O速度度的一些些方法6.4..1磁磁盤的的物理結結構磁盤是一一種直接接存取存存儲設備備,又叫叫隨機存存取存儲儲設備。。它的每每個物理理有確定定的位置置和唯一一的地址址,存取取任何一一個物理理塊所需需的時間間幾乎不不依賴于于此信息息的位置置。每個盤面面有一個個讀寫磁磁頭,所所有的讀讀寫磁頭頭都固定定在唯一一的移動動臂上同同時移動動。在一一個盤面面上的讀讀寫磁頭頭的軌跡跡稱磁道道,在磁磁頭位置置下的所所有磁道道組成地地圓柱體體稱柱面面,一個個磁道又又可被劃劃分成一一個或多多個物理理塊。文件的信信息通常常不是記記錄在同同一盤面面的各個個磁道上上,而是是記錄在在同一柱柱面的不不同磁道道上,這這樣可使使移動臂臂的移動動次數減減少,縮縮短存取取信息的的時間。。為了訪問問磁盤上上的一個個物理記記錄,必必須給出出3個參參數:柱柱面號、、磁頭號號和塊號號。磁盤的訪訪問時間間(1)尋尋道時間間尋道時間間(Ts)是指指把磁臂臂(磁頭頭)移動動到指定定磁道上上所經歷歷的時間間。該時時間是啟啟動磁臂臂的時間間s與磁頭移移動n條磁道所所花費的的時間之之和,即即Ts=m×n+s其中,m是一常數數,與磁磁盤驅動動器的速速度有關關,對一一般磁盤盤,m=0.2;對高高速磁盤盤,m≤0.1,磁臂臂的啟動動時間約約為2ms。這這樣,對對一般的的溫盤,,其尋道道時間將將隨尋道道距離的的增加而而增大,,大體上上是5~~30ms。數據所經經歷的時時間。Tt的大小小與每次次所讀//寫的字字節數b和旋轉速速度有關關:(2)旋旋轉延遲遲時間旋轉延遲遲時間((Tτ)是指定定扇區移移動到磁磁頭下面面所經歷歷的時間間。對于于硬盤,,典型的的旋轉速速度大多多為5400r/min,每每轉需時時11..1ms,平平均旋轉轉延遲時時間Tτ為5.55ms;對于于軟盤,,其旋轉轉速度為為300r/min或或600r/min,,這樣,,平均Tτ為50~~100ms。。(3)傳傳輸時間間傳輸時間間(Tt)是指指把數據據從磁盤盤讀出或或向磁盤盤寫入可將訪問問時間Ta表示為為:6.4..2磁磁盤調調度磁盤是可可供多個個進程共共享的設設備,當當有多個個進程都都要求訪訪問磁盤盤時,應應采用一一種最佳佳的調度度算法,,以使各各進程對對磁盤的的平均訪訪問時間間最小。。由于在在磁盤訪訪問的時時間中,,主要是是尋道時時間,因因此,磁磁盤調度度的目標標,是使使磁盤的的平均尋尋道時間間最少。。目前常用用的磁盤盤調度算算法有::先來先先服務、、最短尋尋道時間間優先、、掃描算算法等。。1.先來來先服務務先來先服服務(First-Come,FirstServed,FCFS)是一一種最簡簡單的磁磁盤調度度算法。。它根據據進程請請求訪問問磁盤的的先后次次序進行行調度。。此算法法的優點點是公平平、簡單單,且每每個進程程的請求求都能依依次得到到處理,,不會出出現某一一進程的的請求長長期得不不到滿足足的情況況。但此此算法由由于未對對尋道進進行優化化,致使使平均尋尋道時間間可能較較長。如如圖6--10所所示給出出了有9個進程程先后提提出磁盤盤I/O請求時時,按FCFS算法進進行調度度的情況況。2.最短短尋道時時間優先先最短尋道道時間優優先(ShortestSeekTimeFirst,,SSTF)算算法考慮慮了各個個請求之之間的區區別,總總是先執執行查找找時間最最短的那那個磁盤盤請求。。從而,,較“先先來先服服務”算算法有較較好的尋尋道性能能。圖6-11所示給給出了按按SSTF算法法進行調調度時,,各進程程被調度度的次序序和每次次磁頭移移動的距距離,以以及9次次磁頭平平均移動動距離。。與先來來先服務務算法相相比,最最短尋道道時間優優先算法法節省了了幾乎一一半的移移臂時間間。但是是本算法法存在““饑餓””現象,,隨著源源源不斷斷靠近當當前磁頭頭位置讀讀寫請求求的到來來,使早早來的但但距離當當前磁頭頭位置遠遠的讀寫寫請求服服務被無無限期推推遲。3.掃描描算法掃描算法法(SCAN))是簡單單而實用用的一種種算法。。該算法法每次總總是選擇擇沿臂的的移動方方向最近近的那個個柱面。。如果沿沿這個方方向沒有有訪問的的請求時時,就改改變臂的的移動方方向,并并使移動動頻率極極小化,,然后,,處理所所遇到的的最近的的I/O請求,,這非常常類似于于電梯的的調度規規則。每每當要求求訪問磁磁盤時,,操作系系統查看看磁盤機機是否空空閑。如如果空閑閑就立即即移臂,,然后,,將當前前移動方方向和本本次停留留的位置置都登記記下來。。如果不不空,就就讓請求求者等待待并把它它要求訪訪問的位位置登記記下來,,按照既既定的調調度算法法對全體體等待者者進行尋尋查定序序,下次次按照優優化的次次序執行行。最短短尋道時時間優先先算法雖雖有較好好的尋道道性能,,但可能能會造成成進程““饑餓””狀態,,而掃描描算法克克服了這這一缺點點。掃描描算法偏偏愛那些些最接近近里面或或靠外的的請求,,對最近近掃描跨跨過去的的區域響響應會較較慢。如如圖6--12所所示給出出了按SCAN算法對對9個進進程進行行調度的的次序和和每次磁磁頭移動動的距離離。4.循環環掃描算算法掃描算法法雖能杜杜絕饑餓餓,但性性能尚待待改進,,在磁盤盤請求對對柱面的的分布是是均勻的的情況下下,當磁磁頭到頭頭并轉向向時,靠靠近磁頭頭一端的的請求特特少,有有許多請請求集中中分布在在遠離磁磁頭的一一端,而而這些請請求的等等待時間間會較長長。循環環掃描((CSCAN))算法能能克服這這個缺點點。這是是為適應應不斷有有大量柱柱面均勻勻分布的的存取請請求進入入系統的的情況而而設計的的一種掃掃描方式式。移動動臂總是是從0號號柱面至至最大號號柱面順順序掃描描,然后后,直接接返回0號柱面面重復進進行,歸歸途中不不再服務務,構成成了一個個循環,,這就減減少了處處理新來來請求的的最大延延遲。CSCAN算法法規定磁磁頭單向向移動。。如圖6-13所示給給出了CSCAN算法法對9個個進程進進行調度度的次序序及每次次磁頭移移動的距距離。5.分步步掃描((N-STEP-SCAN)在SSTF、SCAN及CSCAN幾種調調度算法法中,都都可能出出現磁臂臂停留在在某處不不動的情情況。例例如,有有一個或或幾個進進程對某某一磁道道有較高高的訪問問頻率,,即這個個(些))進程反反復請求求對某一一磁道的的I/O操作,,從而壟壟斷了整整個磁盤盤設備。。我們把把這一現現象稱為為“磁臂臂粘著””。N步SCAN算法法是將磁磁盤請求求隊列分分成若干干個長度度為N的子隊列列,磁盤盤調度將將按FCFS算算法依次次處理這這些子隊隊列。而而每處理理一個隊隊列時又又是按SCAN算法,,對一個個隊列處處理完后后,再處處理其他他隊列。。當正在處處理某子子隊列時時,如果果又出現現新的磁磁盤I//O請求求,便將將新請求求進程放放入其他他隊列,,這樣就就可避免免出現粘粘著現象象。當N值取得很很大時,,會使N步掃描法法的性能能接近于于SCAN算法法的性能能;當N=1時,,N步SCAN算法法便蛻化化為FCFS算算法。(2)FSCAN算法法FSCAN算法法實質上上是N步SCAN算法法的簡化化,即即FSCAN只只將磁盤盤請求隊隊列分成成兩個子子隊列。。一個是是由當前前所有請請求磁盤盤I/O的進程程形成的的隊列,,由磁盤盤調度按按SCAN算法法進行處處理。在在掃描期期間,將將新出現現的所有有請求磁磁盤I//O的進進程,放放入另另一個等等待處理理的請求求隊列。。這樣,,所有的的新請求求都將被被推遲到到下一次次掃描時時處理。。6.4..3提提高磁磁盤I//O速度度的一些些方法1.提前前讀可在讀當當前盤塊塊的同時時,提前前把下一一個盤塊塊數據也也讀入磁磁盤緩沖沖區。這這樣一來來,當下下次要讀讀盤塊中中的那些些數據時時,由于于已經提提前把它它們讀入入了緩沖沖區,便便可直接接使用數數據,而而不必再再啟動磁磁盤I//O,從從而,減減少了讀讀數據的的時間,,也就相相當于提提高了磁磁盤I//O速度度。“提提前讀””功能已已被許多多操作系系統廣泛泛采用。。2.延遲遲寫在執行寫寫操作時時,磁盤盤緩沖區區中的數數據本來來應該立立即寫回回磁盤,,但考慮慮到該緩緩沖區中中的數據據不久之之后再次次被輸出出進程或或其他進進程訪問問,因此此,并不不馬上把把緩沖區區中數據據寫盤,,而是把把它掛在在空閑緩緩沖區隊隊列的末末尾。隨隨著空閑閑緩沖區區的使用用,存有有輸出數數據的緩緩沖區也也不停地地向隊列列頭移動動,直至至移動到到空閑緩緩沖區隊隊列之首首。當再再有進程程申請緩緩沖區,,且分到到了該緩緩沖區時時,才把把其中的的數據寫寫到磁盤盤上,于于是這個個緩沖區區可作為為空閑緩緩沖區分分配了。。只要存存有輸出出數據的的緩沖區區還在隊隊列中,,任何訪訪問該數數據的進進程,可可直接從從中讀出出數據,,不必再再去訪問問磁盤。。這樣做做,可以以減少磁磁盤的I/O時時間,相相當于提提高了I/O速速度。3.虛擬擬盤虛擬盤是是指用內內存空間間去仿真真磁盤,,又叫RAM盤盤。該盤盤的設備備驅動程程序可以以接受所所有標準準的磁盤盤操作,,但這些些操作的的執行,,不是在在磁盤上上而是在在內存中中。操作作過程對對用戶是是透明的的,即用用戶并不不會發現現這與真真正的磁磁盤操作作有什么么不同,,而僅僅僅是更快快一些。。虛擬盤盤是易失失性存儲儲器,一一旦系統統或電源源發生故故障,或或重新啟啟動系統統時,原原來保存存在虛擬擬盤中的的數據會會丟失。。因此,,該盤常常用于存存放臨時時文件。。虛擬盤盤與磁盤盤高速緩緩存的主主要區別別在于::前者內內容完全全由用戶戶控制,,而后者者的內容容是由操操作系統統控制的的。6.5設設備分分配6.5..1設設備分分配中的的數據結結構6.5..2設設備分分配過程程6.5..3設設備分分配應考考慮的因因素6.5..4設設備獨獨立性6.5..1設設備分分配中的的數據結結構在進行設設備分配配時,通通常都需需要借助助于一些些表格,,在表格格中記錄錄了相應應設備或或設備控控制器的的狀態及及對設備備或設備備控制器器進行控控制所需需的信息息。在進進行設備備分配時時所需的的數據結結構有設設備控制制表、系系統設備備表、控控制器控控制表、、通道控控制表等等。1.設備備控制表表系統為每每一個I/O設設備都配配置了一一張用于于記錄本本設備情情況的設設備控制制表(DeviceControlTable,DCT))。DCT主要要包括以以下內容容。①設備備標識符符。②設備備類型。。③設備備隊列隊隊首指針針。④設備備狀態。。⑤與設設備連接接的控制制器表指指針。⑥重復復執行次次數。2.系統統設備表表整個系統統中有一一張系統統設備表表(SystemDeviceTable,,SDT),它它記錄已已被連接接到系統統中的所所有物理理設備的的情況,,并為每每個物理理設備設設一表目目項。SDT的的每個表表目項包包括的內內容如下下。①設備備類型和和設備標標識符。。②DCT指針針。該指指針指向向有關設設備的設設備控制制表。③正在在使用該該設備的的進程標標識。3.控制制器控制制表系統為每每一個控控制器都都配置了了一張記記錄本控控制器情情況的控控制器控控制表((COntrolerControlTable,,COCT)。。4.通道道控制表表每個通道道都有一一張通道道控制表表(CHannelControlTable,CHCT)。該該表只有有在通道道控制方方式的系系統中存存在。CHCT包括通通道標識識符、通通道忙//閑標識識、等待待獲得該該通道的的進程等等待隊列列的隊首首指針與與隊尾指指針等。。各種數據據結構的的關系6.5..2設設備分分配過程程(1)分分配設備備(2)分分配控制制器(3)分分配通道道6.5..3設設備分分配應考考慮的因因素系統在進進行設備備分配時時,應考考慮這樣樣幾個因因素:①設備的的固有屬屬性;②設備分分配算法法;③設備分分配的安安全性;;④設備獨獨立性。。1.設備備的固有有屬性①獨占占設備。。指定設備備在一段段時間內內,只允允許一個個進程獨獨占,即即“臨界界資源””。對獨獨占設備備采用獨獨享分配配策略,,即在將將一個設設備分配配給某進進程后,,便由其其一直獨獨占,直直至該進進程完成成或釋放放該設備備,系統統才能再再將該設設備分配配給其他他進程使使用。②共享享設備。。指允許多多個進程程同時共共享的設設備。對對于共享享設備,,可將它它同時分分配給多多個進程程使用,,但這些些進程設設備的訪訪問需進進行合理理的調度度。③虛擬擬設備。。可虛擬設設備是指指一臺物物理設備備在采用用虛擬技技術后,,可變成成多臺邏邏輯上的的所謂虛虛擬設備備。因此此虛擬設設備已屬屬可共享享設備,,可將它它分配給給多個進進程使用用,并對對這些進進程訪問問該設備備的先后后次序進進行控制制。2.設備備分配算算法(1)先先來先服服務當有多個個進程對對同一設設備提出出I/O請求時時,該算算法是根根據進程程對某設設備提出出請求的的先后次次序,將將這些進進程排成成一個設設備請求求隊列,,設備分分配程序序總是把把設備首首先分配配給隊首首進程。。(2)優優先級高高者優先先在進程調調度中的的這種策策略,是是優先權權高的進進程優先先獲得處處理機。。如果對對這種高高優先權權進程所所提出的的I/O請求也也賦予高高優先權權,顯然然有助于于這種進進程盡快快完成。。在利用用該算法法形成設設備隊列列時。將將優先級級高的進進程排在在設備隊隊列前面面,而對對于優先先級相同同的I//O請求求,則按按先來先先服務原原則排隊隊。3.設備備分配中中的安全全性(1)安安全分配配方式這種分配配方式中中,每當當進程發發出I/O請請求后,,便進入入阻塞狀狀態,直直到其I/O操操作完成成時才被被喚醒。。進程獲獲得某種種資源后后即進入入阻塞狀狀態,使使得該進進程不再再請求其其他資源源。這種種分配方方式已經經摒棄造造成死鎖鎖的4個個必要條條件之一一的“請請求和保保持”條條件,因因而分配配是安全全的。(2)不不安全分分配方式式當進程發發出I/O請請求后仍仍繼續運運行,需需要時可可發出其其他I//O請求求。因此此,一個個進程可可同時操操作多個個設備,,從而使使進程推推進迅速速,其缺缺點是分分配不安安全,因因為它可可能具備備“請求求和保持持”條件件,從而而可能造造成死鎖鎖。因此此,在設設備分配配程序中中增加一一個功能能,以用用于對本本次設備備分配是是否會發發生死鎖鎖進程檢檢測,僅僅當檢測測的結果果是安全全的,才才進行分分配6.5..4設設備獨獨立性1.設備備獨立性性的概念念設備獨立立性是I/O軟軟件的一一個關鍵鍵性概念念,其基基本含義義是用戶戶程序獨獨立于具具體使用用的物理理設備,,換言之之,進程程只需用用邏輯設設備名稱稱請求使使用某類類設備,,當系統統中有多多臺該類類設備時時,系統統可將其其中任一一臺分配配給請求求進程,,而無需需僅局限限于某一一臺指定定設備。。設備獨立立性有以以下的好好處(1)設設備分配配時的靈靈活性(2)易易于實現現I/O重定向向2.設備備獨立性性軟件(1)執執行所有有設備的的公有操操作(2)向向用戶層層(或文文件層))軟件提提供統一一接口3.邏輯輯設備名名到物理理設備名名映射的的實現(1)邏邏輯設備備表邏輯設備號物理設備號驅動程序地址1720420(H)2720420(H)3220E00(H)441FC10(H)6120D02(H)7720420(H)………(2)LUT的的設置問問題LUT的的設置可可采取兩兩種方式式:第一一種設置置方式是是整個系系統設置置一張LUT。。不允許許在LUT中具具有相同同的邏輯輯設備名名,這就就是要求求所有用用戶不使使用相同同的邏輯輯設備名名。第二二種方式式是為每每個用戶戶設置一一張LUT。由于多用用戶系統統中,都都配置了了系統設設備表,,故此時時的LUT可采采用如下下所示的的格式。。邏輯設備號系統設備表指針13253277……6.6虛虛擬設設備6.6..1SPOOLing系系統的組組成6.6..2SPOOLing系系統的工工作原理理6.6..3SPOOLing系系統的應應用6.6..4SPOOLing技技術的特特點6.6..1SPOOLing系系統的組組成(1)輸輸入井和和輸出井井輸入井和和輸出是是在磁盤盤上開辟辟的兩個個大緩沖沖區。輸輸入井是是模擬脫脫機輸入入時的磁磁盤,用用于收容容I/O設備輸輸入的數數據。輸輸出井是是模擬脫脫機輸出出時的磁磁盤,用用于收容容用戶程程序的輸輸出數據據。(2)輸輸入緩沖沖區和輸輸出緩沖沖區在內存中中要開辟辟兩個緩緩沖區,,其中輸輸入緩沖沖區用于于暫存由由輸入設設備送來來的數據據,以后后再傳送送到輸入入井;輸輸出緩沖沖區用于于暫存從從輸出井井送來的的數據,,以后再再傳送給給輸出設設備。(3)輸輸入進程程和輸出出進程輸入進程程(SPi)模模擬脫機機輸入時時的外圍圍控制機機,將用用戶要求求的數據據從輸入入機通過過輸入緩緩沖區再再送到輸輸入井。。當CPU需要要輸入數數據時,,直接從從輸入井井讀入內內存。輸輸出進程程(SPo)模模擬脫機機輸出時時的外圍圍控制機機,把用用戶要求求輸出的的數據先先從內存存送到輸輸出井,,待輸出出設備空空閑時,,再將輸輸出井中中的數據據經過輸輸出緩沖沖區送到到輸出設設備上。。6.6..2SPOOLing系系統的工工作原理理一旦有輸輸入請求求消息,,SPOOLing輸輸入進程程立即得得到執行行,把裝裝在輸入入設備上上的作業業輸入到到硬盤的的輸入井井中。輸輸入井是是一組硬硬盤扇區區。這就是說說,作業業調度程程序不是是從輸入入設備上上裝入作作業,而而是直接接從輸入入井中把把選中的的作業裝裝入內存存,使主主機等待待作業輸輸入的時時間大為為縮短。。同樣對作作業的輸輸出而言言,寫到到輸出井井要比寫寫到輸出出設備快快得多。。即使作作業的JCB已已注銷,,SPOOLing輸輸出進程程仍可以以從容地地把輸出出井中沒沒有輸出出完的數數據繼續續輸出到到輸出設設備上。。由此可見見,引入入SPOOLing技技術,把把一個共共享的硬硬盤改造造成若干干臺輸入入設備((對作業業調度程程序而言言)和若若干臺輸輸出設備備(對各各作業而而言)。。這樣的的設備稱稱為虛擬擬設備,,它們的的物理實實體是輸輸入(出出)井。。這樣改改造后,,保持了了物理輸輸入(出出)設備備繁忙地地與CPU并行行地工作作,提高高了整個個系統的的效率。。6.6..3SPOOLing系系統的應應用當用戶進進程請求求輸出打打印時,,SPOOLing系系統同意意為它打打印輸出出,但并并不真正正把打印印機分配配給該用用戶進程程,而只只是為它它做兩件件事:①由輸出出進程在在輸出井井中為之之申請一一空閑緩緩沖區,,并將要要打印的的數據送送入其中中;②輸出進進程再為為用戶進進程申請請一張空空白的用用戶打印印請求表表,并將將用戶的的打印要要求填入入表中,,再將該該表掛到到請求打打印隊列列上。打印機空空閑時,,輸出進進程將從從請求打打印隊列列的隊首首取出一一張請求求表,根根據表中中的要求求將要打打印的數數據從輸輸出井傳傳送到內內存緩沖沖區,再再由打印印機進行行打印。。打印完完后,輸輸出進程程再查看看請求打打印隊列列中是否否還有等等待打印印的請求求表,若若有,又又取出第第一張表表,并根根據其中中的打印印要求進進行打印印,如此此下去,,直至請請求隊列列空為止止。SPOOLing技術術除用于于打印機機外,還還可以用用于在網網絡上進進行文件件傳輸。。例如,,我們常常用的E-mail系系統。Internet通過過許多網網絡將大大量的計計算機連連在一起起,當向向某人發發送E--mail時,,用戶使使用某一一個程序序如Send,,該程序序接收要要發送的的信件并

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論