chapter5-設(shè)備管理 計(jì)算機(jī)操作系統(tǒng) 教學(xué)課件_第1頁(yè)
chapter5-設(shè)備管理 計(jì)算機(jī)操作系統(tǒng) 教學(xué)課件_第2頁(yè)
chapter5-設(shè)備管理 計(jì)算機(jī)操作系統(tǒng) 教學(xué)課件_第3頁(yè)
chapter5-設(shè)備管理 計(jì)算機(jī)操作系統(tǒng) 教學(xué)課件_第4頁(yè)
chapter5-設(shè)備管理 計(jì)算機(jī)操作系統(tǒng) 教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩128頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)操作系統(tǒng)

主講教師:周星

1課程主要內(nèi)容

詼操作系統(tǒng)引論(1章)

育進(jìn)程管理(2?3章)

黨存儲(chǔ)管理(4章)

育設(shè)備管理(5章)

詼文件管理(6章)

貨操作系統(tǒng)接口(7章)

的系統(tǒng)安全性(9章)

甘*分布式操作系統(tǒng)

上設(shè)備管理概述

設(shè)備管理是操作系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)中除CPU和內(nèi)存之

外的外部設(shè)備進(jìn)行管理、以及對(duì)數(shù)據(jù)傳輸進(jìn)行控制的模塊,

是操作系統(tǒng)資源管理中最復(fù)雜、最多樣化的部分。

操作系統(tǒng)設(shè)備管理中,提高設(shè)備利用率的關(guān)鍵是實(shí)現(xiàn)

設(shè)備的并行操作。一方面,諸設(shè)備要與CPU并行,另一方

面,諸設(shè)備間也要并行。操作系統(tǒng)的設(shè)備管理模塊要在硬

件提供的通道和中斷機(jī)制、以及設(shè)備提供的物理性能的支

持下,實(shí)現(xiàn)多任務(wù)、多進(jìn)程共享多種外部設(shè)備,高效地完

成數(shù)據(jù)傳輸工作。

上第5章設(shè)備管理

5.1I/O系統(tǒng)

5.2I/O控制方式

5.3緩沖管理

5.4設(shè)備分配

5?5設(shè)備處理

本章作業(yè)

5.6磁盤(pán)存儲(chǔ)器管理

5.7*UNIX系統(tǒng)中的設(shè)備管理

*5.1I/O系統(tǒng)

■I/O系統(tǒng):用于實(shí)現(xiàn)數(shù)據(jù)輸入、輸出及數(shù)據(jù)存儲(chǔ)

的系統(tǒng)。

511I/O設(shè)備

5」.2設(shè)備控制器

513I/O通道

5.1,4I/O系統(tǒng)的總線(xiàn)系統(tǒng)

5.1.5I/O系統(tǒng)的結(jié)構(gòu)

*5.1」I/O設(shè)備

1、I/O設(shè)備的類(lèi)型

1)按設(shè)備的從屬關(guān)系分類(lèi)

力系統(tǒng)設(shè)備:指操作系統(tǒng)生成時(shí)即安裝操作系統(tǒng)時(shí),

就納入系統(tǒng)管理范圍的各種標(biāo)準(zhǔn)設(shè)備。如鍵盤(pán)、

顯示器、打印機(jī)等。

力用戶(hù)設(shè)備:它是指系統(tǒng)設(shè)備之外的非標(biāo)準(zhǔn)設(shè)備,

在安裝操作系統(tǒng)時(shí)沒(méi)有配置,而由用戶(hù)自己安裝

配置的設(shè)備。如繪圖儀、掃描儀等。

上5.1.1I/O設(shè)備

2)按信息交換的單位分類(lèi)

o塊設(shè)備:信息交換的基本單位為字符塊,屬

于有結(jié)構(gòu)設(shè)備,塊大小一般為512B-4KB,

典型的有:磁盤(pán)、磁帶等。

o字符設(shè)備:信息交換的基本單位為字符,典

型的有:鍵盤(pán)、打印機(jī)和顯示器等。

5,1.1I/O設(shè)備----------.

-------------------------f包括所有的字符型

3>)按使用方式/共享屬性分類(lèi)備和磁帶機(jī),

力獨(dú)享/獨(dú)占設(shè)備:這類(lèi)設(shè)備一旦分配給某個(gè)實(shí)體(用

戶(hù)、作業(yè)、任務(wù)或進(jìn)程)使用,在沒(méi)被釋放前,其

它實(shí)體不得使用。多數(shù)低速設(shè)備屬于此類(lèi),打印機(jī)

就典型的獨(dú)享設(shè)備。]包世浮堂名以外的所有塊型設(shè)備

力共享設(shè)備:在一段吁商關(guān)渾姿了用戶(hù)進(jìn)程同時(shí)訪問(wèn)

的設(shè)備。磁盤(pán)就典型的共享設(shè)備。

口虛擬設(shè)備:通過(guò)一定的輔助存儲(chǔ)器和控制程序,可

將一臺(tái)獨(dú)享設(shè)備模擬為共享設(shè)備,這個(gè)具有了新特

性的設(shè)備就稱(chēng)為虛擬設(shè)備。

上5.1」改設(shè)備

4)按傳輸速率分類(lèi)

力低速設(shè)備:傳輸速率僅為每秒鐘幾個(gè)字節(jié)至數(shù)

百個(gè)字節(jié)的設(shè)備。典型的有:鍵盤(pán)、鼠標(biāo)、語(yǔ)音

的輸入/輸出等。

力中速設(shè)備:傳輸速率僅為每秒鐘數(shù)千個(gè)字節(jié)至數(shù)

數(shù)萬(wàn)個(gè)字節(jié)的設(shè)備。典型的有:打印機(jī)等。

力高速設(shè)備:傳輸速率僅為每秒鐘數(shù)百千個(gè)字節(jié)至

數(shù)十兆字節(jié)的設(shè)備。典型的有:磁盤(pán)機(jī)、磁帶機(jī)、

光盤(pán)機(jī)等。

*54.2設(shè)備控制器

■傳統(tǒng)的設(shè)備=機(jī)械部分+電子部分

■電子部分在系統(tǒng)的控制下驅(qū)動(dòng)機(jī)械部分運(yùn)轉(zhuǎn),完成

I/O操作

■由于設(shè)備中電子部分比機(jī)械部分的速度快得多,為

了降低硬件成本,將電子部分從設(shè)備中分離出來(lái)作

為一個(gè)獨(dú)立的部件,這就是控制器。在小型和微型

機(jī)中,它常采用印刷電路卡插入計(jì)算機(jī)中。

■分離之后的設(shè)備僅由機(jī)械部分構(gòu)成,一個(gè)控制器可

與多個(gè)設(shè)備相連(因?yàn)榭刂破鞯乃俣瓤煊跈C(jī)械部

分),交替地或分時(shí)地控制與其相連的設(shè)備。例如,

磁盤(pán)控制器可以控制多個(gè)磁盤(pán)驅(qū)動(dòng)器。

?512設(shè)備控制器

■設(shè)備控制器

>是處于CPU與I/O設(shè)備之間的接口,接可攵CPU發(fā)

來(lái)的命令,并控制I/O設(shè)備工作,是一個(gè)可編址

設(shè)備。

A功能:接收和識(shí)別命令、實(shí)現(xiàn)數(shù)據(jù)交換、了解

設(shè)備狀態(tài)以及識(shí)別設(shè)備地址。

上5.1.2設(shè)備控制器

A設(shè)備控制器的組成

O設(shè)備控制器與處理機(jī)的接口

力設(shè)備控制器與設(shè)備接口

3/0邏輯

。寄存器:控制寄存器(存放命令及參數(shù))、數(shù)據(jù)寄

存器(存放數(shù)據(jù))、狀態(tài)寄存器(記錄設(shè)備狀態(tài))。

1設(shè)備控制器的組成

CPU與控制器接口控制器與設(shè)備接口

數(shù)據(jù)

狀態(tài)

控制

數(shù)據(jù)

狀態(tài)

控制

返回

5.1.3I/O通道

■引入原因

■根據(jù)信息交換方式的不同,通道可分成以下幾種類(lèi)型:

A字節(jié)多路通道

A數(shù)組選擇通道

A數(shù)組多路通道

■注:“瓶頸”問(wèn)題

豈3字節(jié)多:路通道

>1)有'一個(gè)主通道。

>2)含有多個(gè)子通道A、、C

>3)每子通道通過(guò)一控制器與一臺(tái)中/低速的I/O設(shè)

備相連,可同時(shí)并行向主通道傳數(shù)據(jù)。

>4)各子通道以時(shí)間片輪轉(zhuǎn)方式按字節(jié)交叉使用主

通道。

■優(yōu)點(diǎn):可連多臺(tái)中/低速設(shè)備;能分時(shí)并行操作。

■缺點(diǎn):傳輸率較低。

案GOOOO

數(shù)組選擇通道

■數(shù)據(jù)傳送是按成組方式進(jìn)行工作,每次傳輸一批數(shù)

據(jù)。主要用于連接高速I(mǎi)/O設(shè)備。

>1)有一個(gè)主通道

>2)含有多個(gè)子通道A、B、C...

>3)每子通道通過(guò)一控制器與一臺(tái)中/低速的I/O設(shè)

備相連,在一段時(shí)間內(nèi)只能選擇一個(gè)子通道程序

執(zhí)行。

■優(yōu)點(diǎn):可連多臺(tái)高速設(shè)備;傳輸率較高。

■缺點(diǎn):某子通道不傳數(shù)據(jù),而使主通道閑置,其它

子通道也不能傳數(shù)據(jù)。所以通道的利用率很低。

n

數(shù)組多路通道

■數(shù)據(jù)傳送仍是按數(shù)組方式工作。工作原理(結(jié)合

兩者:并行十?dāng)?shù)組)

>1)有一>個(gè)主通道

A2)含有多個(gè)子通道A、B、C

a3)每子通道通過(guò)一控制器與一臺(tái)高/中速的I/O設(shè)

備相連,可同時(shí)并行向主通道傳數(shù)據(jù)。

>4)各子通道以時(shí)間片輪轉(zhuǎn)方式按數(shù)組方式使用

主通道。

■優(yōu)點(diǎn):可連多臺(tái)高/中速設(shè)備;能分時(shí)并行操作,

傳輸率較高。口

lnJ

存儲(chǔ)器

單通路I/O系統(tǒng)

I解天”施頰〃I可題的萬(wàn)法一多路萬(wàn)

___

多通路I/O系統(tǒng)

上5.1.5I/O系統(tǒng)的結(jié)構(gòu)

磁盤(pán)驅(qū)動(dòng)器打印機(jī)

CPU存儲(chǔ)器

微型機(jī)I/O系統(tǒng)結(jié)構(gòu)一總線(xiàn)型

設(shè)

主機(jī)I/O系統(tǒng)一具有通道

上5.2I/O控制方式

■常用的輸入/輸出控制方式:

[、程序控制方式

2、中斷控制方式

3、一接存儲(chǔ)器訪問(wèn)DMA方式

4、通道控制方式

返回

上1、程序直接控制方式

■程序控制輸入/輸出方式又稱(chēng)為狀態(tài)驅(qū)動(dòng)輸入/輸出

方式或應(yīng)答輸入/輸出方式

■它采用程序查詢(xún)的方式直接參與數(shù)據(jù)的輸入/輸出

(注意:程序就是CPU)

■問(wèn)題:CPU等待每一個(gè)操作完成的時(shí)候會(huì)花費(fèi)大量

時(shí)間“忙于什么也不做”(busydoing

nothing)----CPU大部分時(shí)間都處于檢查和等待狀

態(tài),整個(gè)計(jì)算系統(tǒng)的效率十分低下。

■呈序控制輸入/輸出方式一以鍵盤(pán)為例

1、CPU向鍵盤(pán)的控制器發(fā)一條輸入命令,啟動(dòng)鍵盤(pán)進(jìn)

行輸入操作,并將狀態(tài)寄存器的“忙/閑位”置1,

表示忙。

2、然后CPU運(yùn)行程序不斷測(cè)試狀態(tài)寄存器的完成位,

看鍵盤(pán)是否完成了輸入。直到鍵盤(pán)已將數(shù)據(jù)輸入到

了鍵盤(pán)控制器的數(shù)據(jù)寄存器中,狀態(tài)寄存器的完成

位變?yōu)?時(shí),CPU才停止測(cè)試。

3、CPU取走數(shù)據(jù)寄存器中的輸入數(shù)據(jù)。

■目前IDE接口硬盤(pán)仍在使用這種方式,稱(chēng)為PIO

(ProgrammingInput/Output)模式。

上2、中斷控制方式

1)需數(shù)據(jù)的進(jìn)程向CPU發(fā)出指令啟動(dòng)I/O設(shè)備輸入

數(shù)據(jù)。

2)該進(jìn)程放棄處理機(jī),等待輸入完成。

3)輸入完成后,I/O控制器向CPU發(fā)出中斷請(qǐng)求,

CPU收到后,轉(zhuǎn)向中斷服務(wù)程序。中斷服務(wù)程序

將輸入寄存器中的數(shù)據(jù)送指定內(nèi)存單元,并將原

進(jìn)程喚醒,繼續(xù)執(zhí)行。

4)在以后,該進(jìn)程再被調(diào)度,從內(nèi)存單元取出數(shù)

據(jù)進(jìn)行處理。

■斷輸入/輸出方式一以鍵盤(pán)輸入為例

(1)開(kāi)中斷。CPU把啟動(dòng)位和中斷允許位為1的控制字寫(xiě)

入鍵盤(pán)控制狀態(tài)寄存器中,啟動(dòng)鍵盤(pán)。(當(dāng)中斷允許位為1時(shí),

中斷程序可以被調(diào)用。)

(2)進(jìn)程等待鍵盤(pán)輸入完成(進(jìn)入等待隊(duì)列),由進(jìn)程調(diào)度

程序調(diào)度其他就緒進(jìn)程使用CPUo

(3)鍵盤(pán)啟動(dòng)后,當(dāng)數(shù)據(jù)寄存器裝滿(mǎn)后,鍵盤(pán)控制器通過(guò)

中斷請(qǐng)求線(xiàn)向CPU發(fā)出中斷信號(hào)。

(4)CPU暫停正在進(jìn)行的工作,轉(zhuǎn)向執(zhí)行中斷處理程序。

(取出數(shù)據(jù)寄存器中的輸入數(shù)據(jù)送到內(nèi)存特定單元,并將等待輸入完成的

進(jìn)程喚醒。)

(5)中斷處理程序完畢,CPU返回?cái)帱c(diǎn)繼續(xù)執(zhí)行。

(6)以后某個(gè)時(shí)刻,進(jìn)程調(diào)度程序選中正處于就緒狀態(tài)的

那個(gè)進(jìn)程,該進(jìn)程從特定內(nèi)存單元中取出所需的數(shù)據(jù)繼

續(xù)工作。

優(yōu)點(diǎn):CPU不需等待數(shù)據(jù)傳輸

完成,I/O設(shè)備與CPU并行工

作,CPU的利用率因此提高。

缺點(diǎn):CPU在響應(yīng)中斷后,還

需要時(shí)間來(lái)執(zhí)行中斷服務(wù)程序。

如果數(shù)據(jù)量大,需要多次執(zhí)行

中斷程序,CPU的效率仍然不

返回

上3、DMA方式

1)需數(shù)據(jù)的進(jìn)程向CPU發(fā)出指令,向DMA控制器寫(xiě)入數(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ù)寫(xiě)入內(nèi)存中。

4)DMA控制器傳送完數(shù)據(jù)后向CPU發(fā)中斷請(qǐng)求,CPU響

應(yīng)后轉(zhuǎn)向中斷服務(wù)程序喚醒進(jìn)程,并返回被中斷程序。

5)在以后該進(jìn)程再被調(diào)度,從內(nèi)存單元取出數(shù)據(jù)進(jìn)行處

理。

3、DMA方式

■優(yōu)點(diǎn).一CPU利用率進(jìn)一步提高(并行度有所提

局)O

■缺點(diǎn).一數(shù)據(jù)傳送方向、字節(jié)數(shù)、內(nèi)存地址等需由

CPU控制,且每一設(shè)備需一臺(tái)DMA控制器,設(shè)備

增多時(shí),不經(jīng)濟(jì)。

返回

4、通道控制方式

■通道是一個(gè)獨(dú)立于CPU的專(zhuān)管輸入/輸出控制的處理

機(jī),它控制設(shè)備與內(nèi)存直接進(jìn)行數(shù)據(jù)交換。

■通道有自己的一套簡(jiǎn)單的指令系統(tǒng),稱(chēng)為通道指令。

每條通道指令規(guī)定了設(shè)備的一種操作,通道指令序列

便是通道程序,通道執(zhí)行通道程序來(lái)完成規(guī)定動(dòng)作。

■通道靠執(zhí)行通道程序軟件完成數(shù)據(jù)傳輸,通道控制器

的功能比DMA控制器更強(qiáng)大,它能夠承擔(dān)外設(shè)的大

部分工作。

4、通道控制方式

1)需數(shù)據(jù)的進(jìn)程向CPU發(fā)出指令,CPU發(fā)出啟動(dòng)指令指

明I/O操作、設(shè)備號(hào)和對(duì)應(yīng)的通道。

2)該進(jìn)程放棄CPU等待輸入完成,CPU被其它進(jìn)程占據(jù)。

3)通道接收到CPU發(fā)來(lái)的啟動(dòng)指令后,取出內(nèi)存中的通

道程序執(zhí)行,控制設(shè)備將數(shù)據(jù)傳送到內(nèi)存指定區(qū)域。

4)傳送完數(shù)據(jù)后,通道向CPU發(fā)中斷請(qǐng)求,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è)備間速度不匹配的矛盾

>如:計(jì)算----打印buffer------打印

2)減少中斷CPU的次數(shù)

?如:buffer越大,“buffer滿(mǎn)”信號(hào)發(fā)生頻率越低。

3)提高CPU與I/O設(shè)備的并行性

35.3緩沖管理

3、緩沖的兩種實(shí)現(xiàn)方法:

1)采用硬件緩沖器實(shí)現(xiàn)

2)用軟件緩沖區(qū)來(lái)實(shí)現(xiàn)

>緩沖是用來(lái)對(duì)數(shù)據(jù)傳送速度不同的設(shè)備的傳送速

度進(jìn)行匹配/緩沖的一種常用手段。其實(shí)現(xiàn)方法除

在關(guān)鍵地方可采用硬件緩沖器外,大都采用軟件

緩沖來(lái)實(shí)現(xiàn)。軟件緩沖區(qū)是指在I/O操作期間,專(zhuān)

門(mén)用來(lái)臨時(shí)存放輸入/輸出數(shù)據(jù)的一塊存儲(chǔ)區(qū)域。

沖管理

4、緩沖技術(shù)的分類(lèi)

單緩沖雙緩沖

循環(huán)緩沖緩沖池

返回

上單緩沖

■在設(shè)備和處理機(jī)之間設(shè)置一個(gè)緩沖。設(shè)備與處理機(jī)

交換數(shù)據(jù)時(shí),先把交換的數(shù)據(jù)寫(xiě)入緩沖區(qū),然后需

要數(shù)據(jù)的設(shè)備/處理機(jī)再?gòu)木彌_區(qū)中取走數(shù)據(jù)。

■特點(diǎn):緩沖區(qū)數(shù)只有一個(gè);設(shè)備與處理機(jī)對(duì)緩沖區(qū)

的操作是串行的。

■圖示

上一塊數(shù)據(jù)的處理時(shí)間

工作區(qū)卜%-緩沖區(qū)卜辛

II/O設(shè)備

用戶(hù)進(jìn)程C操作系統(tǒng)

■無(wú)緩沖區(qū)時(shí),該時(shí)間為T(mén)+C

■由于C和T可并行,M和C或M和T不能并行,因此處

理一塊數(shù)據(jù)時(shí)間:Max(C,T)+M

返回

J.雙緩沖

■增加一個(gè)緩沖區(qū),兩個(gè)緩沖區(qū)可以交替使用

■若用戶(hù)進(jìn)程陣發(fā)性I/O的數(shù)據(jù)超過(guò)一個(gè)緩沖區(qū)而不足兩個(gè)

緩沖區(qū),雙緩沖使進(jìn)程不會(huì)在I/O數(shù)據(jù)期間被阻塞。

■在設(shè)備和處理機(jī)之間設(shè)置2個(gè)緩沖。設(shè)備與處理機(jī)交換

數(shù)據(jù)時(shí),先把交換的數(shù)據(jù)寫(xiě)入緩沖區(qū),然后需要數(shù)據(jù)的

設(shè)備/處理機(jī)再?gòu)木彌_區(qū)中取走數(shù)據(jù)。因緩沖區(qū)有2個(gè),

提高了設(shè)備與處理機(jī)并行操作的程度,只有當(dāng)兩個(gè)均為

空時(shí),需數(shù)據(jù)的進(jìn)程才等待。

■特點(diǎn):緩沖區(qū)數(shù)有2個(gè);設(shè)備與處理機(jī)對(duì)緩沖區(qū)的操作

可并行,提高了設(shè)備與處理機(jī)并行操作的程度。

上雙緩沖

雙緩沖示例

雙緩沖圖示

一塊數(shù)據(jù)的處理時(shí)間

"簟魚(yú)I/O設(shè)備

MrT

用戶(hù)進(jìn)程C操作系統(tǒng)

■當(dāng)C>T:C+M即MAX(C,T)+M

■當(dāng)C〈T:MAX(C,T)

】■循環(huán)緩沖

—I用戶(hù)進(jìn)程至理數(shù)據(jù)的速度較快、外部設(shè)備處理

數(shù)據(jù)的速度較慢,或者用戶(hù)進(jìn)程陣發(fā)性輸入/輸出

的數(shù)據(jù)較多時(shí),必須考慮增加緩沖區(qū)的數(shù)量以改

善系統(tǒng)性能,這就是多緩沖區(qū)方式(被組織成循

環(huán)隊(duì)列,故稱(chēng)為循環(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ī)對(duì)緩沖區(qū)

的操作可并行,進(jìn)一步提高了設(shè)備與處理機(jī)并行

操作的程度。

上循環(huán)緩沖的組成

類(lèi)型:

R:空緩沖;G:滿(mǎn)緩沖;C:當(dāng)前緩沖

1循環(huán)緩沖

■緩沖區(qū)的使用

?Getbuf過(guò)程

力計(jì)算進(jìn)程取Nextg對(duì)應(yīng)緩沖區(qū)使用,將Nextg置為

空,Nextg=(Nextg+1)ModN

◎輸入進(jìn)程取Nexti對(duì)應(yīng)緩沖區(qū)使用,將Nexti置為

滿(mǎn),Nexti=(Nexti+1)ModN

?Releasebuf過(guò)程

◎若C滿(mǎn),則改為G;

0若C空,則改為R;

土循環(huán)緩沖

■進(jìn)程同步

aNexti追上Nextg:表示輸入速度)輸出速度,

全部buf滿(mǎn),這時(shí)輸入進(jìn)程阻塞。

aNextg追上Nexti:輸入速度〈輸出速度,全部

buf空,這時(shí)輸出進(jìn)程阻塞。

上緩沖池

■上述三種緩沖區(qū)的組織形式僅適用于某種特定的I/O

進(jìn)程和計(jì)算進(jìn)程,屬于專(zhuān)用緩沖。

■當(dāng)系統(tǒng)中的設(shè)備很多時(shí),將會(huì)有許多這樣的循環(huán)緩

沖區(qū),消耗大量的內(nèi)存空間,而且其利用率也不高。

■為了提高緩沖區(qū)的利用率,可以采用公共緩沖池技

術(shù),其中的緩沖區(qū)可為多個(gè)設(shè)備和進(jìn)程服務(wù)。

上緩沖池

1、緩沖池:將系統(tǒng)內(nèi)所有的緩沖區(qū)統(tǒng)一管理起來(lái),就形

成了能用于輸入/輸出的緩沖池。緩沖池通常由若干大

小相同的緩沖區(qū)組成,是系統(tǒng)的公用資源,任何進(jìn)程

都可以申請(qǐng)使用緩沖池中的各個(gè)緩沖區(qū)。

2、緩沖池的組成(數(shù)據(jù)結(jié)構(gòu))

?三個(gè)隊(duì)列:空緩沖隊(duì)列emq、裝滿(mǎn)輸入數(shù)據(jù)隊(duì)列

inq、裝滿(mǎn)輸出數(shù)據(jù)隊(duì)列outq

?四個(gè)工作緩沖區(qū):收容輸入緩沖區(qū)hin、提取輸入

sin、收容輸出hout、提取輸出緩沖區(qū)sout

3、getbuf過(guò)程和putbuf過(guò)程

ProcedureGetbuf(type)ProcedurePutbuf(type)

beginbegin

wait(rs(type));wait(ms(type));

wait(ms(type));Addbuf(type,number);

B(number):=Takebuf(type);signal(ms(type));

signal(ms(type);signal(rs(type));

endend

、操作系統(tǒng)對(duì)緩沖池的管理一工作方式

緩沖池

收容輸提取輸入用

sin

戶(hù)

提取輸出收容輸出

southout<序

緩沖區(qū)的工作方式

、操作系統(tǒng)對(duì)緩沖池的管理一工作方式

1)輸入進(jìn)程需要輸入數(shù)據(jù)時(shí):hin=getbuf(emq);輸

入數(shù)據(jù);putbuf(inq,hin)

從空緩沖隊(duì)列的隊(duì)首取一空緩沖區(qū)用作收容輸

入緩沖區(qū);

>2)輸入設(shè)備將數(shù)據(jù)輸入收容輸入緩沖區(qū)并裝滿(mǎn);

>3)將此緩沖區(qū)掛到裝滿(mǎn)輸入數(shù)據(jù)隊(duì)列隊(duì)尾。

、操作系統(tǒng)對(duì)緩沖池的管理一工作方式

2)計(jì)算進(jìn)程需要輸入數(shù)據(jù)時(shí):sin=getbuf(inq);計(jì)

算;putbuf(emq,sin)

>1)從裝滿(mǎn)輸入數(shù)據(jù)隊(duì)列隊(duì)首取一滿(mǎn)緩沖區(qū)用作提

取輸入緩沖區(qū);

>2)CPU從提取輸入緩沖區(qū)中取出數(shù)據(jù)至用完;

>3)將空緩沖區(qū)掛至1空緩沖隊(duì)列隊(duì)尾。

、操作系統(tǒng)對(duì)緩沖池的管理一工作方式

3)計(jì)算進(jìn)程需要輸出數(shù)據(jù)時(shí):hout=getbuf(emq);

輸出數(shù)據(jù);putbuf(outq,hout)

A1)從空緩沖隊(duì)列隊(duì)首取一空緩沖區(qū)用作收容輸出

緩沖區(qū);

>2)CPU將數(shù)據(jù)輸入其中并裝滿(mǎn);

>3)1尋收容輸出緩沖區(qū)掛到裝滿(mǎn)輸出數(shù)據(jù)隊(duì)列隊(duì)尾。

上4、操作系統(tǒng)對(duì)緩沖池的管理一工作方式

4)輸出進(jìn)程需要輸出數(shù)據(jù)時(shí):hout=getbuf(outq);

輸出;putbuf(emq,hout)

A1)從裝滿(mǎn)輸出數(shù)據(jù)隊(duì)列隊(duì)首取一滿(mǎn)緩沖區(qū)用作

提取輸出緩沖區(qū);

A2)輸出設(shè)備從中取出數(shù)據(jù)至用完;

>3)將空緩沖區(qū)掛到空緩沖隊(duì)列隊(duì)尾。

5.4設(shè)備分配

■包括:對(duì)設(shè)備、設(shè)備控制器、通道的分配

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

A設(shè)備分配的策略/應(yīng)考慮的因素

A設(shè)備獨(dú)立性

>設(shè)備分配程序

aSPOOLING技術(shù)

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

■系統(tǒng)設(shè)備表SDT(systemdevicetable)

■設(shè)備控制表DCT(devicecontroltable)

■控制器控制表COCT(controllercontroltable)

■通道控制表CHCT(channelcontroltable)

DCT

設(shè)備類(lèi)型

設(shè)備標(biāo)識(shí)符

設(shè)備狀態(tài):忙/閑

COCT指針

設(shè)備等待隊(duì)列指針

COCTCHCT

控制器標(biāo)識(shí)符通道標(biāo)識(shí)符

控制器狀態(tài):忙/閑通道狀態(tài):忙/閑

CHCT指針

通道等待隊(duì)列指針

控制器等待隊(duì)列指針

5.4.2設(shè)備分配策略/應(yīng)考慮的因素

1、設(shè)備的使用性質(zhì)/固有屬性

A獨(dú)享分配、共享分配、虛擬分配

2、設(shè)備分配算法

A先請(qǐng)求先服務(wù)、優(yōu)先級(jí)高者優(yōu)先

3、設(shè)備分配的安全性(防止進(jìn)程死鎖)

4、設(shè)備獨(dú)立性:是指用戶(hù)在編制程序時(shí)所用的設(shè)備

(邏輯)與實(shí)際使用的設(shè)備無(wú)關(guān)

設(shè)備分配算法

■先請(qǐng)求先服務(wù)

A當(dāng)有多進(jìn)程對(duì)同一設(shè)備提出I/O請(qǐng)求時(shí),系統(tǒng)根

據(jù)這些進(jìn)程發(fā)出請(qǐng)求的先后次序?qū)⑺鼈兣懦梢粋€(gè)

設(shè)備請(qǐng)求隊(duì)列,設(shè)備分配程序總是把設(shè)備分配給

隊(duì)首的進(jìn)程。

■優(yōu)先級(jí)高者優(yōu)先

A按照進(jìn)程優(yōu)先級(jí)的高低進(jìn)行分配。即當(dāng)多進(jìn)程對(duì)

同一設(shè)備提出I/O請(qǐng)求時(shí),誰(shuí)優(yōu)先級(jí)高,就將設(shè)

備分配給誰(shuí)。若優(yōu)先級(jí)相同,則按先請(qǐng)求先服務(wù)

進(jìn)行分配。

?543設(shè)備獨(dú)立性

■設(shè)備獨(dú)立性概念(設(shè)備無(wú)關(guān)性)

A為提高OS的可適應(yīng)性和可擴(kuò)展性,而將應(yīng)用程

序獨(dú)立于具體使用的物理設(shè)備。

>邏輯設(shè)備

>物理設(shè)備

>邏輯設(shè)備表(LUT)

土543設(shè)備獨(dú)立性

■設(shè)備獨(dú)立性的實(shí)現(xiàn)

A邏輯設(shè)備(應(yīng)用程序)和物理設(shè)備(執(zhí)行)

O設(shè)備分配時(shí)的靈活性

/邏輯設(shè)備和物理設(shè)備間可以是多——多的映

射關(guān)系。提高了物理設(shè)備的共享性,以及使

用的靈活性。如:某邏輯名可對(duì)應(yīng)這一類(lèi)設(shè)

備,提高均衡性與容錯(cuò)性;幾個(gè)邏輯名可對(duì)

應(yīng)某一個(gè)設(shè)備,提高共享性。

力易于實(shí)現(xiàn)I/O重定向

t543設(shè)備獨(dú)立性

■設(shè)備獨(dú)立性的實(shí)現(xiàn)

>設(shè)備獨(dú)立性軟件

力執(zhí)行所有設(shè)備的公有操作

力向用戶(hù)層(文件層)軟件提供統(tǒng)一的接口

/read、write

土543設(shè)備獨(dú)立性

■設(shè)備獨(dú)立性的實(shí)現(xiàn)

>邏輯設(shè)備名到物理設(shè)備名映射的實(shí)現(xiàn)

一邏輯設(shè)備表LUT(LoqicalUnitTable)

a分配流程:進(jìn)程給出邏輯名——通過(guò)LUT得到物

理設(shè)備及其driver入口。

?LUT設(shè)置問(wèn)題(圖5?18)

由整個(gè)系統(tǒng)設(shè)置一張LUT;每個(gè)用戶(hù)設(shè)一張LUT

上設(shè)備獨(dú)立性相關(guān)概念

■I/O重定向

A指用于I/O操作的設(shè)備可以更換,即重定向,而不

必改變應(yīng)用程序,只需改變LUT表的映射關(guān)系。

■所有設(shè)備的公有操作

A獨(dú)立設(shè)備的分配與回收;將邏輯設(shè)備名映射為物

理設(shè)備名;對(duì)設(shè)備進(jìn)行保護(hù)(禁直訪);緩沖管

理;差錯(cuò)控制。f

邏輯設(shè)備表LUT(LoqicalUnitTable)

邏輯設(shè)備名物理設(shè)備名驅(qū)動(dòng)程序入口地址

/dev/tty31024

/dev/print52046

■■■■■■■■■

(a)

邏輯設(shè)備名系統(tǒng)設(shè)備表指針

/dev/tty3

/dev/print5

■■■■■■

(b)

J.544獨(dú)占設(shè)備的分配程序

■的設(shè)備分配程序

>分配設(shè)備

A分配控制器

A分配通道

>問(wèn)題(“瓶頸”)

。進(jìn)程以物理設(shè)備名來(lái)提出I/O請(qǐng)求

口采用的是單通路的I/O系統(tǒng)結(jié)構(gòu)

■設(shè)備分配程序的改進(jìn)

>增加設(shè)備的獨(dú)立性(進(jìn)程以邏輯設(shè)備名提出I/O請(qǐng)求)

A考慮多通路情況wt

分配設(shè)備

ASDTADCT

I設(shè):狀態(tài)I

進(jìn)程插入~~[y

設(shè)彳等待隊(duì)列1

本次分配的安全性

上分配控制器

物理設(shè)備分配

DCT^COCT

控制器狀態(tài)

進(jìn)程插入

控制器等待隊(duì)列

分配控制器

返回

分配通道

控制手分配

COCipCHCT

進(jìn)程插入

通道等待隊(duì)列

分配通道

*返回

ISPOOUNG技術(shù)

^jg[SimultaneausPeriphernalOperationsOn-Line)

■脫機(jī)輸入、輸出技術(shù)

>為了緩和CPU的高速性與I/O設(shè)備的低速性間矛盾

而引入,該技術(shù)在外圍控制機(jī)的控制下實(shí)現(xiàn)低速

的I/O設(shè)備與高速的磁盤(pán)之間進(jìn)行數(shù)據(jù)傳送。

■SPOOLING技術(shù)

■SPOOLING系統(tǒng)的組成

■SPOOLING系統(tǒng)的特點(diǎn)

SPOOUNG技術(shù)

(SimultaneausPeriphernaIOperationsOn-Line)

■SPOOLING技術(shù)

在多道程序下,用一程序來(lái)模擬外圍控制機(jī),

實(shí)現(xiàn)將數(shù)據(jù)從磁盤(pán)傳送到低速的輸出設(shè)備上,從而

可在主機(jī)的直接控制下,實(shí)現(xiàn)脫機(jī)輸入、輸出功能,

進(jìn)而實(shí)現(xiàn)外圍操作與CPU對(duì)數(shù)據(jù)處理的并行操作,

這種在聯(lián)機(jī)情況下實(shí)現(xiàn)的同時(shí)外圍操作稱(chēng)為

SPOOLING技術(shù),是對(duì)脫機(jī)輸入、輸出工作的模

擬,是操作系統(tǒng)中采用的一項(xiàng)將獨(dú)占設(shè)備改造成為

共享設(shè)備的技術(shù)。

上SPOOLING系統(tǒng)的組成

內(nèi)存

組成:

1、輸入井、輸出井2、輸入緩沖區(qū)、輸出緩沖區(qū)

3、輸入進(jìn)程、輸出進(jìn)程4、請(qǐng)求打印隊(duì)列

上SPOOLING系統(tǒng)的組成

1.輸入井和輸出井:

>在磁盤(pán)上開(kāi)辟的2個(gè)大存儲(chǔ)空間,模擬輸入和輸出

設(shè)備。

2.輸入buf和輸出buf(內(nèi)存中)

>輸入設(shè)咯----輸入buf輸入井----用戶(hù)區(qū)(1)

?用戶(hù)區(qū)——輸出井——輸出buf——設(shè)備(2)

3.輸入SPi和輸出SPo進(jìn)程。

?分別控制(1),(2)的動(dòng)作。

>SPi相當(dāng)于脫機(jī)輸入控制器。

>SPo相當(dāng)于脫機(jī)輸出控制器。

SPOOLING舉例

⑴輸入

>a.進(jìn)程n請(qǐng)求一>SPi為n在輸入井中分配空間一>設(shè)

備數(shù)據(jù)由輸入buf送輸入井一>生成輸入請(qǐng)求表掛輸

入請(qǐng)求隊(duì)列。

ab.CPU空一>取請(qǐng)求表中的任務(wù),送進(jìn)程緩沖區(qū)。

⑵輸出:(打?。?/p>

>a.進(jìn)程n請(qǐng)求一>SPo為n在輸出井中分配空間一>將

數(shù)據(jù)由進(jìn)程buf轉(zhuǎn)到輸出井一>生成一打印請(qǐng)求表掛

打印請(qǐng)求隊(duì)列。

>b.打印機(jī)空一>查打印請(qǐng)求表中的任務(wù)一>取輸出井

中對(duì)于數(shù)據(jù)一>輸出buf—>打印

工SPOOLING系統(tǒng)的特點(diǎn)

■提高了I/O速度(對(duì)低速設(shè)備操作變?yōu)閷?duì)輸入/輸出井

操作)

■將獨(dú)占設(shè)備改造為共享設(shè)備(分配設(shè)備的實(shí)質(zhì)時(shí)分配

輸入/輸出井)

■實(shí)現(xiàn)了虛擬設(shè)備功能

虛擬設(shè)備實(shí)現(xiàn)了對(duì)獨(dú)占設(shè)備的改造,而虛擬分配使進(jìn)程對(duì)獨(dú)占

設(shè)備的使用與物理設(shè)備分離,使進(jìn)程與I/O設(shè)備之間的同步I/O

方式轉(zhuǎn)變?yōu)楫惒絀/O方式,提高了進(jìn)程的并發(fā)度和執(zhí)行效率。顯

然,虛擬分配方式在邏輯上改造了設(shè)備特性,提高了設(shè)備的利

用率,同時(shí)也提高了進(jìn)程的執(zhí)行效率。其所付出的代價(jià)是外存

空間的開(kāi)銷(xiāo),是操作系統(tǒng)利用空間換取時(shí)間的一個(gè)典型范例。

上SPOOLING技術(shù)

■在操作系統(tǒng)中,引入虛擬設(shè)備的原因

>引入虛擬設(shè)備是為了克服獨(dú)占設(shè)備速度較慢、降

低設(shè)備資源利用率的缺點(diǎn),從而提高設(shè)備的利用

率。

■虛擬設(shè)備

>是指通過(guò)虛擬技術(shù)將一臺(tái)獨(dú)占設(shè)備變換為若干臺(tái)

邏輯設(shè)備,供若干個(gè)用戶(hù)進(jìn)程使用,通常把這種

經(jīng)過(guò)虛擬技術(shù)處理后的設(shè)備稱(chēng)為虛擬設(shè)備。

?5.5設(shè)備處理

■設(shè)備驅(qū)動(dòng)程序的功能和特點(diǎn)

A設(shè)備驅(qū)動(dòng)程序的功能

A設(shè)備處理方式

A設(shè)備驅(qū)動(dòng)程序的特點(diǎn)

■設(shè)備驅(qū)動(dòng)程序的處理過(guò)程

■中斷處理程序的處理過(guò)程

i設(shè)備驅(qū)動(dòng)程序的功能

■將接收到的抽象要求轉(zhuǎn)換為具體要求。

■檢查用戶(hù)I/O請(qǐng)求的合法性、I/O設(shè)備狀態(tài)、傳參數(shù)、

設(shè)置設(shè)備的工作方式。

■按處理機(jī)的I/O請(qǐng)求去啟動(dòng)指定的設(shè)備進(jìn)行I/O操作。

■及時(shí)響應(yīng)由控制器或通道發(fā)來(lái)的中斷請(qǐng)求,并進(jìn)行

相應(yīng)處理。

■按I/O請(qǐng)求構(gòu)成相應(yīng)通道程序。

上設(shè)備處理方式

■為每一類(lèi)設(shè)備設(shè)置一進(jìn)程,專(zhuān)門(mén)執(zhí)行其I/O操作。

■在整個(gè)系統(tǒng)中設(shè)置一個(gè)進(jìn)程,執(zhí)行所有的I/O操作。

■不設(shè)置專(zhuān)門(mén)的設(shè)備處理進(jìn)程,而為各類(lèi)設(shè)備設(shè)置

相應(yīng)的設(shè)備驅(qū)動(dòng)程序。

設(shè)備驅(qū)動(dòng)程序的特點(diǎn)

■是請(qǐng)求I/O的進(jìn)程與設(shè)備控制器之間的一個(gè)通信程序

■與I/O設(shè)備的特性緊密相關(guān)

■與I/O控制方式緊密相關(guān)

■與硬件緊密相關(guān),因而其中一部分程序必須用匯編語(yǔ)

言編寫(xiě)

設(shè)備驅(qū)動(dòng)程序的的處理過(guò)程

■將接收到的抽象要求轉(zhuǎn)換為具體要求

■檢查用戶(hù)I/O請(qǐng)求的合法性

■讀出和檢查I/O設(shè)備狀態(tài)

■傳送必要參數(shù)

■設(shè)置設(shè)備的工作方式

■按處理機(jī)的I/O請(qǐng)求去啟動(dòng)指定的設(shè)備進(jìn)行I/O操作

上中斷處理程序的處理過(guò)程

■喚醒被阻塞的驅(qū)動(dòng)程序進(jìn)程

■保護(hù)被中斷進(jìn)程的CPU環(huán)境

■分析中斷原因、轉(zhuǎn)入相應(yīng)的設(shè)備中斷處理程序

■進(jìn)行中斷處理

■恢復(fù)被中斷進(jìn)程的現(xiàn)場(chǎng)

返回

5^6磁盤(pán)存儲(chǔ)器

■提高磁盤(pán)I/O速度的主要途徑:

>(1)選擇性能好的磁盤(pán)

>(2)采用好的磁盤(pán)調(diào)度算法

>(3)設(shè)置磁盤(pán)高速緩存(DiskCache)

>(4)其它方法

>(5)采用高度可靠、快速的容量磁盤(pán)系統(tǒng)一■糜

價(jià)磁盤(pán)冗余陣列

上1、磁盤(pán)性能

■磁盤(pán)性能簡(jiǎn)述

>數(shù)據(jù)的組織

◎磁盤(pán)結(jié)構(gòu)、磁道、柱面、扇區(qū)、磁盤(pán)格式化

力磁盤(pán)物理塊的地址:柱面號(hào)磁頭號(hào)扇區(qū)號(hào)

A磁盤(pán)類(lèi)型(固定頭磁盤(pán)、移動(dòng)頭磁盤(pán))

1、磁盤(pán)性能

■訪問(wèn)時(shí)間

A尋道時(shí)間:將磁頭從當(dāng)前位置移到指定磁道所經(jīng)歷的

時(shí)間Ts=m*n+s

A旋轉(zhuǎn)延遲時(shí)間:指定扇區(qū)移動(dòng)到磁頭下面所經(jīng)歷的時(shí)

間。設(shè)每秒r轉(zhuǎn),貝仃r=1/2r(均值)

?傳輸時(shí)間:將扇區(qū)上的數(shù)據(jù)從磁盤(pán)讀出/向磁盤(pán)寫(xiě)入

數(shù)據(jù)所經(jīng)歷的時(shí)間Tt=b/rN。其中b:讀寫(xiě)字節(jié)數(shù),

N:每道上的字節(jié)數(shù)。

■在訪問(wèn)時(shí)間中,Ts和Tr基本上與所讀/寫(xiě)數(shù)據(jù)的多少無(wú)關(guān),

且通常占據(jù)了訪問(wèn)時(shí)間中的大頭。故,適當(dāng)?shù)丶袛?shù)據(jù)

傳輸,將有利于提高傳輸效率。

上信息分布優(yōu)化

■例:信息在存儲(chǔ)空間的排列方式也會(huì)影物理邏輯

塊記錄

響存取等待時(shí)間??紤]10個(gè)邏輯記錄A,

1A

B……,J被存于旋轉(zhuǎn)型設(shè)備上,每道存2B

放10個(gè)記錄,安排如右圖示。假定要經(jīng)3C

常順序處理這些記錄,而旋轉(zhuǎn)速度為204D

5E

毫秒,處理程序讀出每個(gè)記錄后花4毫

6F

秒進(jìn)行處理。請(qǐng)計(jì)算依次讀出這10個(gè)

7G

記錄總共需花多長(zhǎng)時(shí)間?如何優(yōu)化最合8H

適?9I

10J

■Ji------------------------------

■解:由于旋轉(zhuǎn)速度為20毫秒,且每道10條記錄,

故讀取每條記錄的時(shí)間為2毫秒。

>又因?yàn)樽x出并處理記錄A之后(4ms)將轉(zhuǎn)到記錄

D的開(kāi)始。所以,為了讀出B,必須再轉(zhuǎn)一周。

A于是,處理10個(gè)記錄的總時(shí)間為:10毫秒(移動(dòng)

到記錄A的平均時(shí)間)+2毫秒(讀記錄A)+4毫秒

(處理記錄A)+9x[16毫秒(訪問(wèn)下一記錄)+2毫

秒(讀記錄)+4毫秒(處理記錄)]=214毫秒

物理邏輯

■按右圖方案優(yōu)化各記錄的位置。當(dāng)塊記錄

讀出記錄A并處理結(jié)束后,恰巧轉(zhuǎn)1A

至記錄B的位置,立即就可讀出并2H

處理。按照這一方案,處理10個(gè)記3E

錄的總時(shí)間為:10毫秒(移動(dòng)到記4B

錄A的平均時(shí)間)+10*[2毫秒(讀5I

記錄)+4毫秒(處理記錄)]=70毫6F

秒7C

■比原方案速度幾乎快3倍,如果有8J

眾多記錄需要處理,節(jié)省時(shí)間更可9G

D

觀了。10

磁盤(pán)結(jié)構(gòu)

?區(qū)iu?區(qū)n5IW

42、磁盤(pán)調(diào)度算法

■對(duì)于用來(lái)保存文件的磁盤(pán)等設(shè)備而言,同一l時(shí)刻可

能會(huì)有許多來(lái)自系統(tǒng)和應(yīng)用程序的訪問(wèn)請(qǐng)求,每個(gè)

請(qǐng)求讀或?qū)懸粔K。按什么次序?yàn)檫@些訪問(wèn)請(qǐng)求服務(wù)

是輸入/輸出調(diào)度所應(yīng)解決的問(wèn)題,而用來(lái)確定服務(wù)

次序的算法稱(chēng)為輸入/輸出調(diào)度算法。

■設(shè)計(jì)輸入/輸出調(diào)度算法應(yīng)考慮兩個(gè)基本因素

A公平性:一個(gè)I/O請(qǐng)求應(yīng)當(dāng)在有限時(shí)間內(nèi)得到滿(mǎn)足

A高效性:減少設(shè)備機(jī)械運(yùn)動(dòng)帶來(lái)的時(shí)間開(kāi)銷(xiāo)

老盤(pán)2調(diào)、度磁算盤(pán)法調(diào)度算法

A早期的磁盤(pán)調(diào)度算法

■先來(lái)先月艮務(wù)FCFS

由最短尋道時(shí)間優(yōu)先SSTF

>掃描算法

力掃描(SCAN)/電梯(LOOK)算法

力循環(huán)掃描(CSCAN)算法

力**N?STEP?SCAN調(diào)度算法

a**FSCAN調(diào)度算法

例:假設(shè)一個(gè)請(qǐng)求序列:98、183、37、122、

14、124、65、67,磁頭當(dāng)前的位置在53。

FCFS先來(lái)先服務(wù)

按進(jìn)程請(qǐng)求訪問(wèn)磁盤(pán)的先后次序進(jìn)行調(diào)度下磁道移道數(shù)

9845

queue=98,183,37,122,14,124,65,67

headstartsat5318385

O14

II375365679812212418319937146

iiIIiII

12285

14108

124110

6559

672

總道數(shù)640

平均80

tFCFS先來(lái)先服務(wù)性能評(píng)價(jià)

■磁頭引臂橫向移動(dòng)的速度很慢,若按照請(qǐng)求發(fā)出

的次序依次讀/寫(xiě)各個(gè)磁盤(pán)塊,則磁頭引臂在內(nèi)磁

道和外磁道之間頻繁地移動(dòng),造成較大的時(shí)間開(kāi)

銷(xiāo),影響效率。

■這種算法通??捎糜谳斎?輸出負(fù)載較輕的系統(tǒng)。

最短尋道時(shí)間優(yōu)先(SSTF)

選擇從當(dāng)前磁頭位置所需尋道時(shí)間最短的請(qǐng)求。下磁道移道數(shù)

queue=98,183,37,122,14,124,65,676512

headstartsat53672

O4

3753656798122124183199

iII3730

1423

9884

12224

1242

18359

總道數(shù)236

平均29.5

■從此例可看出,按照上述服務(wù)次序,磁頭引臂的

機(jī)械運(yùn)動(dòng)明顯減少,所需時(shí)間大幅度降低。

■存在的缺點(diǎn):假設(shè)某一時(shí)刻外磁道請(qǐng)求不斷,則

內(nèi)磁道請(qǐng)求可能長(zhǎng)時(shí)間得不到滿(mǎn)足,這種現(xiàn)象稱(chēng)

為“磁道歧視”。因此,本算法缺乏公平性,存

在饑餓和餓死的問(wèn)題。

上掃描算法(SCAN)

■Scan算法往復(fù)掃描各個(gè)柱面(磁道)并為途經(jīng)柱

面(磁道)的請(qǐng)求服務(wù)。

■起始時(shí)磁頭處于最外柱面,并向內(nèi)柱面移動(dòng)。在移

動(dòng)的過(guò)程中,如果途經(jīng)的柱面有訪問(wèn)請(qǐng)求,則為其

服務(wù),如此一直移動(dòng)到最內(nèi)柱面,然后改變方向由

內(nèi)柱面向外柱面移動(dòng),并以相同的方式為途經(jīng)的請(qǐng)

求服務(wù)。

■Scan算法每次都掃描到柱面的盡頭,無(wú)論最內(nèi)

(最外)柱面處是否有訪問(wèn)請(qǐng)求。

3描算法(SCAN)

下磁道移道數(shù)

6512

queue=98,183,37,122,14,124,65,67

672

headstartsat53

9831

12224

1242

18359

19916

37162

1423

假定:磁頭向磁道號(hào)增加的方向移動(dòng)。

總道數(shù)331

平均41.4

Look算法(電梯算法)

■Look算法也稱(chēng)電梯算法,因其基本思想與電梯的

工作原理相似而得名。

■無(wú)訪問(wèn)請(qǐng)求時(shí),磁頭引臂停止不動(dòng);當(dāng)有訪問(wèn)請(qǐng)求

時(shí),起始時(shí)磁頭由最外柱面向內(nèi)柱面移動(dòng),并為途

經(jīng)的請(qǐng)求服務(wù)。一旦內(nèi)柱面沒(méi)有訪問(wèn)請(qǐng)求,則改變

移動(dòng)方向(如外柱面有請(qǐng)求)或停止移動(dòng)(外柱面

也無(wú)請(qǐng)求)。

算法(電梯算法)

Look下磁道移道數(shù)

6512

queue=98,183,37,122,14,124,65,67

headstartsat53672

9831

12224

1242

18359

37146

1423

假定:磁頭向磁道號(hào)增加的方向移動(dòng)??偟罃?shù)299

平均37.4

上SCAN/LOOK算法評(píng)價(jià)

■對(duì)于SCAN(LOOK)算法來(lái)說(shuō),位于不同磁道(柱

面)的I/O請(qǐng)求與獲取服務(wù)所需的等待時(shí)間是不同

的。

■對(duì)于靠近邊緣的柱面,最壞情況的移動(dòng)量為2N?1

(N為柱面數(shù));對(duì)于靠近中部的柱面,最壞情況

為平均情況分別約為N和N/2。

上循環(huán)掃描算法(CircularSCAN/LOOK)

■是為了消除邊緣柱面與中部柱面等待時(shí)間差異而

進(jìn)行的改進(jìn)。

■磁頭只在單方向移動(dòng)過(guò)程中才為途經(jīng)的請(qǐng)求服務(wù),

一旦達(dá)到邊緣,則立即快速移動(dòng)至另一邊緣,在此

移動(dòng)過(guò)程中并不處理訪問(wèn)請(qǐng)求,然后重新開(kāi)始新一

輪掃描。

循環(huán)掃描算法(CSCAN)

下磁道移道數(shù)

queue=98,183,37,122,14,124,65,676512

headstartsat53

o.4672

13753656798122124183199

iilliIIII9831

12224

1242

18359

14169

3723

總道數(shù)322

平均40.3

特點(diǎn):消除了對(duì)兩端磁道請(qǐng)求的不公平。

N?STEP?SCAN調(diào)度算法

■SSTF、SCAN及CSCAN存在的問(wèn)題“■磁臂粘著

在SSTF、SCAN及CSCAN幾種調(diào)度算法中,可能

出現(xiàn)磁臂停留在某處的情況,即反復(fù)請(qǐng)求某一磁道,從

而壟斷了整個(gè)磁盤(pán)設(shè)備,這種現(xiàn)象稱(chēng)為磁臂粘著。

■N?STEP-SCAN調(diào)度算法

將磁盤(pán)請(qǐng)求隊(duì)列分成若干個(gè)長(zhǎng)度為N的子隊(duì)列,磁

盤(pán)調(diào)度將按FCFS算法依次處理這些子隊(duì)列,而每一子

隊(duì)列按SCAN算法處理。

N=1FCFS算法

N彳艮大SCAN算法

N取半長(zhǎng)度FSCAN算法

心理置磁盤(pán)高速緩存(DiskCache)

目前,由于磁盤(pán)的I/O速度遠(yuǎn)低內(nèi)存的訪問(wèn)速度,

而致使磁盤(pán)的I/O成為計(jì)算機(jī)系統(tǒng)的瓶頸。為提高

磁盤(pán)的I/O速度,便采用磁盤(pán)高速緩存。

力磁盤(pán)高速緩存的形式

0數(shù)據(jù)交付方式

◎置換算法

由周期性地寫(xiě)回磁盤(pán)

(1)磁盤(pán)高速緩存的形式

■磁盤(pán)高速緩存

A是指內(nèi)存中的一部分存儲(chǔ)空間,用來(lái)暫存從磁盤(pán)

讀出的一系列盤(pán)塊中的信息,所以它是一組在邏

輯上屬于磁盤(pán),而物理上是駐留在內(nèi)存中的盤(pán)塊

■磁盤(pán)高速緩存的形式

力內(nèi)存中單獨(dú)的存儲(chǔ)空間(大小固定)

力未利用的存儲(chǔ)空間_緩沖池(大小不固定)

(2)數(shù)據(jù)交付方式

■數(shù)據(jù)交付方式

>是指磁盤(pán)高速緩存中的數(shù)據(jù)傳送給請(qǐng)求者進(jìn)程。

系統(tǒng)采取兩種方式,將數(shù)據(jù)交付給請(qǐng)求進(jìn)程:

力數(shù)據(jù)交付:系統(tǒng)直接將磁盤(pán)高速緩存中的數(shù)據(jù)

傳送到請(qǐng)求者進(jìn)程的內(nèi)存工作區(qū)。

力指針交付:只將指向磁盤(pán)高速緩存中該數(shù)據(jù)的

指針,交付給請(qǐng)求者進(jìn)程。

(3)置換算法

將磁盤(pán)中的盤(pán)塊讀入到磁盤(pán)高速緩存中時(shí),若因磁盤(pán)

高速緩存已滿(mǎn),則采用常用的算法進(jìn)行置換:

>最近最久未使用算法LRU

>最近未使用算法NRU

>最少使用算法LFU

■置換時(shí)除算法外還應(yīng)考慮的問(wèn)題

>訪問(wèn)頻率

>可預(yù)見(jiàn)性

>數(shù)據(jù)的一致性■一解決方法將系統(tǒng)中所有盤(pán)塊數(shù)據(jù)拉

成一條LRU鏈,對(duì)將會(huì)嚴(yán)重影響到數(shù)據(jù)一致性的數(shù)

據(jù)和很久都可能不再使用的盤(pán)塊數(shù)據(jù)放在LRU頭部,

到時(shí)優(yōu)先寫(xiě)回磁盤(pán)。

上(4)周期性地寫(xiě)回磁盤(pán)

■系統(tǒng)中所有盤(pán)塊數(shù)據(jù)拉成一條LRU鏈,對(duì)會(huì)嚴(yán)重影

響到數(shù)據(jù)一致性的數(shù)據(jù)和很久都可能不再使用的盤(pán)

塊數(shù)據(jù),放在LRU頭部,到時(shí)才優(yōu)先寫(xiě)回磁盤(pán)。若

經(jīng)常訪問(wèn)的數(shù)據(jù)一直保留磁盤(pán)高速緩存中,長(zhǎng)期不

會(huì)被寫(xiě)回磁盤(pán),若系統(tǒng)出故障,則存在磁盤(pán)高速緩

存中的數(shù)據(jù)將丟失。

■問(wèn)題解決

?周期性地將磁盤(pán)高速緩存中的數(shù)據(jù)寫(xiě)回磁盤(pán)

A磁盤(pán)高速緩存中的數(shù)據(jù)若修改,則立即寫(xiě)回磁盤(pán)

?H

、提高磁盤(pán)I/O速度的其它方法

■提前讀(Read_Ahead):由于用戶(hù)對(duì)文件的訪問(wèn)常用

順序方式,在讀當(dāng)前塊時(shí),可預(yù)知下一次要讀的盤(pán)塊,

所以,可采用預(yù)先讀方式,即在讀當(dāng)前塊的同時(shí),連同

將下一塊提前讀入緩沖。當(dāng)訪問(wèn)下一塊數(shù)據(jù)時(shí),其已在

緩沖中,而不需去啟動(dòng)磁盤(pán)I/O。

■延遲寫(xiě):在緩存中的數(shù)據(jù),本應(yīng)立即寫(xiě)回磁盤(pán),考慮不

久之后可能會(huì)再用,故不立即寫(xiě)回磁盤(pán)。

■優(yōu)化物理塊的分布:使磁頭移動(dòng)的距離最?。▋?yōu)化物理

塊的分布、優(yōu)化索引結(jié)點(diǎn)的分布)。

■虛擬盤(pán):利用內(nèi)存去仿真磁盤(pán),又稱(chēng)為RAM盤(pán)。(與

磁盤(pán)高速緩存的區(qū)別:RAM盤(pán)中的內(nèi)容由用戶(hù)控制,

而緩存中的內(nèi)容則由OS控制)

返回

15、廉價(jià)磁盤(pán)冗余陣列(RAID)

■RAID(RedundantArrayofIndependent/

InexpensiveDisks):獨(dú)立或廉價(jià)磁盤(pán)冗余陣列

■“獨(dú)立”是目前通用的一個(gè)行業(yè)術(shù)語(yǔ),強(qiáng)調(diào)

RAID陣列的重要性和可靠性

■“廉價(jià)”是較早使用的一個(gè)術(shù)語(yǔ),重在強(qiáng)調(diào)RAID

磁盤(pán)陣列中采用的相對(duì)較小的、價(jià)格較便宜的磁

盤(pán)。

上5、廉價(jià)磁盤(pán)冗余陣列(RAID)

■1987年由美國(guó)加利福尼來(lái)大學(xué)伯萊分校提出,

1988年問(wèn)世,即利用一臺(tái)磁盤(pán)陣列控制器,來(lái)

統(tǒng)一管理和控制一組磁盤(pán)驅(qū)動(dòng)器,組成一個(gè)高

度可靠的、快速的大容量磁盤(pán)系統(tǒng)。

口并行交叉存取

口RAID的分級(jí)

◎RAID的優(yōu)點(diǎn)

*(1)并行交叉存取

■為提高磁盤(pán)的訪問(wèn)速度而在大、中型機(jī)中采用的交

叉存取

溫馨提示

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

評(píng)論

0/150

提交評(píng)論