計(jì)算機(jī)軟件基礎(chǔ)之操作系統(tǒng)設(shè)備管理_第1頁
計(jì)算機(jī)軟件基礎(chǔ)之操作系統(tǒng)設(shè)備管理_第2頁
計(jì)算機(jī)軟件基礎(chǔ)之操作系統(tǒng)設(shè)備管理_第3頁
計(jì)算機(jī)軟件基礎(chǔ)之操作系統(tǒng)設(shè)備管理_第4頁
計(jì)算機(jī)軟件基礎(chǔ)之操作系統(tǒng)設(shè)備管理_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計(jì)算機(jī)軟件基礎(chǔ)之操作系統(tǒng)設(shè)備管理第一頁,共三十三頁,編輯于2023年,星期五*2I/O管理功能1.狀態(tài)跟蹤設(shè)備控制塊是存放設(shè)備管理和控制信息的數(shù)據(jù)結(jié)構(gòu)。系統(tǒng)要掌握設(shè)備的狀態(tài)。2.設(shè)備存取決定一種策略,實(shí)現(xiàn)對設(shè)備的存取操作。3.設(shè)備分配在多用戶的環(huán)境下,負(fù)責(zé)設(shè)備的分配和回收。靜態(tài)分配、動態(tài)分配4.設(shè)備控制設(shè)備控制包括設(shè)備的驅(qū)動、完成和故障中斷處理。第二頁,共三十三頁,編輯于2023年,星期五*3即:分配設(shè)備按設(shè)備的不同類型和操作系統(tǒng)選用的算法分配,包括分配相應(yīng)的通道、設(shè)備控制器以及對未分配的任務(wù)或作業(yè)進(jìn)行排隊(duì)等??刂坪蛯?shí)現(xiàn)真正的輸入輸出并行操作包括通道程序控制、啟動設(shè)備、及時響應(yīng)及處理中斷訊號等。對輸入輸出緩沖區(qū)進(jìn)行管理如:邏輯名的管理,多個緩沖區(qū)的分時及串并行操作,同類多個外部設(shè)備的均衡工作。在一些較大系統(tǒng)中實(shí)現(xiàn)虛擬設(shè)備技術(shù)。第三頁,共三十三頁,編輯于2023年,星期五*4設(shè)計(jì)目標(biāo):1.方便性:為用戶提供友好的使用環(huán)境2.設(shè)備獨(dú)立性:用戶的程序與設(shè)備要互相獨(dú)立3.并行性:各設(shè)備充分并行工作,同時防止死鎖產(chǎn)生4.有效性與均衡性:避免各設(shè)備忙閑不均分類:1、獨(dú)享設(shè)備、共享設(shè)備、虛擬設(shè)備2、邏輯設(shè)備、物理設(shè)備第四頁,共三十三頁,編輯于2023年,星期五*5設(shè)備獨(dú)立性設(shè)備獨(dú)立性的概念設(shè)備獨(dú)立性是指用戶在編程序時所使用的設(shè)備與實(shí)際設(shè)備無關(guān)。兩類設(shè)備獨(dú)立性:1.一個程序應(yīng)獨(dú)立于分配給它的某類設(shè)備的具體設(shè)備。即在用戶程序中只指明I/O使用的設(shè)備類型即可。如在系統(tǒng)中配備了兩臺打印機(jī),用戶要打印時只要告訴系統(tǒng)要將信息送到打印機(jī)即可。2.程序要盡可能地與它使用的設(shè)備類型無關(guān)。即在用戶程序中只要指出要輸入或輸出信息,至于信息I/O使用的設(shè)備不需用戶指明。第五頁,共三十三頁,編輯于2023年,星期五*6二、設(shè)備獨(dú)立性的實(shí)現(xiàn)

邏輯設(shè)備和實(shí)際設(shè)備的聯(lián)系通常是由操作系統(tǒng)命令語言中提供的信息實(shí)現(xiàn)的。在用戶一級僅進(jìn)行邏輯指派,而操作系統(tǒng)的I/O管理模塊則需要建立邏輯設(shè)備——物理設(shè)備的連接(通過構(gòu)造邏輯描述器),并在進(jìn)程請求設(shè)備時進(jìn)行設(shè)備分配和設(shè)備傳輸控制。有的系統(tǒng)可以通過作業(yè)說明書提供的信息或鍵盤命令實(shí)現(xiàn)設(shè)備獨(dú)立性。第六頁,共三十三頁,編輯于2023年,星期五*7一個具體進(jìn)程的邏輯設(shè)備名和物理設(shè)備名的對應(yīng)關(guān)系記錄在被稱為邏輯設(shè)備描述器(LLD)的數(shù)據(jù)結(jié)構(gòu)中,并由PCB中的一個指針指向它。當(dāng)進(jìn)程第一次使用某個邏輯設(shè)備時,系統(tǒng)為其分配一臺給定類型的具體設(shè)備,稱在該點(diǎn)上進(jìn)程打開了這個邏輯設(shè)備。邏輯設(shè)備的關(guān)閉指的是不再使用這個邏輯設(shè)備了,相應(yīng)的邏輯設(shè)備描述器可釋放給系統(tǒng)。邏輯設(shè)備描述器包含四項(xiàng)內(nèi)容:設(shè)備邏輯名、設(shè)備物理名、設(shè)備控制塊指針、邏輯設(shè)備描述器隊(duì)列勾鏈字。第七頁,共三十三頁,編輯于2023年,星期五*8三、設(shè)備獨(dú)立性的優(yōu)點(diǎn)1.方便用戶編程2.使用戶程序運(yùn)行不受具體的機(jī)器環(huán)境的限制。系統(tǒng)提供標(biāo)準(zhǔn)輸入和輸出,在用戶程序中的輸入輸出都使用這兩個標(biāo)準(zhǔn)的I/O,實(shí)際運(yùn)行時,根據(jù)具體情況而定。如果配備打印機(jī),則將輸出信息送到打印機(jī)打印,如果沒有配備打印機(jī),就把輸出重向到某個指定文件,把要打印的信息送到該文件中。3.便于程序移植第八頁,共三十三頁,編輯于2023年,星期五*9緩沖技術(shù)CPU與各種外部設(shè)備的速度上的差異很大,設(shè)備與設(shè)備之間的速度差異也很大。系統(tǒng)有時會產(chǎn)生大量的數(shù)據(jù)需要I/O,有時又會很長時間沒有I/O。造成I/O負(fù)荷的不均勻要解決這兩個方面的問題就要引入緩沖的概念。第九頁,共三十三頁,編輯于2023年,星期五*10在I/O部分緩沖所起的作用(1)解決信息的到達(dá)率和離去率不一致的矛盾由于輸入數(shù)據(jù)的速度和處理數(shù)據(jù)的速度往往不相同,于是,有必要設(shè)置一個緩存,作為它們之間的緩沖,以解決它們速度上的匹配以及由于速度不一致而造成數(shù)據(jù)的丟失和紊亂。(2)緩存起中轉(zhuǎn)站的作用緩存可以是內(nèi)存與外存之間的中轉(zhuǎn)站(3)使得一次輸入的信息能夠多次使用這主要是用在文件系統(tǒng)中,由于有的文件是可以共享的,所以會出現(xiàn)多個任務(wù)同時需要使用一個文件的情況,這樣就可以從緩存中讀取所需內(nèi)容,而不必啟動I/O到外存上去讀?。涣硗?,在通道或控制器內(nèi)設(shè)置局部寄存器作為緩沖寄存器,可暫存I/O信息,以減少中斷CPU的次數(shù)。第十頁,共三十三頁,編輯于2023年,星期五*11緩沖的實(shí)現(xiàn)方式(a)硬件方式

一般是采用專用硬件緩沖器,如I/O控制器中的數(shù)據(jù)緩沖寄存器等。(b)軟件方式

開辟出一個具有N個單元的專用緩沖區(qū),以便臨時存放I/O操作期間的數(shù)據(jù)。操作系統(tǒng)為每一個緩沖區(qū)建立一個數(shù)據(jù)結(jié)構(gòu),稱為緩存控制塊BCB(buffercontrolblock)。操作系統(tǒng)通過BCB對每一個緩存實(shí)施具體的管理。常用的緩沖技術(shù)有三種:單/雙緩沖、環(huán)形緩沖、緩沖池第十一頁,共三十三頁,編輯于2023年,星期五*12雙緩沖系統(tǒng)設(shè)置兩個緩沖區(qū),BUF1和BUF2,各進(jìn)程使用這兩個緩沖區(qū)。這種緩沖技術(shù)是最簡單的,用于低頻度活動的I/O系統(tǒng)。解決兩臺外設(shè)、打印機(jī)和終端之間的并行操作的辦法是設(shè)置雙緩沖,也就是設(shè)置兩個緩沖區(qū),分別用于外設(shè)的輸入和輸出。工作過程:首先輸入將數(shù)據(jù)送入BUF1,然后,申請BUF2,在向BUF2輸入數(shù)據(jù)的同時,輸出進(jìn)程可從BUF1中取數(shù)據(jù)。同理,向BUF1輸入與從BUF2中取數(shù)據(jù)可以并行。第十二頁,共三十三頁,編輯于2023年,星期五*13環(huán)形緩沖在系統(tǒng)中設(shè)置若干緩沖區(qū),并把這些緩沖區(qū)鏈接起來,這樣若干個緩沖區(qū)就形成了一個環(huán),故稱環(huán)形緩沖區(qū)。環(huán)形緩沖技術(shù)的使用:設(shè)置一個輸入指針in、一個輸出指針out、開始指針strat,開始指針strat指向環(huán)形緩沖中的第一個緩沖區(qū)。系統(tǒng)初始時,strat=in=out。第十三頁,共三十三頁,編輯于2023年,星期五*14輸入時,要判斷in是否與out相等,若相等,則要等待。否則,將信息送入in指向的緩沖區(qū),填滿后,將緩沖區(qū)中的指向下一個緩沖區(qū)的指針next置in,如此類推。

輸出時,首先判斷out=in,若相等,則等待(意味著系統(tǒng)中沒有數(shù)據(jù)可取)。否則,取出緩沖區(qū)中的信息,將緩沖區(qū)中的next置out;第十四頁,共三十三頁,編輯于2023年,星期五*15緩沖池系統(tǒng)在自由主存區(qū)設(shè)置多個緩沖區(qū),形成一個緩沖池。這個池中的緩沖區(qū)為系統(tǒng)中所有的進(jìn)程共享使用。并由系統(tǒng)統(tǒng)一分配和管理。緩沖池既可以用于輸出也可以用于輸入。在緩沖池管理中,一個緩沖區(qū)由兩部分組成:一部分用來標(biāo)識該緩沖器和用于管理的緩沖首部,另一部分是用于存放數(shù)據(jù)的緩沖體。這兩部分有一一對應(yīng)的關(guān)系。對緩沖池的管理是通過對每一個緩沖器的首部進(jìn)行操作實(shí)現(xiàn)的。緩沖首部包括設(shè)備號、設(shè)備上的數(shù)據(jù)塊號(塊設(shè)備時)、互斥標(biāo)識位以及緩沖隊(duì)列連接指針和緩沖器號等。第十五頁,共三十三頁,編輯于2023年,星期五*16緩沖區(qū)自動管理系統(tǒng)組成緩沖池的緩沖區(qū)的用途:輸入緩沖區(qū)處理機(jī)緩沖區(qū)輸出緩沖區(qū)幾種緩沖隊(duì)列裝入隊(duì)列出空隊(duì)列文件隊(duì)列后備隊(duì)列幾種操作輸入設(shè)備輸出設(shè)備緩沖區(qū)自動管理程序后備隊(duì)列裝入隊(duì)列出空隊(duì)列主存輸入文件隊(duì)列輸出文件隊(duì)列處理機(jī)緩沖區(qū)自動管理系統(tǒng)第十六頁,共三十三頁,編輯于2023年,星期五*17輸入設(shè)備輸出設(shè)備緩沖區(qū)自動管理程序后備隊(duì)列裝入隊(duì)列出空隊(duì)列主存輸入文件隊(duì)列輸出文件隊(duì)列處理機(jī)緩沖區(qū)自動管理系統(tǒng)信息管理輸入文件隊(duì)列→后備隊(duì)列輸出文件隊(duì)列→出空隊(duì)列后備隊(duì)列→輸出文件隊(duì)列后備隊(duì)列→裝入隊(duì)列輸入中斷裝入隊(duì)列→輸入文件隊(duì)列后備隊(duì)列→裝入隊(duì)列輸出中斷出空隊(duì)列→后備隊(duì)列緩沖區(qū)管理程序?qū)彌_區(qū)隊(duì)列的管理第十七頁,共三十三頁,編輯于2023年,星期五*18設(shè)備分配分配原則一、靜態(tài)分配和動態(tài)分配1、靜態(tài)分配當(dāng)一個作業(yè)(或進(jìn)程)運(yùn)行時,根據(jù)作業(yè)要求的設(shè)備,系統(tǒng)如果能滿足,則將其要求的設(shè)備全部分配給它,然后開始運(yùn)行,運(yùn)行完成釋放其占用的所有設(shè)備。這種分配方式的優(yōu)點(diǎn)是系統(tǒng)絕不會出現(xiàn)死鎖,缺點(diǎn)是設(shè)備利用率太低。2、動態(tài)分配這種分配方法是在作業(yè)(或進(jìn)程)運(yùn)行的過程中,需要使用設(shè)備時,就向系統(tǒng)申請,系統(tǒng)根據(jù)某種分配原則進(jìn)行分配。這種方法的優(yōu)點(diǎn)是設(shè)備的利用率高,缺點(diǎn)是系統(tǒng)有出現(xiàn)死鎖的可能??紤]:設(shè)備固有特性;系統(tǒng)采用的分配算法;分配的安全性,避免死鎖第十八頁,共三十三頁,編輯于2023年,星期五*19二、I/O設(shè)備分配算法1、先來先服務(wù)算法每一設(shè)備有一隊(duì)列管理,當(dāng)多個作業(yè)或任務(wù)對同一設(shè)備提出I/O請求時,該算法把請求的先后次序排成一個等待該設(shè)備的隊(duì)列,設(shè)備分配程序把設(shè)備分配給隊(duì)列中的第一個作業(yè)。2、優(yōu)先級高者優(yōu)先一般是系統(tǒng)高于用戶,超級用戶(系統(tǒng)管理員)高于一般用戶。對于優(yōu)先級相同的I/O請求,則按先來先服務(wù)的原則分配。

三、設(shè)備分配的安全性對于獨(dú)占設(shè)備,采用靜態(tài)分配不會出現(xiàn)死鎖。對于共享設(shè)備,采用動態(tài)分配有可能造成死鎖。第十九頁,共三十三頁,編輯于2023年,星期五*20獨(dú)享分配共享分配虛擬設(shè)備技術(shù)1、SPOOLing—simultaneousperipheraloperationson-line,即外部設(shè)備聯(lián)機(jī)同時操作,它是慢速字符設(shè)備如何與計(jì)算機(jī)進(jìn)行信息交換的一種技術(shù),通常又稱為“假脫機(jī)技術(shù)”。這是一種預(yù)輸入、緩輸出的轉(zhuǎn)儲管理技術(shù)。設(shè)備分配的主要技術(shù):第二十頁,共三十三頁,編輯于2023年,星期五*212、字符設(shè)備和主機(jī)交換信息的兩種方式,即脫機(jī)方式和聯(lián)機(jī)方式。(a)聯(lián)機(jī)方式,就是一般字符設(shè)備直接與內(nèi)存交換信息。這種交換信息的缺點(diǎn)是:由于字符設(shè)備信息傳送速度慢,當(dāng)一個任務(wù)要求從外設(shè)上輸入信息時,往往要等候很長的時間;其次,由于字符設(shè)備本質(zhì)上是順序存取設(shè)備的,因此,在一個任務(wù)的信息未傳輸完之前,別的任務(wù)不能進(jìn)行輸入或輸出,這就降低了整個系統(tǒng)的并行處理能力。第二十一頁,共三十三頁,編輯于2023年,星期五*22(b)脫機(jī)方式,以輸入為例,先使用一臺外圍機(jī)把字符設(shè)備上的信息輸入到塊設(shè)備上(磁帶或磁盤等),然后把塊設(shè)備與主機(jī)聯(lián)上。這樣,主機(jī)在從塊設(shè)備上(而不是從字符設(shè)備)上輸入它所需要的信息。這種輸入方式的優(yōu)點(diǎn)是可以提高輸入的并行度,缺點(diǎn)是需要人工干預(yù),這就會降低系統(tǒng)的平均運(yùn)行速度,而且容易出差錯和損壞設(shè)備。

(c)SPOOLing技術(shù)是對上述兩種信息傳輸方式的綜合,它取兩者的長處,而避免兩者的短處,以聯(lián)機(jī)的輸入、輸出方式,獲得脫機(jī)的輸入、輸出的優(yōu)點(diǎn),所以SPOOLing技術(shù)有時也叫“假脫機(jī)技術(shù)”。

第二十二頁,共三十三頁,編輯于2023年,星期五*233.SPOOLing系統(tǒng)的組成1.輸入井和輸出井這是在磁盤上開辟的兩大存儲空間。輸入井是模擬脫機(jī)輸入時的磁盤,用于收容外部設(shè)備(I/O)輸入的數(shù)據(jù)。輸出井是模擬脫機(jī)輸出時的磁盤,用于收容用戶程序的輸出數(shù)據(jù)。2.輸入緩沖區(qū)和輸出緩沖區(qū)在主存中要開辟兩個緩沖區(qū);暫時存放來自輸入井或要進(jìn)輸出井的數(shù)據(jù)。第二十三頁,共三十三頁,編輯于2023年,星期五*24第二十四頁,共三十三頁,編輯于2023年,星期五*252.程序工作的輸入進(jìn)程SPi和輸出進(jìn)程SPi進(jìn)程SPi模擬脫機(jī)輸入時的外圍控制機(jī),將用戶要求的數(shù)據(jù)從輸入機(jī)送到輸入井。當(dāng)CPU需要輸入數(shù)據(jù)時,直接從輸入井讀入內(nèi)存。SPo進(jìn)程模擬脫機(jī)輸出時的外圍控制機(jī),把用戶要求輸出的數(shù)據(jù),先從內(nèi)存送到輸出井,待輸出設(shè)備空閑時,再將輸出井中的數(shù)據(jù),送到輸出設(shè)備上。第二十五頁,共三十三頁,編輯于2023年,星期五*264.SPOOLing系統(tǒng)的特點(diǎn)(1)提高了I/O速度(2)將獨(dú)占設(shè)備改造為共享設(shè)備在SPOOLing系統(tǒng)中,實(shí)際上并沒有為各進(jìn)程分配物理設(shè)備,而只是在輸入井和輸出井中,為各個進(jìn)程分配一存儲區(qū)和建立一張I/O請求表。這樣,便把獨(dú)占設(shè)備改造為共享設(shè)備。(3)實(shí)現(xiàn)了虛擬設(shè)備功能宏觀上,雖然是多個進(jìn)程在同時使用一臺獨(dú)立設(shè)備,而對每一個進(jìn)程而言,它們都認(rèn)為自己是獨(dú)占了一個設(shè)備。當(dāng)然,該設(shè)備只是邏輯上的設(shè)備。SPOOLing系統(tǒng)實(shí)現(xiàn)了將獨(dú)占設(shè)備變換為若干臺對應(yīng)的邏輯設(shè)備的功能。第二十六頁,共三十三頁,編輯于2023年,星期五*27共享打印機(jī)是SPOOLing技術(shù)應(yīng)用的典型實(shí)例。它將一臺打印機(jī)改造為供多個用戶共享的打印機(jī),目前廣泛地應(yīng)用在多用戶系統(tǒng)和局域網(wǎng)中。1.打印機(jī)共享的SPOOLing技術(shù)SPOOLing系統(tǒng)在收到用戶進(jìn)程的打印請求時(1)由輸出進(jìn)程在輸出井中申請一個空閑盤塊區(qū),并將要打印的數(shù)據(jù)送入其中;(2)輸出進(jìn)程再為用戶進(jìn)程申請一張空白的用戶請求打印表,并將用戶的打印要求添入其中,再將該表掛到請求打印隊(duì)列上。(3)如果還有進(jìn)程要求打印輸出,系統(tǒng)仍可接受其請求,也同樣為該進(jìn)程重復(fù)(1)、(2)。第二十七頁,共三十三頁,編輯于2023年,星期五*282.打印隊(duì)列請求打印隊(duì)列是由若干張請求打印表所形成的隊(duì)列,系統(tǒng)為每個請求打印的進(jìn)程建立一張請求打印表。如果打印機(jī)空閑,輸出進(jìn)程將從請求打印隊(duì)列的隊(duì)首取出一張請求打印表,根據(jù)表中的要求將要打印的數(shù)據(jù)從輸出井取出,由打印機(jī)進(jìn)行打印。打印完成后,輸出進(jìn)程再查看請求打印隊(duì)列中是否還有等待打印的請求表。若有,又取出第一張表,并根據(jù)其中的要求進(jìn)行打印,如此下去,直至請求隊(duì)列為空為止,輸出進(jìn)程才將自己停止工作,直到下次再有打印請求是才被喚醒繼續(xù)工作。第二十八頁,共三十三頁,編輯于2023年,星期五*29I/O控制方式一、循環(huán)測試I/O方式早期的設(shè)備控制方式采用。二、I/O中斷方式為了提高CPU和設(shè)備的利用率,就應(yīng)使CPU與設(shè)備并行工

溫馨提示

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

最新文檔

評論

0/150

提交評論