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

下載本文檔

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

文檔簡介

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

主講教師:周星

1課程主要內容

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

育進程管理(2?3章)

黨存儲管理(4章)

育設備管理(5章)

詼文件管理(6章)

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

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

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

上設備管理概述

設備管理是操作系統(tǒng)對計算機系統(tǒng)中除CPU和內存之

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

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

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

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

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

件提供的通道和中斷機制、以及設備提供的物理性能的支

持下,實現(xiàn)多任務、多進程共享多種外部設備,高效地完

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

上第5章設備管理

5.1I/O系統(tǒng)

5.2I/O控制方式

5.3緩沖管理

5.4設備分配

5?5設備處理

本章作業(yè)

5.6磁盤存儲器管理

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

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

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

的系統(tǒng)。

511I/O設備

5」.2設備控制器

513I/O通道

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

5.1.5I/O系統(tǒng)的結構

*5.1」I/O設備

1、I/O設備的類型

1)按設備的從屬關系分類

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

就納入系統(tǒng)管理范圍的各種標準設備。如鍵盤、

顯示器、打印機等。

力用戶設備:它是指系統(tǒng)設備之外的非標準設備,

在安裝操作系統(tǒng)時沒有配置,而由用戶自己安裝

配置的設備。如繪圖儀、掃描儀等。

上5.1.1I/O設備

2)按信息交換的單位分類

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

于有結構設備,塊大小一般為512B-4KB,

典型的有:磁盤、磁帶等。

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

型的有:鍵盤、打印機和顯示器等。

5,1.1I/O設備----------.

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

3>)按使用方式/共享屬性分類備和磁帶機,

力獨享/獨占設備:這類設備一旦分配給某個實體(用

戶、作業(yè)、任務或進程)使用,在沒被釋放前,其

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

就典型的獨享設備。]包世浮堂名以外的所有塊型設備

力共享設備:在一段吁商關渾姿了用戶進程同時訪問

的設備。磁盤就典型的共享設備。

口虛擬設備:通過一定的輔助存儲器和控制程序,可

將一臺獨享設備模擬為共享設備,這個具有了新特

性的設備就稱為虛擬設備。

上5.1」改設備

4)按傳輸速率分類

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

百個字節(jié)的設備。典型的有:鍵盤、鼠標、語音

的輸入/輸出等。

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

數(shù)萬個字節(jié)的設備。典型的有:打印機等。

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

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

光盤機等。

*54.2設備控制器

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

■電子部分在系統(tǒng)的控制下驅動機械部分運轉,完成

I/O操作

■由于設備中電子部分比機械部分的速度快得多,為

了降低硬件成本,將電子部分從設備中分離出來作

為一個獨立的部件,這就是控制器。在小型和微型

機中,它常采用印刷電路卡插入計算機中。

■分離之后的設備僅由機械部分構成,一個控制器可

與多個設備相連(因為控制器的速度快于機械部

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

磁盤控制器可以控制多個磁盤驅動器。

?512設備控制器

■設備控制器

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

來的命令,并控制I/O設備工作,是一個可編址

設備。

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

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

上5.1.2設備控制器

A設備控制器的組成

O設備控制器與處理機的接口

力設備控制器與設備接口

3/0邏輯

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

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

1設備控制器的組成

CPU與控制器接口控制器與設備接口

數(shù)據(jù)

狀態(tài)

控制

數(shù)據(jù)

狀態(tài)

控制

返回

5.1.3I/O通道

■引入原因

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

A字節(jié)多路通道

A數(shù)組選擇通道

A數(shù)組多路通道

■注:“瓶頸”問題

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

>1)有'一個主通道。

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

>3)每子通道通過一控制器與一臺中/低速的I/O設

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

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

通道。

■優(yōu)點:可連多臺中/低速設備;能分時并行操作。

■缺點:傳輸率較低。

案GOOOO

數(shù)組選擇通道

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

據(jù)。主要用于連接高速I/O設備。

>1)有一個主通道

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

>3)每子通道通過一控制器與一臺中/低速的I/O設

備相連,在一段時間內只能選擇一個子通道程序

執(zhí)行。

■優(yōu)點:可連多臺高速設備;傳輸率較高。

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

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

n

數(shù)組多路通道

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

兩者:并行十數(shù)組)

>1)有一>個主通道

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

a3)每子通道通過一控制器與一臺高/中速的I/O設

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

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

主通道。

■優(yōu)點:可連多臺高/中速設備;能分時并行操作,

傳輸率較高???/p>

lnJ

存儲器

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

I解天”施頰〃I可題的萬法一多路萬

___

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

上5.1.5I/O系統(tǒng)的結構

磁盤驅動器打印機

CPU存儲器

微型機I/O系統(tǒng)結構一總線型

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

上5.2I/O控制方式

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

[、程序控制方式

2、中斷控制方式

3、一接存儲器訪問DMA方式

4、通道控制方式

返回

上1、程序直接控制方式

■程序控制輸入/輸出方式又稱為狀態(tài)驅動輸入/輸出

方式或應答輸入/輸出方式

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

(注意:程序就是CPU)

■問題:CPU等待每一個操作完成的時候會花費大量

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

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

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

■呈序控制輸入/輸出方式一以鍵盤為例

1、CPU向鍵盤的控制器發(fā)一條輸入命令,啟動鍵盤進

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

表示忙。

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

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

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

位變?yōu)?時,CPU才停止測試。

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

■目前IDE接口硬盤仍在使用這種方式,稱為PIO

(ProgrammingInput/Output)模式。

上2、中斷控制方式

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

數(shù)據(jù)。

2)該進程放棄處理機,等待輸入完成。

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

CPU收到后,轉向中斷服務程序。中斷服務程序

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

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

4)在以后,該進程再被調度,從內存單元取出數(shù)

據(jù)進行處理。

■斷輸入/輸出方式一以鍵盤輸入為例

(1)開中斷。CPU把啟動位和中斷允許位為1的控制字寫

入鍵盤控制狀態(tài)寄存器中,啟動鍵盤。(當中斷允許位為1時,

中斷程序可以被調用。)

(2)進程等待鍵盤輸入完成(進入等待隊列),由進程調度

程序調度其他就緒進程使用CPUo

(3)鍵盤啟動后,當數(shù)據(jù)寄存器裝滿后,鍵盤控制器通過

中斷請求線向CPU發(fā)出中斷信號。

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

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

進程喚醒。)

(5)中斷處理程序完畢,CPU返回斷點繼續(xù)執(zhí)行。

(6)以后某個時刻,進程調度程序選中正處于就緒狀態(tài)的

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

續(xù)工作。

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

完成,I/O設備與CPU并行工

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

缺點:CPU在響應中斷后,還

需要時間來執(zhí)行中斷服務程序。

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

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

返回

上3、DMA方式

1)需數(shù)據(jù)的進程向CPU發(fā)出指令,向DMA控制器寫入數(shù)

據(jù)存放的內存始址、傳送的字節(jié)數(shù),并置中斷位和啟動

位,啟動I/O設備輸入數(shù)據(jù)并允許中斷。

2)該進程放棄處理機等待輸入完成,處理機被其它進程

占據(jù)。

3)DMA控制器挪用CPU周期,將一批數(shù)據(jù)寫入內存中。

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

應后轉向中斷服務程序喚醒進程,并返回被中斷程序。

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

理。

3、DMA方式

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

局)O

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

CPU控制,且每一設備需一臺DMA控制器,設備

增多時,不經濟。

返回

4、通道控制方式

■通道是一個獨立于CPU的專管輸入/輸出控制的處理

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

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

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

便是通道程序,通道執(zhí)行通道程序來完成規(guī)定動作。

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

的功能比DMA控制器更強大,它能夠承擔外設的大

部分工作。

4、通道控制方式

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

明I/O操作、設備號和對應的通道。

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

3)通道接收到CPU發(fā)來的啟動指令后,取出內存中的通

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

4)傳送完數(shù)據(jù)后,通道向CPU發(fā)中斷請求,CPU響應后

轉向中斷服務程序,喚醒進程,并返回被中斷程序。

5)在以后該進程再被調度,從內存取出數(shù)據(jù)進行處理。

、通道控制方式

■優(yōu)點:一個通道可控制多設備,所需CPU干預更少;

CPU利用率較高(并行度較高)。

■缺點:通道價格較高。

?5.3緩沖管理

1、提高處理機與I/O設備的并行工作的技術:

1)數(shù)據(jù)傳送控制方式2)緩沖技術

2、操作系統(tǒng)中,引入緩沖的主要原因

1)緩沖CPU與I/O設備間速度不匹配的矛盾

>如:計算----打印buffer------打印

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

?如:buffer越大,“buffer滿”信號發(fā)生頻率越低。

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

35.3緩沖管理

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

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

2)用軟件緩沖區(qū)來實現(xiàn)

>緩沖是用來對數(shù)據(jù)傳送速度不同的設備的傳送速

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

在關鍵地方可采用硬件緩沖器外,大都采用軟件

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

門用來臨時存放輸入/輸出數(shù)據(jù)的一塊存儲區(qū)域。

沖管理

4、緩沖技術的分類

單緩沖雙緩沖

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

返回

上單緩沖

■在設備和處理機之間設置一個緩沖。設備與處理機

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

要數(shù)據(jù)的設備/處理機再從緩沖區(qū)中取走數(shù)據(jù)。

■特點:緩沖區(qū)數(shù)只有一個;設備與處理機對緩沖區(qū)

的操作是串行的。

■圖示

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

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

II/O設備

用戶進程C操作系統(tǒng)

■無緩沖區(qū)時,該時間為T+C

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

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

返回

J.雙緩沖

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

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

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

■在設備和處理機之間設置2個緩沖。設備與處理機交換

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

設備/處理機再從緩沖區(qū)中取走數(shù)據(jù)。因緩沖區(qū)有2個,

提高了設備與處理機并行操作的程度,只有當兩個均為

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

■特點:緩沖區(qū)數(shù)有2個;設備與處理機對緩沖區(qū)的操作

可并行,提高了設備與處理機并行操作的程度。

上雙緩沖

雙緩沖示例

雙緩沖圖示

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

"簟魚I/O設備

MrT

用戶進程C操作系統(tǒng)

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

■當C〈T:MAX(C,T)

】■循環(huán)緩沖

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

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

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

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

環(huán)隊列,故稱為循環(huán)緩沖)。

■在設備和處理機之間設置多個大小相等的緩沖區(qū),

這些緩沖區(qū)構成環(huán)形,每一個緩沖區(qū)中含一指針

指向下一個緩沖區(qū),最后一個指向第一個緩沖區(qū),

同時還含有2個用于輸入/輸出的指針I(yè)N和OUT。

■特點:緩沖區(qū)數(shù)有多個;設備與處理機對緩沖區(qū)

的操作可并行,進一步提高了設備與處理機并行

操作的程度。

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

類型:

R:空緩沖;G:滿緩沖;C:當前緩沖

1循環(huán)緩沖

■緩沖區(qū)的使用

?Getbuf過程

力計算進程取Nextg對應緩沖區(qū)使用,將Nextg置為

空,Nextg=(Nextg+1)ModN

◎輸入進程取Nexti對應緩沖區(qū)使用,將Nexti置為

滿,Nexti=(Nexti+1)ModN

?Releasebuf過程

◎若C滿,則改為G;

0若C空,則改為R;

土循環(huán)緩沖

■進程同步

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

全部buf滿,這時輸入進程阻塞。

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

buf空,這時輸出進程阻塞。

上緩沖池

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

進程和計算進程,屬于專用緩沖。

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

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

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

術,其中的緩沖區(qū)可為多個設備和進程服務。

上緩沖池

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

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

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

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

2、緩沖池的組成(數(shù)據(jù)結構)

?三個隊列:空緩沖隊列emq、裝滿輸入數(shù)據(jù)隊列

inq、裝滿輸出數(shù)據(jù)隊列outq

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

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

3、getbuf過程和putbuf過程

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)對緩沖池的管理一工作方式

緩沖池

收容輸提取輸入用

sin

提取輸出收容輸出

southout<序

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

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

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

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

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

入緩沖區(qū);

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

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

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

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

算;putbuf(emq,sin)

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

取輸入緩沖區(qū);

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

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

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

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

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

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

緩沖區(qū);

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

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

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

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

輸出;putbuf(emq,hout)

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

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

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

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

5.4設備分配

■包括:對設備、設備控制器、通道的分配

A設備分配中的數(shù)據(jù)結構

A設備分配的策略/應考慮的因素

A設備獨立性

>設備分配程序

aSPOOLING技術

5.4.1設備分配中的數(shù)據(jù)結構

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

■設備控制表DCT(devicecontroltable)

■控制器控制表COCT(controllercontroltable)

■通道控制表CHCT(channelcontroltable)

DCT

設備類型

設備標識符

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

COCT指針

設備等待隊列指針

COCTCHCT

控制器標識符通道標識符

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

CHCT指針

通道等待隊列指針

控制器等待隊列指針

5.4.2設備分配策略/應考慮的因素

1、設備的使用性質/固有屬性

A獨享分配、共享分配、虛擬分配

2、設備分配算法

A先請求先服務、優(yōu)先級高者優(yōu)先

3、設備分配的安全性(防止進程死鎖)

4、設備獨立性:是指用戶在編制程序時所用的設備

(邏輯)與實際使用的設備無關

設備分配算法

■先請求先服務

A當有多進程對同一設備提出I/O請求時,系統(tǒng)根

據(jù)這些進程發(fā)出請求的先后次序將它們排成一個

設備請求隊列,設備分配程序總是把設備分配給

隊首的進程。

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

A按照進程優(yōu)先級的高低進行分配。即當多進程對

同一設備提出I/O請求時,誰優(yōu)先級高,就將設

備分配給誰。若優(yōu)先級相同,則按先請求先服務

進行分配。

?543設備獨立性

■設備獨立性概念(設備無關性)

A為提高OS的可適應性和可擴展性,而將應用程

序獨立于具體使用的物理設備。

>邏輯設備

>物理設備

>邏輯設備表(LUT)

土543設備獨立性

■設備獨立性的實現(xiàn)

A邏輯設備(應用程序)和物理設備(執(zhí)行)

O設備分配時的靈活性

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

射關系。提高了物理設備的共享性,以及使

用的靈活性。如:某邏輯名可對應這一類設

備,提高均衡性與容錯性;幾個邏輯名可對

應某一個設備,提高共享性。

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

t543設備獨立性

■設備獨立性的實現(xiàn)

>設備獨立性軟件

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

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

/read、write

土543設備獨立性

■設備獨立性的實現(xiàn)

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

一邏輯設備表LUT(LoqicalUnitTable)

a分配流程:進程給出邏輯名——通過LUT得到物

理設備及其driver入口。

?LUT設置問題(圖5?18)

由整個系統(tǒng)設置一張LUT;每個用戶設一張LUT

上設備獨立性相關概念

■I/O重定向

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

必改變應用程序,只需改變LUT表的映射關系。

■所有設備的公有操作

A獨立設備的分配與回收;將邏輯設備名映射為物

理設備名;對設備進行保護(禁直訪);緩沖管

理;差錯控制。f

邏輯設備表LUT(LoqicalUnitTable)

邏輯設備名物理設備名驅動程序入口地址

/dev/tty31024

/dev/print52046

■■■■■■■■■

(a)

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

/dev/tty3

/dev/print5

■■■■■■

(b)

J.544獨占設備的分配程序

■的設備分配程序

>分配設備

A分配控制器

A分配通道

>問題(“瓶頸”)

。進程以物理設備名來提出I/O請求

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

■設備分配程序的改進

>增加設備的獨立性(進程以邏輯設備名提出I/O請求)

A考慮多通路情況wt

分配設備

ASDTADCT

I設:狀態(tài)I

進程插入~~[y

設彳等待隊列1

本次分配的安全性

上分配控制器

物理設備分配

DCT^COCT

控制器狀態(tài)

進程插入

控制器等待隊列

分配控制器

返回

分配通道

控制手分配

COCipCHCT

進程插入

通道等待隊列

分配通道

*返回

ISPOOUNG技術

^jg[SimultaneausPeriphernalOperationsOn-Line)

■脫機輸入、輸出技術

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

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

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

■SPOOLING技術

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

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

SPOOUNG技術

(SimultaneausPeriphernaIOperationsOn-Line)

■SPOOLING技術

在多道程序下,用一程序來模擬外圍控制機,

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

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

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

這種在聯(lián)機情況下實現(xiàn)的同時外圍操作稱為

SPOOLING技術,是對脫機輸入、輸出工作的模

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

共享設備的技術。

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

內存

組成:

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

3、輸入進程、輸出進程4、請求打印隊列

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

1.輸入井和輸出井:

>在磁盤上開辟的2個大存儲空間,模擬輸入和輸出

設備。

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

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

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

3.輸入SPi和輸出SPo進程。

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

>SPi相當于脫機輸入控制器。

>SPo相當于脫機輸出控制器。

SPOOLING舉例

⑴輸入

>a.進程n請求一>SPi為n在輸入井中分配空間一>設

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

入請求隊列。

ab.CPU空一>取請求表中的任務,送進程緩沖區(qū)。

⑵輸出:(打印)

>a.進程n請求一>SPo為n在輸出井中分配空間一>將

數(shù)據(jù)由進程buf轉到輸出井一>生成一打印請求表掛

打印請求隊列。

>b.打印機空一>查打印請求表中的任務一>取輸出井

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

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

■提高了I/O速度(對低速設備操作變?yōu)閷斎?輸出井

操作)

■將獨占設備改造為共享設備(分配設備的實質時分配

輸入/輸出井)

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

虛擬設備實現(xiàn)了對獨占設備的改造,而虛擬分配使進程對獨占

設備的使用與物理設備分離,使進程與I/O設備之間的同步I/O

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

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

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

空間的開銷,是操作系統(tǒng)利用空間換取時間的一個典型范例。

上SPOOLING技術

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

>引入虛擬設備是為了克服獨占設備速度較慢、降

低設備資源利用率的缺點,從而提高設備的利用

率。

■虛擬設備

>是指通過虛擬技術將一臺獨占設備變換為若干臺

邏輯設備,供若干個用戶進程使用,通常把這種

經過虛擬技術處理后的設備稱為虛擬設備。

?5.5設備處理

■設備驅動程序的功能和特點

A設備驅動程序的功能

A設備處理方式

A設備驅動程序的特點

■設備驅動程序的處理過程

■中斷處理程序的處理過程

i設備驅動程序的功能

■將接收到的抽象要求轉換為具體要求。

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

設置設備的工作方式。

■按處理機的I/O請求去啟動指定的設備進行I/O操作。

■及時響應由控制器或通道發(fā)來的中斷請求,并進行

相應處理。

■按I/O請求構成相應通道程序。

上設備處理方式

■為每一類設備設置一進程,專門執(zhí)行其I/O操作。

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

■不設置專門的設備處理進程,而為各類設備設置

相應的設備驅動程序。

設備驅動程序的特點

■是請求I/O的進程與設備控制器之間的一個通信程序

■與I/O設備的特性緊密相關

■與I/O控制方式緊密相關

■與硬件緊密相關,因而其中一部分程序必須用匯編語

言編寫

設備驅動程序的的處理過程

■將接收到的抽象要求轉換為具體要求

■檢查用戶I/O請求的合法性

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

■傳送必要參數(shù)

■設置設備的工作方式

■按處理機的I/O請求去啟動指定的設備進行I/O操作

上中斷處理程序的處理過程

■喚醒被阻塞的驅動程序進程

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

■分析中斷原因、轉入相應的設備中斷處理程序

■進行中斷處理

■恢復被中斷進程的現(xiàn)場

返回

5^6磁盤存儲器

■提高磁盤I/O速度的主要途徑:

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

>(2)采用好的磁盤調度算法

>(3)設置磁盤高速緩存(DiskCache)

>(4)其它方法

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

價磁盤冗余陣列

上1、磁盤性能

■磁盤性能簡述

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

◎磁盤結構、磁道、柱面、扇區(qū)、磁盤格式化

力磁盤物理塊的地址:柱面號磁頭號扇區(qū)號

A磁盤類型(固定頭磁盤、移動頭磁盤)

1、磁盤性能

■訪問時間

A尋道時間:將磁頭從當前位置移到指定磁道所經歷的

時間Ts=m*n+s

A旋轉延遲時間:指定扇區(qū)移動到磁頭下面所經歷的時

間。設每秒r轉,貝仃r=1/2r(均值)

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

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

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

■在訪問時間中,Ts和Tr基本上與所讀/寫數(shù)據(jù)的多少無關,

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

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

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

■例:信息在存儲空間的排列方式也會影物理邏輯

塊記錄

響存取等待時間??紤]10個邏輯記錄A,

1A

B……,J被存于旋轉型設備上,每道存2B

放10個記錄,安排如右圖示。假定要經3C

常順序處理這些記錄,而旋轉速度為204D

5E

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

6F

秒進行處理。請計算依次讀出這10個

7G

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

適?9I

10J

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

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

故讀取每條記錄的時間為2毫秒。

>又因為讀出并處理記錄A之后(4ms)將轉到記錄

D的開始。所以,為了讀出B,必須再轉一周。

A于是,處理10個記錄的總時間為:10毫秒(移動

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

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

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

物理邏輯

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

讀出記錄A并處理結束后,恰巧轉1A

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

處理。按照這一方案,處理10個記3E

錄的總時間為:10毫秒(移動到記4B

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

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

秒7C

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

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

D

觀了。10

磁盤結構

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

42、磁盤調度算法

■對于用來保存文件的磁盤等設備而言,同一l時刻可

能會有許多來自系統(tǒng)和應用程序的訪問請求,每個

請求讀或寫一塊。按什么次序為這些訪問請求服務

是輸入/輸出調度所應解決的問題,而用來確定服務

次序的算法稱為輸入/輸出調度算法。

■設計輸入/輸出調度算法應考慮兩個基本因素

A公平性:一個I/O請求應當在有限時間內得到滿足

A高效性:減少設備機械運動帶來的時間開銷

老盤2調、度磁算盤法調度算法

A早期的磁盤調度算法

■先來先月艮務FCFS

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

>掃描算法

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

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

力**N?STEP?SCAN調度算法

a**FSCAN調度算法

例:假設一個請求序列:98、183、37、122、

14、124、65、67,磁頭當前的位置在53。

FCFS先來先服務

按進程請求訪問磁盤的先后次序進行調度下磁道移道數(shù)

9845

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

headstartsat5318385

O14

II375365679812212418319937146

iiIIiII

12285

14108

124110

6559

672

總道數(shù)640

平均80

tFCFS先來先服務性能評價

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

的次序依次讀/寫各個磁盤塊,則磁頭引臂在內磁

道和外磁道之間頻繁地移動,造成較大的時間開

銷,影響效率。

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

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

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

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

headstartsat53672

O4

3753656798122124183199

iII3730

1423

9884

12224

1242

18359

總道數(shù)236

平均29.5

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

機械運動明顯減少,所需時間大幅度降低。

■存在的缺點:假設某一時刻外磁道請求不斷,則

內磁道請求可能長時間得不到滿足,這種現(xiàn)象稱

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

在饑餓和餓死的問題。

上掃描算法(SCAN)

■Scan算法往復掃描各個柱面(磁道)并為途經柱

面(磁道)的請求服務。

■起始時磁頭處于最外柱面,并向內柱面移動。在移

動的過程中,如果途經的柱面有訪問請求,則為其

服務,如此一直移動到最內柱面,然后改變方向由

內柱面向外柱面移動,并以相同的方式為途經的請

求服務。

■Scan算法每次都掃描到柱面的盡頭,無論最內

(最外)柱面處是否有訪問請求。

3描算法(SCAN)

下磁道移道數(shù)

6512

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

672

headstartsat53

9831

12224

1242

18359

19916

37162

1423

假定:磁頭向磁道號增加的方向移動。

總道數(shù)331

平均41.4

Look算法(電梯算法)

■Look算法也稱電梯算法,因其基本思想與電梯的

工作原理相似而得名。

■無訪問請求時,磁頭引臂停止不動;當有訪問請求

時,起始時磁頭由最外柱面向內柱面移動,并為途

經的請求服務。一旦內柱面沒有訪問請求,則改變

移動方向(如外柱面有請求)或停止移動(外柱面

也無請求)。

算法(電梯算法)

Look下磁道移道數(shù)

6512

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

headstartsat53672

9831

12224

1242

18359

37146

1423

假定:磁頭向磁道號增加的方向移動。總道數(shù)299

平均37.4

上SCAN/LOOK算法評價

■對于SCAN(LOOK)算法來說,位于不同磁道(柱

面)的I/O請求與獲取服務所需的等待時間是不同

的。

■對于靠近邊緣的柱面,最壞情況的移動量為2N?1

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

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

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

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

進行的改進。

■磁頭只在單方向移動過程中才為途經的請求服務,

一旦達到邊緣,則立即快速移動至另一邊緣,在此

移動過程中并不處理訪問請求,然后重新開始新一

輪掃描。

循環(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

特點:消除了對兩端磁道請求的不公平。

N?STEP?SCAN調度算法

■SSTF、SCAN及CSCAN存在的問題“■磁臂粘著

在SSTF、SCAN及CSCAN幾種調度算法中,可能

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

而壟斷了整個磁盤設備,這種現(xiàn)象稱為磁臂粘著。

■N?STEP-SCAN調度算法

將磁盤請求隊列分成若干個長度為N的子隊列,磁

盤調度將按FCFS算法依次處理這些子隊列,而每一子

隊列按SCAN算法處理。

N=1FCFS算法

N彳艮大SCAN算法

N取半長度FSCAN算法

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

目前,由于磁盤的I/O速度遠低內存的訪問速度,

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

磁盤的I/O速度,便采用磁盤高速緩存。

力磁盤高速緩存的形式

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

◎置換算法

由周期性地寫回磁盤

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

■磁盤高速緩存

A是指內存中的一部分存儲空間,用來暫存從磁盤

讀出的一系列盤塊中的信息,所以它是一組在邏

輯上屬于磁盤,而物理上是駐留在內存中的盤塊

■磁盤高速緩存的形式

力內存中單獨的存儲空間(大小固定)

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

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

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

>是指磁盤高速緩存中的數(shù)據(jù)傳送給請求者進程。

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

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

傳送到請求者進程的內存工作區(qū)。

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

指針,交付給請求者進程。

(3)置換算法

將磁盤中的盤塊讀入到磁盤高速緩存中時,若因磁盤

高速緩存已滿,則采用常用的算法進行置換:

>最近最久未使用算法LRU

>最近未使用算法NRU

>最少使用算法LFU

■置換時除算法外還應考慮的問題

>訪問頻率

>可預見性

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

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

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

到時優(yōu)先寫回磁盤。

上(4)周期性地寫回磁盤

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

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

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

經常訪問的數(shù)據(jù)一直保留磁盤高速緩存中,長期不

會被寫回磁盤,若系統(tǒng)出故障,則存在磁盤高速緩

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

■問題解決

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

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

?H

、提高磁盤I/O速度的其它方法

■提前讀(Read_Ahead):由于用戶對文件的訪問常用

順序方式,在讀當前塊時,可預知下一次要讀的盤塊,

所以,可采用預先讀方式,即在讀當前塊的同時,連同

將下一塊提前讀入緩沖。當訪問下一塊數(shù)據(jù)時,其已在

緩沖中,而不需去啟動磁盤I/O。

■延遲寫:在緩存中的數(shù)據(jù),本應立即寫回磁盤,考慮不

久之后可能會再用,故不立即寫回磁盤。

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

塊的分布、優(yōu)化索引結點的分布)。

■虛擬盤:利用內存去仿真磁盤,又稱為RAM盤。(與

磁盤高速緩存的區(qū)別:RAM盤中的內容由用戶控制,

而緩存中的內容則由OS控制)

返回

15、廉價磁盤冗余陣列(RAID)

■RAID(RedundantArrayofIndependent/

InexpensiveDisks):獨立或廉價磁盤冗余陣列

■“獨立”是目前通用的一個行業(yè)術語,強調

RAID陣列的重要性和可靠性

■“廉價”是較早使用的一個術語,重在強調RAID

磁盤陣列中采用的相對較小的、價格較便宜的磁

盤。

上5、廉價磁盤冗余陣列(RAID)

■1987年由美國加利福尼來大學伯萊分校提出,

1988年問世,即利用一臺磁盤陣列控制器,來

統(tǒng)一管理和控制一組磁盤驅動器,組成一個高

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

口并行交叉存取

口RAID的分級

◎RAID的優(yōu)點

*(1)并行交叉存取

■為提高磁盤的訪問速度而在大、中型機中采用的交

叉存取

溫馨提示

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

評論

0/150

提交評論