版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章設(shè)備管理I/O系統(tǒng)I/O控制方式緩沖管理設(shè)備分配設(shè)備處理磁盤存儲(chǔ)器管理*UNIX系統(tǒng)中的設(shè)備管理本章作業(yè)5.1I/O系統(tǒng)I/O設(shè)備設(shè)備控制器I/O通道I/O系統(tǒng)的總線系統(tǒng)I/O系統(tǒng)的結(jié)構(gòu)I/O系統(tǒng)的組成:I/O設(shè)備、設(shè)備控制器、I/O通道*、總線及相應(yīng)軟件5.1.1I/O設(shè)備1、I/O設(shè)備的類型
系統(tǒng)設(shè)備
1)按設(shè)備的從屬關(guān)系分類用戶設(shè)備
系統(tǒng)設(shè)備:在OS生成時(shí)就已登記在系統(tǒng)中的標(biāo)準(zhǔn)設(shè)備,如鍵盤、顯示器、打印機(jī)等。
用戶設(shè)備:在OS生成時(shí)未登記在系統(tǒng)中的非標(biāo)準(zhǔn)設(shè)備,如鼠標(biāo)、繪圖儀、掃描儀等。
獨(dú)享設(shè)備
2)按使用方式/共享屬性分類共享設(shè)備虛擬設(shè)備
獨(dú)享/獨(dú)占設(shè)備:在一段時(shí)間只允許一個(gè)用戶進(jìn)程訪問的設(shè)備。多數(shù)低速設(shè)備屬此類,打印機(jī)就典型的獨(dú)享設(shè)備。共享設(shè)備:在一段時(shí)間只允許多個(gè)用戶進(jìn)程同時(shí)訪問的設(shè)備。磁盤就典型的共享設(shè)備。
虛擬設(shè)備:指通過虛擬技術(shù)將一臺(tái)獨(dú)占設(shè)備變換為若干臺(tái)邏輯設(shè)備,供若干個(gè)用戶進(jìn)程同時(shí)使用,通常把這種經(jīng)過虛擬技術(shù)處理后的設(shè)備稱為虛擬設(shè)備。
低速設(shè)備3)按傳輸速率分類中速設(shè)備高速設(shè)備
低速設(shè)備:傳輸速率僅為每秒鐘幾個(gè)字節(jié)至數(shù)百個(gè)字節(jié)的設(shè)備。典型的有:鍵盤、鼠標(biāo)、語音的輸入/輸出等。中速設(shè)備:傳輸速率僅為每秒鐘數(shù)千個(gè)字節(jié)至數(shù)數(shù)萬個(gè)字節(jié)的設(shè)備。典型的有:打印機(jī)等。高速設(shè)備:傳輸速率僅為每秒鐘數(shù)百千個(gè)字節(jié)至數(shù)十兆字節(jié)的設(shè)備。典型的有:磁盤機(jī)、磁帶機(jī)、光盤機(jī)等。塊設(shè)備4)按信息交換的單位分類字符設(shè)備
塊設(shè)備:信息交換的基本單位為字符塊,屬于有結(jié)構(gòu)設(shè)備,塊大小一般為512B---4KB,典型的有:磁盤、磁帶等。字符設(shè)備:信息交換的基本單位為字符,典型的有:鍵盤、打印機(jī)和顯示器等。2、設(shè)備與控制器之間的接口(P145圖5-1)三種信號(hào)線5.1.2設(shè)備控制器設(shè)備控制器是處于CPU與I/O設(shè)備之間的接口,接收CPU發(fā)來的命令,并控制I/O設(shè)備工作,是一個(gè)可編址設(shè)備。
功能:接收和識(shí)別命令、實(shí)現(xiàn)數(shù)據(jù)交換、了解設(shè)備狀態(tài)以及識(shí)別設(shè)備地址。
設(shè)備控制器的組成設(shè)備控制器與處理機(jī)的接口設(shè)備控制器與設(shè)備接口I/O邏輯寄存器:控制寄存器(存放命令及參數(shù))、數(shù)據(jù)寄存器(存放數(shù)據(jù))、狀態(tài)寄存器(記錄設(shè)備狀態(tài)).設(shè)備控制器的組成數(shù)據(jù)寄存器控制、狀態(tài)寄存器I/O邏輯控制器與設(shè)備接口1控制器與設(shè)備接口iCPU與控制器接口控制器與設(shè)備接口數(shù)據(jù)線地址線控制線數(shù)據(jù)狀態(tài)控制數(shù)據(jù)狀態(tài)控制......5.1.3I/O通道
根據(jù)信息交換方式的不同,通道可分成以下幾種類型:字節(jié)多路通道數(shù)組選擇通道數(shù)組多路通道注:“瓶頸”問題字節(jié)多路通道其工作原理:數(shù)據(jù)傳送是按字節(jié)交叉方式工作。1)有一個(gè)主通道。2)含有多個(gè)子通道A、B、C……3)每子通道通過一控制器與一臺(tái)中/低速的I/O設(shè)備相連,可同時(shí)并行向主通道傳數(shù)據(jù)。4)各子通道以時(shí)間片輪轉(zhuǎn)方式按字節(jié)交叉使用主通道。優(yōu)點(diǎn):可連多臺(tái)中/低速設(shè)備;能分時(shí)并行操作。缺點(diǎn):傳輸率較低。數(shù)組選擇通道數(shù)據(jù)傳送是按成組方式進(jìn)行工作,每次傳輸一批數(shù)據(jù)。主要用于連接高速I/O設(shè)備。1)有一個(gè)主通道2)含有多個(gè)子通道A、B、C……3)每子通道通過一控制器與一臺(tái)中/低速的I/O設(shè)備相連,在一段時(shí)間內(nèi)只能選擇一個(gè)子通道程序執(zhí)行。優(yōu)點(diǎn):可連多臺(tái)高速設(shè)備;傳輸率較高。缺點(diǎn):某子通道不傳數(shù)據(jù),而使主通道閑置,其它子通道也不能傳數(shù)據(jù)。所以通道的利用率很低。數(shù)組多路通道數(shù)據(jù)傳送仍是按數(shù)組方式工作。
工作原理(結(jié)合兩者:并行+數(shù)組)1)有一個(gè)主通道2)含有多個(gè)子通道A、B、C……3)每子通道通過一控制器與一臺(tái)高/中速的I/O設(shè)備相連,可同時(shí)并行向主通道傳數(shù)據(jù)。4)各子通道以時(shí)間片輪轉(zhuǎn)方式按數(shù)組方式使用主通道。優(yōu)點(diǎn):可連多臺(tái)高/中速設(shè)備;能分時(shí)并行操作,傳輸率較高。“瓶頸”問題存儲(chǔ)器通道1通道2控制器1控制器2控制器3控制器4設(shè)備1設(shè)備2設(shè)備3設(shè)備4設(shè)備5設(shè)備6設(shè)備7單通路I/O系統(tǒng)解決“瓶頸”問題的方法-多路方式通道2設(shè)備1設(shè)備2設(shè)備3設(shè)備4存儲(chǔ)器通道1控制器1控制器2多通路I/O系統(tǒng)5.1.5I/O系統(tǒng)的結(jié)構(gòu)CPU存儲(chǔ)器磁盤控制器打印機(jī)控制器其它控制器磁盤驅(qū)動(dòng)器打印機(jī)微型機(jī)I/O系統(tǒng)結(jié)構(gòu)---總線型計(jì)算機(jī)I/O通道1I/O通道2控制器控制器控制器控制器主機(jī)I/O系統(tǒng)—具有通道設(shè)備5.2I/O控制方式常用的輸入/輸出控制方式:1、程序控制方式2、中斷控制方式3、直接存儲(chǔ)器訪問DMA方式4、通道控制方式1、程序直接控制方式
處理機(jī)對I/O的控制采用程序直接控制方式。工作原理:主程序設(shè)備是否“準(zhǔn)備就緒”傳送數(shù)據(jù)否特點(diǎn):控制簡單,但CPU的利用率低(串行),出現(xiàn)忙等待(循環(huán)等待設(shè)備的I/O操作)--即輪詢(Polling)問題-----I/O中斷繼續(xù)主程序控制設(shè)備狀態(tài)的控制位1)command-ready(等待命令)2)Busy(忙)3)Error(錯(cuò)誤)2、中斷控制方式1)需數(shù)據(jù)的進(jìn)程向CPU發(fā)出指令啟動(dòng)I/O設(shè)備輸入數(shù)據(jù)。2)該進(jìn)程放棄處理機(jī),等待輸入完成。3)輸入完成后,I/O控制器向CPU發(fā)出中斷請求,CPU收到后,轉(zhuǎn)向中斷服務(wù)程序。中斷服務(wù)程序?qū)?shù)據(jù)輸入寄存器中的數(shù)據(jù)送指定內(nèi)存單元,并將原進(jìn)程喚醒,繼續(xù)執(zhí)行。4)在以后,該進(jìn)程再被調(diào)度,從內(nèi)存單元取出數(shù)據(jù)進(jìn)行處理。
優(yōu)點(diǎn)—CPU利用率大大提高(可以與I/O設(shè)備并行工作)。
缺點(diǎn)---若中斷次數(shù)較多將耗去大量CPU處理時(shí)間。3、DMA方式1)需數(shù)據(jù)的進(jìn)程向CPU發(fā)出指令,向DMA控制器寫入數(shù)據(jù)存放的內(nèi)存始址、傳送的字節(jié)數(shù),并置中斷位和啟動(dòng)位,啟動(dòng)I/O設(shè)備輸入數(shù)據(jù)并允許中斷。2)該進(jìn)程放棄處理機(jī)等待輸入完成,處理機(jī)被其它進(jìn)程占據(jù)。3)DMA控制器采用挪用CPU周期,將一批數(shù)據(jù)寫入內(nèi)存中。4)DMA控制器傳送完數(shù)據(jù)后,向CPU發(fā)中斷請求,CPU響應(yīng)后轉(zhuǎn)向中斷服務(wù)程序,喚醒進(jìn)程,并返回被中斷程序。5)在以后該進(jìn)程再被調(diào)度,從內(nèi)存單元取出數(shù)據(jù)進(jìn)行處理。優(yōu)點(diǎn)—CPU利用率進(jìn)一步提高(并行度有所提高)。缺點(diǎn)—數(shù)據(jù)傳送方向、字節(jié)數(shù)、內(nèi)存地址等需由CPU控制,且每一設(shè)備需一臺(tái)DMA控制器,設(shè)備增多時(shí),不經(jīng)濟(jì)。4、通道控制方式1)需數(shù)據(jù)的進(jìn)程向CPU發(fā)出指令,CPU發(fā)啟動(dòng)指令指明I/O操作、設(shè)備號(hào)和對應(yīng)的通道。2)該進(jìn)程放棄CPU等待輸入完成,CPU被其它進(jìn)程占據(jù)。3)通道接收到CPU發(fā)來的啟動(dòng)指令后,取出內(nèi)存中的通道程序執(zhí)行,控制設(shè)備將數(shù)據(jù)傳送到內(nèi)存指定區(qū)域。4)傳送完數(shù)據(jù)后,通道向CPU發(fā)中斷請求,CPU響應(yīng)后轉(zhuǎn)向中斷服務(wù)程序,喚醒進(jìn)程,并返回被中斷程序。5)在以后該進(jìn)程再被調(diào)度,從內(nèi)存取出數(shù)據(jù)進(jìn)行處理。優(yōu)點(diǎn)—一個(gè)通道可控制多設(shè)備,所需CPU干預(yù)更少。CPU利用率較高(并行度較高)。缺點(diǎn):通道價(jià)格較高。5.3緩沖管理1、提高處理機(jī)與I/O設(shè)備的并行工作的技術(shù):1)
數(shù)據(jù)傳送控制方式2)
緩沖技術(shù)2、操作系統(tǒng)中,引入緩沖的主要原因
1)緩沖CPU與I/O設(shè)備間速度不匹配的矛盾。2)減少中斷CPU的次數(shù)、3)提高CPU與I/O設(shè)備的并行性3、緩沖實(shí)現(xiàn)方法兩種:1)采用硬件緩沖器實(shí)現(xiàn)2)用軟件緩沖區(qū)來實(shí)現(xiàn)緩沖就是用來對數(shù)據(jù)傳送速度不同的設(shè)備的傳送速度進(jìn)行匹配/緩沖的一種常用手段。其實(shí)現(xiàn)方法除在關(guān)鍵地方可采用硬件緩沖器外,大都采用軟件緩沖來實(shí)現(xiàn)。軟件緩沖區(qū)是指在I/O操作期間,專門用來臨時(shí)存放輸入/輸出數(shù)據(jù)的一塊存儲(chǔ)區(qū)域。4、緩沖技術(shù)的分類
單緩沖
雙緩沖
循環(huán)緩沖
緩沖池5.3緩沖管理單緩沖在設(shè)備和處理機(jī)之間設(shè)置一個(gè)緩沖。設(shè)備與處理機(jī)交換數(shù)據(jù)時(shí),先把交換的數(shù)據(jù)寫入緩沖區(qū),然后需要數(shù)據(jù)的設(shè)備/處理機(jī)再從緩沖區(qū)中取走數(shù)據(jù)。特點(diǎn):緩沖區(qū)數(shù)只有一個(gè);設(shè)備與處理機(jī)對緩沖區(qū)的操作是串行的。用戶進(jìn)程操作系統(tǒng)傳送輸入I/O設(shè)備一塊數(shù)據(jù)的處理時(shí)間在某系統(tǒng)中,從磁盤將一塊數(shù)據(jù)輸入到緩沖區(qū)需要花費(fèi)的時(shí)間T,CPU對一塊數(shù)據(jù)進(jìn)行處理的時(shí)間為C,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)所花時(shí)間為M,那么在單緩沖情況下,系統(tǒng)處理大量數(shù)據(jù)時(shí),一塊數(shù)據(jù)的處理時(shí)間為多少?用戶進(jìn)程操作系統(tǒng)傳送輸入I/O設(shè)備TMCMax(T,C)+MP156圖5-11雙緩沖在設(shè)備和處理機(jī)之間設(shè)置2個(gè)緩沖。設(shè)備與處理機(jī)交換數(shù)據(jù)時(shí),先把交換的數(shù)據(jù)寫入緩沖區(qū),然后需要數(shù)據(jù)的設(shè)備/處理機(jī)再從緩沖區(qū)中取走數(shù)據(jù)。因緩沖區(qū)有2個(gè),提高了設(shè)備與處理機(jī)并行操作的程度,只有當(dāng)兩個(gè)均為空時(shí),需數(shù)據(jù)的進(jìn)程才等待。特點(diǎn):緩沖區(qū)數(shù)有2個(gè);設(shè)備與處理機(jī)對緩沖區(qū)的操作可并行,提高了設(shè)備與處理機(jī)并行操作的程度。用戶進(jìn)程操作系統(tǒng)傳送輸入I/O設(shè)備一塊數(shù)據(jù)的處理時(shí)間在某系統(tǒng)中,從磁盤將一塊數(shù)據(jù)輸入到緩沖區(qū)需要花費(fèi)的時(shí)間T,CPU對一塊數(shù)據(jù)進(jìn)行處理的時(shí)間為C,將緩沖區(qū)的數(shù)據(jù)傳送到用戶區(qū)所花時(shí)間為M,那么在雙緩沖情況下,系統(tǒng)處理大量數(shù)據(jù)時(shí),一塊數(shù)據(jù)的處理時(shí)間為多少?TMC當(dāng)C>T:C+M即MAX(C,T)+M當(dāng)C<T:MAX(C,T)圖5-12用戶進(jìn)程操作系統(tǒng)傳送輸入I/O設(shè)備循環(huán)緩沖在設(shè)備和處理機(jī)之間設(shè)置多個(gè)大小相等的緩沖區(qū),這些緩沖區(qū)構(gòu)成環(huán)形,每一個(gè)緩沖區(qū)中含一指針指向下一個(gè)緩沖區(qū),最后一個(gè)指向第一個(gè)緩沖區(qū),同時(shí)還含有2個(gè)用于輸入/輸出的指針I(yè)N和OUT。
特點(diǎn):緩沖區(qū)數(shù)有多個(gè);設(shè)備與處理機(jī)對緩沖區(qū)的操作可并行,進(jìn)一步提高了設(shè)備與處理機(jī)并行操作的程度。RGGGGR123456NextiNextgRGGGGR123456NexticurrentNextg循環(huán)緩沖的組成循環(huán)緩沖緩沖區(qū)的使用Getbuf過程Releasebuf過程進(jìn)程同步Nexti指針追趕上Nextg指針—輸入進(jìn)程阻塞Nextg指針追趕上Nexti指針—計(jì)算進(jìn)程阻塞1、緩沖池:將系統(tǒng)內(nèi)所有的緩沖區(qū)統(tǒng)一管理起來,就形成了能用于輸入/輸出的緩沖池。緩沖池通常由若干大小相同的緩沖區(qū)組成,是系統(tǒng)的公用資源,任何進(jìn)程都可以申請使用緩沖池中的各個(gè)緩沖區(qū)。2、緩沖池的組成(數(shù)據(jù)結(jié)構(gòu))
三個(gè)隊(duì)列:空緩沖隊(duì)列、裝滿輸入數(shù)據(jù)隊(duì)列、裝滿輸出數(shù)據(jù)隊(duì)列
四個(gè)工作緩沖區(qū):收容輸入緩沖區(qū)、提取輸入收容輸出、提取輸出緩沖區(qū)緩沖池3、getbuf過程和putbuf過程
ProcedureGetbuf(type)beginwait(rs(type));wait(ms(type));B(number):=Takebuf(type);signal(ms(type);end緩沖池
Procedureputbuf(type)beginwait(ms(type));Addbuf(type,number);signal(ms(type);signal(rs(type);end4、操作系統(tǒng)對緩沖池的管理--工作方式hinsinsouthout用戶程序緩沖池提取輸入收容輸出提取輸出收容輸入緩沖區(qū)的工作方式輸入進(jìn)程需要輸入數(shù)據(jù)時(shí):輸入設(shè)備收容輸入緩沖區(qū)-Getbuf(emq)1)從空緩沖隊(duì)列的隊(duì)首取一空緩沖區(qū)用作收容輸入緩沖區(qū)2)輸入設(shè)備將數(shù)據(jù)輸入收容輸入緩沖區(qū)并裝滿3)將此緩沖區(qū)掛到裝滿輸入數(shù)據(jù)隊(duì)列隊(duì)尾。計(jì)算進(jìn)程需要輸入數(shù)據(jù)時(shí):提取輸入緩沖區(qū)CPU-Getbuf(inq)1)從裝滿輸入數(shù)據(jù)隊(duì)列隊(duì)首取一滿緩沖區(qū)用作提取輸入緩沖區(qū)2)CPU從提取輸入緩沖區(qū)中取出數(shù)據(jù)至用完3)將空緩沖區(qū)掛到空緩沖隊(duì)列隊(duì)尾。4、操作系統(tǒng)對緩沖池的管理--工作方式計(jì)算進(jìn)程需要輸出數(shù)據(jù)時(shí):CPU收容輸出緩沖區(qū)-getbuf(emq)
1)從空緩沖隊(duì)列隊(duì)首取一空緩沖區(qū)用作收容輸出緩沖區(qū)2)CPU將數(shù)據(jù)輸入其中并裝滿3)將收容輸出緩沖區(qū)掛到裝滿輸出數(shù)據(jù)隊(duì)列隊(duì)尾。輸出進(jìn)程需要輸出數(shù)據(jù)時(shí):提取輸出緩沖區(qū)-輸出設(shè)備-getbuf(outq)
1)從裝滿輸出數(shù)據(jù)隊(duì)列隊(duì)首取一滿緩沖區(qū)用作提取輸出緩沖區(qū)2)輸出設(shè)備從中取出數(shù)據(jù)至用完3)將空緩沖區(qū)掛到空緩沖隊(duì)列隊(duì)尾4、操作系統(tǒng)對緩沖池的管理--工作方式5.4設(shè)備分配●設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)●設(shè)備分配的策略/應(yīng)考慮的因素●設(shè)備獨(dú)立性●設(shè)備分配程序●SPOOLING技術(shù)7.4.1設(shè)備分配中的數(shù)據(jù)結(jié)構(gòu)設(shè)備控制表DCT(devicecontroltable)控制器控制表COCT(controllercontroltable)通道控制表CHCT(channelcontroltable)系統(tǒng)設(shè)備表SDT(systemdevicetable)DCT表目1……表目i……設(shè)備類型設(shè)備標(biāo)識(shí)符DCT指針獲得設(shè)備的進(jìn)程……控制器標(biāo)識(shí)符控制器狀態(tài):忙/閑CHCT指針控制器等待隊(duì)列指針……通道標(biāo)識(shí)符通道狀態(tài):忙/閑通道等待隊(duì)列指針……SDTCOCTCHDT設(shè)備類型設(shè)備標(biāo)識(shí)符設(shè)備狀態(tài):忙/閑COCT指針設(shè)備等待隊(duì)列指針……5.4.2設(shè)備分配策略/應(yīng)考慮的因素1、設(shè)備的使用性質(zhì)/固有屬性(獨(dú)享分配、共享分配、虛擬分配)2、設(shè)備分配算法
(先請求先服務(wù)、優(yōu)先級(jí)高者優(yōu)先)3、設(shè)備分配的安全性(防止進(jìn)程死鎖)4、設(shè)備獨(dú)立性:是指用戶在編制程序時(shí)所用的設(shè)備(邏輯)與實(shí)際使用的設(shè)備無關(guān)先請求先服務(wù)
當(dāng)有多進(jìn)程對同一設(shè)備提出I/O請求時(shí),系統(tǒng)根據(jù)這些進(jìn)程發(fā)出請求的先后次序?qū)⑺鼈兣懦梢粋€(gè)設(shè)備請求隊(duì)列,設(shè)備分配程序總是把設(shè)備分配給隊(duì)首的進(jìn)程。優(yōu)先級(jí)高者優(yōu)先
按照進(jìn)程優(yōu)先級(jí)的高低進(jìn)行分配。即當(dāng)多進(jìn)程對同一設(shè)備提出I/O請求時(shí),誰優(yōu)先級(jí)高,就將設(shè)備分配給誰。若優(yōu)先級(jí)相同,則按先請求先服務(wù)進(jìn)行分配。5.4.3設(shè)備獨(dú)立性設(shè)備獨(dú)立性概念(設(shè)備無關(guān)性)設(shè)備獨(dú)立性的實(shí)現(xiàn)邏輯設(shè)備(應(yīng)用程序)和物理設(shè)備(執(zhí)行)設(shè)備分配時(shí)的靈活性易于實(shí)現(xiàn)I/O重定向設(shè)備獨(dú)立性軟件執(zhí)行所有設(shè)備的公有操作向用戶層(文件層)軟件提供統(tǒng)一的接口邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)邏輯設(shè)備表LUT(LogicalUnitTable)LUT設(shè)置問題(圖5-8)整個(gè)系統(tǒng)設(shè)置一張LUT;每個(gè)用戶設(shè)一張LUT設(shè)備獨(dú)立性相關(guān)概念設(shè)備獨(dú)立性概念(設(shè)備無關(guān)性)為提高OS的可適應(yīng)性和可擴(kuò)展性,而將應(yīng)用程序獨(dú)立于具體使用的物理設(shè)備。I/O重定向指用于I/O操作的設(shè)備可以更換,即重定向,而不必改變應(yīng)用程序。所有設(shè)備的公有操作獨(dú)立設(shè)備的分配與回收;將邏輯設(shè)備名映射為物理設(shè)備名;對設(shè)備進(jìn)行保護(hù)(禁直訪);緩沖管理;差錯(cuò)控制。邏輯設(shè)備表LUT(LogicalUnitTable)邏輯設(shè)備名物理設(shè)備名驅(qū)動(dòng)程序入口地址/dev/tty31024/dev/print52046………邏輯設(shè)備名系統(tǒng)設(shè)備表指針/dev/tty3/dev/print5……(a)(b)5.4.4獨(dú)占設(shè)備的分配程序基本的設(shè)備分配程序分配設(shè)備分配控制器分配通道問題(“瓶頸”)進(jìn)程以物理設(shè)備名來提出I/O請求采用的是單通路的I/O系統(tǒng)結(jié)構(gòu)設(shè)備分配程序的改進(jìn)增加設(shè)備的獨(dú)立性(進(jìn)程以邏輯設(shè)備名來提出I/O請求)考慮多通路情況分配設(shè)備物理設(shè)備名在SDT找DCT設(shè)備狀態(tài)忙進(jìn)程插入設(shè)備等待隊(duì)列按算法計(jì)算本次分配的安全性安全分配設(shè)備進(jìn)程插入設(shè)備等待隊(duì)列返回yNNY分配控制器物理設(shè)備分配DCT找COCT控制器狀態(tài)忙進(jìn)程插入控制器等待隊(duì)列分配控制器返回YN分配通道控制器分配COCT找CHT通道狀態(tài)忙進(jìn)程插入通道等待隊(duì)列分配通道返回YNSPOOLING技術(shù)(SimultaneausPeriphernalOperationsOn-Line)脫機(jī)輸入、輸出技術(shù)
為了緩和CPU的高速性與I/O設(shè)備的低速性間矛盾而引入,該技術(shù)在外圍控制機(jī)的控制下實(shí)現(xiàn)低速的I/O設(shè)備與高速的磁盤之間進(jìn)行數(shù)據(jù)傳送。SPOOLING技術(shù)SPOOLING系統(tǒng)的組成SPOOLING系統(tǒng)的特點(diǎn)提高了I/O速度將獨(dú)占設(shè)備改造為共享設(shè)備實(shí)現(xiàn)了虛擬設(shè)備功能SPOOLING技術(shù)
(SimultaneausPeriphernalOperationsOn-Line)SPOOLING技術(shù)
在多道程序下,用一程序來模擬外圍控制機(jī),實(shí)現(xiàn)將數(shù)據(jù)從磁盤傳送到低速的輸出設(shè)備上,從而可在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入、輸出功能,進(jìn)而實(shí)現(xiàn)外圍操作與CPU對數(shù)據(jù)處理的并行操作,這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱為SPOOLING技術(shù),是對脫機(jī)輸入、輸出工作的模擬,是操作系統(tǒng)中采用的一項(xiàng)將獨(dú)占設(shè)備改造成為共享設(shè)備的技術(shù)。SPOOLING系統(tǒng)的組成輸入進(jìn)程輸出進(jìn)程輸入緩沖區(qū)輸出緩沖區(qū)輸入設(shè)備輸出設(shè)備輸入井輸出井外存內(nèi)存組成1、輸入井、輸出井2、輸入緩沖區(qū)、輸出緩沖區(qū)3、輸入進(jìn)程、輸出進(jìn)程4、請求打印隊(duì)列SPOOLING技術(shù)在操作系統(tǒng)中,引入虛擬設(shè)備的原因
引入虛擬設(shè)備是為了克服獨(dú)占設(shè)備速度較慢、降低設(shè)備資源利用率的缺點(diǎn),從而提高設(shè)備的利用率。虛擬設(shè)備
是指通過虛擬技術(shù)將一臺(tái)獨(dú)占設(shè)備變換為若干臺(tái)邏輯設(shè)備,供若干個(gè)用戶進(jìn)程使用,通常把這種經(jīng)過虛擬技術(shù)處理后的設(shè)備稱為虛擬設(shè)備。5.5設(shè)備處理設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)設(shè)備驅(qū)動(dòng)程序的功能設(shè)備處理方式設(shè)備驅(qū)動(dòng)程序的特點(diǎn)設(shè)備驅(qū)動(dòng)程序的的處理過程中斷處理程序的處理過程設(shè)備驅(qū)動(dòng)程序的功能將接收到的抽象要求轉(zhuǎn)換為具體要求。檢查用戶I/O請求的合法性,I/O設(shè)備狀態(tài),傳參數(shù),設(shè)設(shè)備的工作方式。按處理機(jī)的I/O請求去啟動(dòng)指定的設(shè)備進(jìn)行I/O操作及時(shí)響應(yīng)由控制器或通道發(fā)來的中斷請求,并進(jìn)行相應(yīng)處理按I/O請求構(gòu)成相應(yīng)通道程序。設(shè)備處理方式為每一類設(shè)備設(shè)置一進(jìn)程,專門執(zhí)行其I/O操作。在整個(gè)系統(tǒng)中設(shè)置一個(gè)進(jìn)程,執(zhí)行所有的I/O操作。不設(shè)置專門的設(shè)備處理進(jìn)程,而為各類設(shè)備設(shè)置相應(yīng)的設(shè)備驅(qū)動(dòng)程序。設(shè)備驅(qū)動(dòng)程序的特點(diǎn)是請求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信程序。與I/O設(shè)備的特性緊密相關(guān)與I/O控制方式緊密相關(guān)與硬件緊密相關(guān),因而其中一部分程序必須用匯編語言編寫。設(shè)備驅(qū)動(dòng)程序的的處理過程將接收到的抽象要求轉(zhuǎn)換為具體要求。檢查用戶I/O請求的合法性讀出和檢查I/O設(shè)備狀態(tài)傳送必要參數(shù)設(shè)置設(shè)備的工作方式。按處理機(jī)的I/O請求去啟動(dòng)指定的設(shè)備進(jìn)行I/O操作中斷處理程序的處理過程喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程保護(hù)被中斷進(jìn)程的CPU環(huán)境分析中斷原因、轉(zhuǎn)入相應(yīng)的設(shè)備中斷處理程序進(jìn)行中斷處理恢復(fù)被中斷進(jìn)程的現(xiàn)場5.6磁盤存儲(chǔ)器提高磁盤I/O速度的主要途徑:(1)選擇性能好的磁盤(2)采用好的磁盤調(diào)度算法(3)設(shè)置磁盤高速緩存(DiskCache)(4)其它方法(5)采用高度可靠、快速的容量磁盤系統(tǒng)_____謙價(jià)磁盤冗余陣列1、磁盤性能磁盤性能簡述數(shù)據(jù)的組織磁盤結(jié)構(gòu)、磁道、柱面、扇區(qū)、磁盤格式化磁盤物理塊的地址:柱面號(hào)磁頭號(hào)扇區(qū)號(hào)磁盤類型(固定頭磁盤、移動(dòng)頭磁盤)訪問時(shí)間尋道時(shí)間:將磁頭從當(dāng)前位置移到指定磁道所經(jīng)歷時(shí)間旋轉(zhuǎn)延遲時(shí)間:指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷時(shí)間傳輸時(shí)間:將扇區(qū)上的數(shù)據(jù)從磁盤讀出/向磁盤寫入數(shù)據(jù)所經(jīng)歷的時(shí)間。磁盤結(jié)構(gòu)磁臂磁頭2、磁盤調(diào)度算法磁盤調(diào)度算法早期的磁盤調(diào)度算法先來先服務(wù)FCFS最短尋道時(shí)間優(yōu)先SSTF掃描算法掃描(SCAN)算法循環(huán)掃描(CSCAN)算法**N-STEP-SCAN調(diào)度算法**FSCAN調(diào)度算法例:假設(shè)一個(gè)請求序列:
98,183,37,122,14,124,65,67磁頭當(dāng)前的位置在53。FCFS先來先服務(wù)按進(jìn)程請求訪問磁盤的先后次序進(jìn)行調(diào)度。下磁道移道數(shù)9845183853714612285141081241106559672總道數(shù)640平均80特點(diǎn):簡單、較合理,但未對尋道進(jìn)行優(yōu)化。最短尋道時(shí)間優(yōu)先(SSTF)l
選擇從當(dāng)前磁頭位置所需尋道時(shí)間最短的請求。下磁道移道數(shù)651267237301423988412224124218359總道數(shù)236平均29.5特點(diǎn):尋道性能比FCFS好,但不能保證尋道時(shí)間最短,且有可能引起某些請求的饑餓。掃描算法(SCAN)磁頭從磁盤的一端開始向另一端移動(dòng),沿途響應(yīng)訪問請求,直到到達(dá)了磁盤的另一端,此時(shí)磁頭反向移動(dòng)并繼續(xù)響應(yīng)服務(wù)請求。有時(shí)也稱為電梯算法。磁頭向磁道號(hào)增加的方向移動(dòng)。下磁道移道數(shù)6512672983112224124218359371461423總道數(shù)299平均37.4下磁道移道數(shù)371614236551672983112224124218359總道數(shù)208平均26
磁頭開始向磁道號(hào)減少的方向移動(dòng)特點(diǎn):尋道性能較好,避免了饑餓,但不利于遠(yuǎn)離磁頭一端的訪問請求。循環(huán)掃描算法(CSCAN)l
規(guī)定磁頭單向移動(dòng)。特點(diǎn):消除了對兩端磁道請求的不公平。下磁道移道數(shù)6512672983112224124218359141693723總道數(shù)322平均40.3N-STEP-SCAN調(diào)度算法SSTF、SCAN及CSCAN存在的問題---磁臂粘著
在SSTF、SCAN及CSCAN幾種調(diào)度算法中,可能出現(xiàn)磁臂停留在某處的情況,即反復(fù)請求某一磁道,從而壟斷了整個(gè)磁盤設(shè)備,這種現(xiàn)象稱為磁臂粘著。N-STEP-SCAN調(diào)度算法
將磁盤請求隊(duì)列分成若干個(gè)長度為N的子隊(duì)列,磁盤調(diào)度將按FCFS算法依次處理這些子隊(duì)列,而每一子隊(duì)列按SCAN算法處理。N=1FCFS算法N很大SCAN算法N取半長度FSCAN算法3、設(shè)置磁盤高速緩存(DiskCache)目前,由于磁盤的I/O速度遠(yuǎn)低內(nèi)存的訪問速度,而致使磁盤的I/O成為計(jì)算機(jī)系統(tǒng)的瓶頸。為提高磁盤的I/O速度,便采用磁盤高速緩存。磁盤高速緩存的形式數(shù)據(jù)交付方式置換算法周期性地寫回磁盤(1)磁盤高速緩存的形式磁盤高速緩存是指內(nèi)存中的一部分存儲(chǔ)空間,用來暫存從磁盤讀出的一系列盤塊中的信息。所以它是一組在邏輯上屬于磁盤,而物理上是駐留在內(nèi)存中的盤塊。磁盤高速緩存的形式內(nèi)存中單獨(dú)的存儲(chǔ)空間(大小固定)未利用的存儲(chǔ)空間__緩沖池(大小不固定)
(2)數(shù)據(jù)交付方式
數(shù)據(jù)交付方式是指磁盤高速緩存中的數(shù)據(jù)傳送給請求者進(jìn)程。系統(tǒng)采取兩種方式,將數(shù)據(jù)交付給請求進(jìn)程:數(shù)據(jù)交付系統(tǒng)直接將磁盤高速緩存中的數(shù)據(jù)傳送到請求者進(jìn)程的內(nèi)存工作區(qū)。指針交付只將指向磁盤高速緩存中該數(shù)據(jù)的指針,交付給請求者進(jìn)程。
(3)置換算法在將磁盤中的盤塊讀入到磁盤高速緩存中時(shí),若因磁盤高速緩存已滿,則采用常用的算法進(jìn)行置換:最近最久未使用算法LRU
最近未使用算法NRU最少使用算法LFU置換時(shí)除算法外還應(yīng)考慮的問題訪問頻率可預(yù)見性數(shù)據(jù)的一致性___解決方法將系統(tǒng)中所有盤塊數(shù)據(jù),拉成一條LRU鏈,對將會(huì)嚴(yán)重影響到數(shù)據(jù)一致性的數(shù)據(jù)和很久都可能不再使用的盤塊數(shù)據(jù),放在LRU頭部,到時(shí)優(yōu)先寫回磁盤。(4)周期性地寫回磁盤系統(tǒng)中所有盤塊數(shù)據(jù),拉成一條LRU鏈,對將會(huì)嚴(yán)重影響到數(shù)據(jù)一致性的數(shù)據(jù)和很久都可能不再使用的盤塊數(shù)據(jù),放在LRU頭部,到時(shí)才優(yōu)先寫回磁盤。若經(jīng)常訪問的數(shù)據(jù)將一直保留磁盤高速緩存中,長期不會(huì)被寫回磁盤,若系統(tǒng)出故障,則存在磁盤高速緩存中的數(shù)據(jù)將丟失。問題解決周期性地將磁盤高速緩存中的數(shù)據(jù)寫回磁盤。磁盤高速緩存中的數(shù)據(jù)若修改,則立即寫回磁盤。4、提高磁盤I/O速度的其它方法提前讀(Read_Ahead)
由于用戶對文件的訪問常用順序方式,在讀當(dāng)前塊時(shí),可預(yù)知下一次要讀的盤塊,所以,可采用預(yù)先讀方式,即在讀當(dāng)前塊的同時(shí),連同將下一塊提前讀入緩沖。當(dāng)訪問下一塊數(shù)據(jù)時(shí),其已在緩沖中,而不需去啟動(dòng)磁盤I/O。延遲寫
在緩存中的數(shù)據(jù),本應(yīng)立即寫回磁盤,考慮不久之后可能會(huì)再用,故不立即寫回磁盤。優(yōu)化物理塊的分布
使磁頭移動(dòng)的距離最?。▋?yōu)化物理塊的分布、優(yōu)化索引結(jié)點(diǎn)的分布)。虛擬盤
利用內(nèi)存去訪真磁盤,又稱為RAM盤。(與磁盤高速緩存的區(qū)別:RAM盤中的內(nèi)容由用戶控制,而緩存中的內(nèi)容則由OS控制)5、謙價(jià)磁盤冗余陣列(RAID)是1987年由美國加利福尼來大學(xué)伯萊分校提出的,1988年問世,即利用一臺(tái)磁盤陳列控制器,來統(tǒng)一管理和控制一組磁盤驅(qū)動(dòng)器,組成一個(gè)高度可靠的、快速的大容量磁盤系統(tǒng)。并行交叉存取RAID的分級(jí)RAID的優(yōu)點(diǎn)(1)并行交叉存取為提高磁盤的訪問速度而在大、中型機(jī)中采用的交叉存取技術(shù),即在一個(gè)配置多臺(tái)磁盤驅(qū)動(dòng)器的系統(tǒng)中,如P179頁圖5-27所示。系統(tǒng)將每一盤塊的數(shù)據(jù)分成若干個(gè)子盤塊數(shù)據(jù),再把每一個(gè)子盤塊的數(shù)據(jù)分別存儲(chǔ)到各個(gè)不同磁盤中的相同位置上,在以后,當(dāng)要將一個(gè)盤塊的數(shù)據(jù)傳送到內(nèi)存時(shí),采取并行傳輸方式,將該盤塊中的各個(gè)子盤塊數(shù)據(jù)同時(shí)向內(nèi)存?zhèn)鬏?,從而使傳輸時(shí)間大大減少。(2)謙價(jià)磁盤冗余陣列(RAID)的分級(jí)
RAID0級(jí)本級(jí)僅提供了并行存取技術(shù),無冗余校驗(yàn)功能,至使磁盤系統(tǒng)的可靠性不好,故較少使用。RAID1級(jí)本級(jí)具有磁盤鎖像功能,即每次訪問磁盤時(shí),采用并行技術(shù)將數(shù)據(jù)同時(shí)主盤(數(shù)據(jù)盤)和磁盤鏡像盤中。磁盤系統(tǒng)的可靠性好,但磁盤利用率不高。RAID3級(jí)本級(jí)采用并行存取技術(shù),增加了冗余校驗(yàn)功能,即用一個(gè)盤作校驗(yàn)盤,常用科學(xué)計(jì)算和圖像處理。RAID5級(jí)本級(jí)具有獨(dú)立傳送功能,各磁盤驅(qū)動(dòng)器可獨(dú)立讀、寫,校驗(yàn)信息在所有盤上,常用于I/O較頻繁的事務(wù)處理中。RAID6級(jí)本級(jí)設(shè)置了一個(gè)專用的、可快速訪問的異步校驗(yàn)盤,該盤具有獨(dú)立的數(shù)據(jù)訪問通路。RAID7級(jí)本級(jí)是對RAID6級(jí)的改進(jìn),所有磁盤均具有較高的傳輸速率和優(yōu)異的性能,是目前最高檔次的磁盤陣列。(3)謙價(jià)磁盤冗余陣列(RAID)的優(yōu)點(diǎn)
可靠性高
是RAID的最大優(yōu)點(diǎn)(除RAID0級(jí)外)磁盤I/O速度高
由于RAID可采用并行交叉存取方式,故提高了磁盤I/O速度。性能/價(jià)格比高用RAID技術(shù)實(shí)現(xiàn)大容量存儲(chǔ)器時(shí),與大型磁盤系統(tǒng)相比,其體積和價(jià)格只是它的1/3,且可靠性高。5.7UNIX系統(tǒng)中的設(shè)備管理Unix系統(tǒng)中,設(shè)備管理被作為一種特殊的文件,由文件系統(tǒng)統(tǒng)一進(jìn)行。設(shè)備緩沖管理字符設(shè)備緩沖管理塊設(shè)備緩沖管理設(shè)備處理程序核心與驅(qū)動(dòng)程序的接口磁盤驅(qū)動(dòng)程序、磁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店管理師筆試題及客戶服務(wù)技巧含答案
- 家具制造企業(yè)營銷部長面試題集
- 汽車銷售客服面試問題與答案
- 通信工程師面試題及5G網(wǎng)絡(luò)架構(gòu)含答案
- 2025年智能化食品加工設(shè)備研發(fā)項(xiàng)目可行性研究報(bào)告
- 2025年人工智能在醫(yī)療健康中的應(yīng)用可行性研究報(bào)告
- 2025年智能化運(yùn)營管理系統(tǒng)項(xiàng)目可行性研究報(bào)告
- 2025年網(wǎng)絡(luò)直播平臺(tái)創(chuàng)新項(xiàng)目可行性研究報(bào)告
- 2025年老年人日間照護(hù)中心建設(shè)可行性研究報(bào)告
- 星辰光芒之旅
- 國家教育招生考試指揮中心建設(shè)項(xiàng)目實(shí)施方案
- 內(nèi)徑千分尺的正確使用方法及讀數(shù)方法
- 比亞迪S7說明書
- 涂裝生產(chǎn)線設(shè)備維護(hù)方案
- 橋梁預(yù)應(yīng)力張拉專項(xiàng)施工方案
- 數(shù)字邏輯星明著課后習(xí)題答案華中科技
- HXD1C型電力機(jī)車的日常檢修工藝設(shè)計(jì)
- GA/T 1088-2013道路交通事故受傷人員治療終結(jié)時(shí)間
- ALCATEL 交換機(jī)配置手冊(中文)new
- 專升本《模擬電子技術(shù)》模擬的題目試卷
- 山東省水利水電工程施工企業(yè)安全生產(chǎn)管理三類人員考試題庫-上(單選、多選題)
評論
0/150
提交評論