文件管理課件_第1頁
文件管理課件_第2頁
文件管理課件_第3頁
文件管理課件_第4頁
文件管理課件_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章文件管理

■文件系統(tǒng)概述

■文件的結(jié)構(gòu)和存取方式

■文件目錄

■文件存儲(chǔ)空間的管理

■文件的使用、共享與保護(hù)

■文件系統(tǒng)的性能問題

5.1.1文件的概念

外存中具有符號(hào)名的一組有邏輯意義的信息項(xiàng)

的集合。

指os中管理文件的那一部分軟件。它負(fù)責(zé)管理

文件的存儲(chǔ)、檢索、更新,提供安全可靠的共

享和保護(hù)手段,并為用戶提供一整套方便有效

的文件使用和操作方法。它在OS接口中占比例

最大,是I/O系統(tǒng)的上層軟件。文件系統(tǒng)面向用

戶的主要任務(wù)是實(shí)現(xiàn)文件的“按名存取”。

5.1.2文件分類

■分類角度多。比如,可按文件的用途、文件中

數(shù)據(jù)的形式、存取控制屬性、文件信息的保存

期限、文件的邏輯結(jié)構(gòu)、文件的物理結(jié)構(gòu)等進(jìn)

行分類。

■UNIX系統(tǒng)將文件分為三類:

普通文件(包括用戶的ASCH或二進(jìn)制文件);

目錄文件;

特殊文件(設(shè)備文件,管道,套接字,符號(hào)鏈

等)

5.2文件結(jié)構(gòu)與存取方法

文件的結(jié)構(gòu)指文件中信息的配置和構(gòu)造方式,有邏輯結(jié)

高和物理結(jié)構(gòu)之分。

1.文件的邏輯結(jié)構(gòu)

■用戶眼中文件信息的組織形式叫文件的邏輯結(jié)構(gòu)。它

包括記錄式文件和流式文件兩種,每種文件信息的邏

輯單位分別是記錄和字符。

■UNIX系統(tǒng)視所有文件的邏輯結(jié)構(gòu)為無結(jié)構(gòu)的流式文

■早期有結(jié)構(gòu)的記錄式文件又分定長和不定長兩種,流

式文件可看作特殊的定長記錄式文件

■文件的邏輯結(jié)構(gòu)與文件的存儲(chǔ)介質(zhì)無關(guān)

2.文件的物理結(jié)構(gòu)

■系統(tǒng)眼中文件信息的組織形式叫文件的物理

結(jié)典。它包括順序文件、鏈接文件、索引文

件二種(實(shí)為連續(xù)文件與不連續(xù)文件兩大類)

■文件的物理結(jié)構(gòu)也叫文件的存儲(chǔ)結(jié)構(gòu),指文

件在外存上的存儲(chǔ)組織形式,它與存儲(chǔ)介質(zhì)

的性能和外存的分配方式有關(guān)

■順序文件:文件的信息存放在若干連續(xù)的物

理塊中。特點(diǎn):實(shí)現(xiàn)簡單,順序存取速度快,

但分配慢,外存碎片多(似內(nèi)存的可重定位可變分

區(qū)分配)

磁盤空間連續(xù)分配產(chǎn)生順序文件:

磁盤空間

文件目錄

n口fD

n口E文件名始址塊數(shù)

n□口

ncount02

D口tr143

運(yùn)

mailmail196

遠(yuǎn)口口近

list284

近遠(yuǎn)遠(yuǎn)因f62

[24]QQ

list

畫畫畫畫

■鏈接文件:一個(gè)文件的信息存放在若干不

連續(xù)的物理塊中,各塊之間通過指針連接。

特點(diǎn):提高了磁盤空間利用率,不存在外

部碎片問題,有利于文件長度動(dòng)態(tài)變化,

但存取速度慢(不適合隨機(jī)存取,尋道時(shí)

間長),可靠性差,指針占空間。

■鏈接文件按鏈接指針的不同實(shí)現(xiàn)又分為隱

式鏈接文件和顯式鏈接文件,MSDOS、

Windows中采用的是后者,其FAT和簇的

概念是傳統(tǒng)鏈接結(jié)構(gòu)的變形

磁盤空間鏈接式分配產(chǎn)生鏈接文件:

―文件目錄

磁盤空間I文件名始址末址I

0110%23jeep925

4D6^7Q_________I~

8口,或o西u口;

120(^0140isnj

16擊17口曲?口19口-:

20O21Cj22n23Q,j..............

24125立12627

28293031

■索引文件:一個(gè)文件的信息存放在若干不連續(xù)

物理塊中,系統(tǒng)為每個(gè)文件建立一個(gè)索引表,

并將這些物理塊號(hào)存放在其中

■一個(gè)索引表就是磁盤塊地址數(shù)組,其中第i個(gè)條

目指向文件的第i塊

■索引表組織:單級(jí)索引、多級(jí)索引、Hash索引。

UNIX文件系統(tǒng)采用多級(jí)索引結(jié)構(gòu)

■特點(diǎn):既能順序存取,又能隨機(jī)存取,支持文

件長度動(dòng)態(tài)變化,外存利用率高,但索引表需

占額外空間。

磁盤空間索引式分配產(chǎn)生索引文件:

文件目錄

023

4567

11

HUIM遠(yuǎn)近

[2g[29][30]SI

一次間接地址塊物理塊

gUNIXSystemV

采用多級(jí)混合

物理塊

一次間接塊索引方式

個(gè)二次間接塊

?<

項(xiàng)

二次間接塊

索引結(jié)點(diǎn)中的

13個(gè)地址項(xiàng)

設(shè)每個(gè)盤塊4kB,每個(gè)盤塊號(hào)4B,則米用

3次間址可表示的文件最大長度為:

4T+4G+4M+40K(B)

3.文件的存取方式

當(dāng)今OS支持的文件存取方式主要有順序存取和

隨機(jī)存取兩種。

對(duì)文件中的信息按邏輯順序進(jìn)行讀/寫的存

取方式稱順序存取

■隨機(jī)存取

對(duì)文件中的信息按任意順序進(jìn)行讀/寫的存

取方式稱隨機(jī)存取

■早期系統(tǒng)中記錄式文件所對(duì)應(yīng)的第三種存取

方式—現(xiàn)在多見于DBMS中

4.文件的存儲(chǔ)介質(zhì)

磁帶,磁盤,光盤,優(yōu)盤,……

■以塊為單位進(jìn)行信息的存儲(chǔ)、傳輸、分配

■磁帶:順序存取設(shè)備,前面的物理塊被存取

訪問之后,才能存取后續(xù)的物理塊的內(nèi)容。

存取速度較慢,現(xiàn)在主要用于后備存儲(chǔ)。

■磁盤:可編址的隨機(jī)存取設(shè)備,存取磁盤上

任一物理塊的時(shí)間不依賴于該物理塊所處的

位置。

■光盤、優(yōu)盤:可移動(dòng)磁盤的改進(jìn)、變形物。

5.文件結(jié)構(gòu)、文件存取方式與文件存儲(chǔ)介質(zhì)的關(guān)系

文件的存取方式不僅與文件的結(jié)構(gòu)有關(guān),還與

文件所在存儲(chǔ)介質(zhì)的性能有關(guān),如下表所示:

存儲(chǔ)介質(zhì)磁帶磁盤

物理結(jié)構(gòu)順序結(jié)構(gòu)順序鏈接索引

順序順序順序

存取方式順序存取

隨機(jī)隨機(jī)

問題1:上表內(nèi)容完全正確嗎?

問題2:磁盤上的不定長記錄式順序文件適合隨

機(jī)存取嗎?

6文件存儲(chǔ)空間的管理

1.分配方式

當(dāng)今OS幾乎都采用離散分配方式(似內(nèi)存分

頁),以節(jié)省外存空間。采用鏈接分配法導(dǎo)

致鏈接文件,如MSDOS;采用索引分配法

將形成索引文件,如UNIX。UNIX僅對(duì)其對(duì)

換區(qū)采用連續(xù)分配方式,以加快對(duì)換過程。

2.分配算法

似首次適應(yīng)法的擴(kuò)充(即順序查找分配法)

3.分配算法用的主要數(shù)據(jù)結(jié)構(gòu)(即描述外存空

間使用情況的幾類不同的數(shù)據(jù)結(jié)構(gòu))

⑴空閑區(qū)表/鏈

■將所有空閑區(qū)記錄在一個(gè)表/鏈中。適合連續(xù)分配。如

今少用

⑵空閑塊鏈

■把所有空閑塊鏈成一個(gè)鏈。適合離散分配,今DOS、

Windows等用之

■擴(kuò)展:①不斷地適度地增加塊尺寸。從最早的

512BnlKBn2KB=>4KBn8KBn16KBn32KBn

64KBoFAT16支持的最大簇為32KB,FAT32支持的最大簇

為16KB,NTFS支持的最大簇為64KB(請(qǐng)思考FAT12、

FAT16與FAT32之間的區(qū)別)②成組鏈接法,鏈上每個(gè)節(jié)

點(diǎn)記錄1組空閑塊。適合大型文件系統(tǒng),分配、釋放快,鏈

本身短,占空間少(除首組外均隱藏在空閑塊中)。UNIX

用之

始化鏈的例子:

中空閑塊號(hào)棧50號(hào)空塊150號(hào)空塊250號(hào)空塊

一空閑塊數(shù)

一空閑塊號(hào)

S.free

0

38

251號(hào)空閑塊

采用成組鏈接法的外存分配、回收算法:

磁盤專用塊一一內(nèi)存專用塊

(superblock)

分配算法(分配1個(gè)空塊)回收算法(回收1個(gè)空塊)

IF棧已上鎖THEN阻塞ELSE對(duì)棧上鎖IF棧已上鎖THEN阻塞ELSE對(duì)棧上鎖

IF空閑塊數(shù)>1THEN{IF空閑塊數(shù)V100THEN{

空閑塊數(shù)減1;開鎖;將釋放塊壓入S.free(空閑塊數(shù))單元;

返回S.free(空閑塊數(shù))單元的空塊;}空閑塊數(shù)加1;開鎖;返回;}

IF空閑塊數(shù)=1且S.free(0尸0THEN{ELSE{把空閑塊棧內(nèi)容寫到釋放塊中;

開鎖;失敗返回;}ELSE{置空閑塊數(shù)為1;

將S.free(空閑塊數(shù)-1)單元的空塊存入T;將釋放塊號(hào)壓入S.free(0)單元;

將T號(hào)塊內(nèi)容讀入專用塊;開鎖;返回;}

開鎖;返回T號(hào)空塊;}

(3)位示圖

日用一串二進(jìn)制位反映磁盤空間中分配使用情況,

每個(gè)物理塊對(duì)應(yīng)一位,分配物理塊為1,否則為

0

申請(qǐng)物理塊時(shí),可以在位示圖中查找為0的位,

返回對(duì)應(yīng)物理塊號(hào);

歸還時(shí);將對(duì)應(yīng)位轉(zhuǎn)置0-

描述能力強(qiáng),適合各種物理結(jié)構(gòu)(對(duì)連續(xù)文件

稍差),本身占空間少,可常駐內(nèi)存,而字位

號(hào)到塊號(hào)的轉(zhuǎn)換也不難。今Linux等用之(甚

至對(duì)內(nèi)存分頁方式也用它)

5.3文件目錄

1.基本概念

■文件控制塊(FCB):是OS為管理文件而設(shè)置

的數(shù)據(jù)結(jié)構(gòu),存放了為管理文件所需的所有有

關(guān)信息(文件屬性),也叫文件目錄項(xiàng)

■文件控制塊是文件存在的標(biāo)志

■文件控制塊的內(nèi)容:

/基本信息:文件的名字、地址、大小、結(jié)構(gòu)、類型

/存取控制信息:文件屬主、存取權(quán)限或?qū)傩曰蚩诹?/p>

,使用信息:共享計(jì)數(shù),文件的建立、修改日期等

■文件目錄:把所有的FCB組織在一起,就構(gòu)

成了文件目錄,即文件控制塊的有序集合

■目錄項(xiàng):構(gòu)成文件目錄的項(xiàng)目,即FCB

■目錄文件:為了實(shí)現(xiàn)對(duì)文件目錄的管理,通

常將文件目錄以文件的形式保存在外存,這

個(gè)文件就叫目錄文件

■目錄主要是為了系統(tǒng)快速實(shí)現(xiàn)“按名存取”

而引入的,查目錄是文件系統(tǒng)最頻繁的操作,

因此目錄的合理組織很重要

2.目錄結(jié)構(gòu)

⑴單級(jí)目錄結(jié)構(gòu)

系統(tǒng)為所有文件建立一個(gè)目錄文件(線性表)

優(yōu)點(diǎn):簡單,易實(shí)現(xiàn)

缺點(diǎn):

■限制了用戶對(duì)文件的命名(存在“命名沖突”問

題)

■順序檢索文件時(shí)平均檢索時(shí)間長

■限制了對(duì)文件的共享

?不適于多用戶系統(tǒng)

(2)二級(jí)目錄結(jié)構(gòu)

■為克服單級(jí)目錄結(jié)構(gòu)存在的命名沖突問題,

并提高對(duì)目錄文件的檢索速度而引入

■目錄分為兩級(jí):一級(jí)稱為主文件目錄,給出用戶

名,用戶子目錄所在的物理位置;二級(jí)稱為用戶文

件目錄(又稱用戶子目錄),給出該用戶所有文件

的FCB

■優(yōu)點(diǎn):解決了文件的重名問題和文件共享問題;

可用于多用戶系統(tǒng);

順序查找時(shí)間降低。

■缺點(diǎn):增加了系統(tǒng)開銷

級(jí)目錄結(jié)構(gòu)示意圖

普通文件

UFD(user1)

ABC

LMN

XYZ

ABC

----

(3)多級(jí)目錄結(jié)構(gòu)(樹型目錄)

■對(duì)二級(jí)目錄簡單擴(kuò)充可得三級(jí)或三級(jí)以上的多

級(jí)目錄結(jié)構(gòu),即允許每一級(jí)目錄中的FCB要么

指向文件,要么指向下一級(jí)子目錄即可。這是

當(dāng)今主流OS普遍采用的目錄結(jié)構(gòu)

■優(yōu)點(diǎn):①解決了命名沖突問題.

②提高了文件檢索速度

③易于實(shí)現(xiàn)文件的共享和保護(hù)

④層次結(jié)構(gòu)清晰,便于對(duì)文件分類管理

■缺點(diǎn):查找一個(gè)文件按路徑名逐層檢查,由于

每個(gè)文件都放在外存,多次訪盤影響速度

UNIX多級(jí)樹形目錄結(jié)構(gòu)示意圖

文件符號(hào)名

文件內(nèi)部號(hào)

文件符號(hào)名

4B^^.F?-CB??B1?I

基本目錄項(xiàng)

BFCB

采用基本文件目錄和符號(hào)文件

目錄的多級(jí)目錄結(jié)構(gòu)示意圖(2)

文件名ID

ZhangSan

Li_Sitj

Software4

Tools6

ID4Products7

ID5Rooms5

Zhang_San的目錄(ID3)

ID7文件名ID

文件名IDSA2

ID9ITools5Mygame

10

ID1Mygame

Classmate9ZhangSanTook子目錄(ID6)

lEftl

(ID1)Li_Si的目錄(ID8)

例5?1I塊大小512字節(jié),一個(gè)FCB有48個(gè)字節(jié),符號(hào)日

錄項(xiàng)占8字節(jié),文件名6寧節(jié),文件號(hào)2字節(jié),基本口錄項(xiàng)次

48-6=42字節(jié)。若把含行128個(gè)訂錄項(xiàng)的某單級(jí)H錄文件改造

成符號(hào)文件目錄和基本文件目錄的結(jié)構(gòu),試說明改造后查

,個(gè)文件的平均訪盤次數(shù),談一下自己的認(rèn)識(shí)。

解:分解前:1塊含512/48=10個(gè)FCB

分解后:1塊含512/8=64個(gè)符號(hào)目錄項(xiàng),或者,

1塊含512/42=12個(gè)基本目錄項(xiàng)

該目錄文件含有128個(gè)目錄項(xiàng),分解前占13塊,

分解后其符號(hào)文件占2塊,基本文件占11塊。

故分解前查找一個(gè)文件的平均訪盤次數(shù):

(1+13)/2=7次,分解后:(1+2)/2+1=2.5次

由此可見:改造后減少了訪問硬盤的次數(shù),提

高了檢索速度。

⑸目錄的其他實(shí)現(xiàn)方法:

■Hash表算法:

目錄文件按目錄項(xiàng)鍵的Hash值的順序組織。

創(chuàng)建或搜索時(shí)根據(jù)文件名計(jì)算Hash值,得到

一個(gè)指向目錄表中相應(yīng)表目的指針

■其他算法:1R

如B+樹,這是一種將大的單級(jí)索引目錄文件

組織成有序的樹型多級(jí)索引目錄文件的方法,

是索引順序文件中實(shí)際采用的基本索弓I結(jié)構(gòu),

支持隨機(jī)訪問和順序訪問,多見于DBMS中。

NTFS文件系統(tǒng)就采用了B+樹

3.目錄查詢技術(shù)

文件的“按名存取”是通過查目錄實(shí)現(xiàn)的,

系統(tǒng)按照文件的路徑名檢索。目錄查詢技術(shù)

主要有兩種:

■線性檢索法

■Hash方法

為加快目錄檢索,許多系統(tǒng)引入當(dāng)前目錄(工作

目錄,值班目錄)、相對(duì)路徑名、cd命令等。

5.4文件使用

■為方便用戶使用文件,文件系統(tǒng)提供對(duì)文件的

各種操作,形式分別為:系統(tǒng)調(diào)用或命令

①提供設(shè)置和修改用戶文件的存取權(quán)限的服務(wù)

②提供建立、修改、改變、刪除目錄的服務(wù)

③提供文件共享,設(shè)置訪問路徑的服務(wù)「一一,

④提供創(chuàng)建、打開、讀、寫、關(guān)閉、撤消文件等服務(wù)

⑤文件系統(tǒng)維護(hù)

⑥文件系統(tǒng)的轉(zhuǎn)儲(chǔ)和恢復(fù)

⑦??????

其中,最基本的操作是:打開、關(guān)閉、讀、寫文件等

(1)打開文件操作簡介

■任何一個(gè)文件使用前都要先打開,即把

FCB送到內(nèi)存,以建立用戶和文件的聯(lián)

系,使今后頻繁的查目錄操作在內(nèi)存中

完成。如fd=open(文件路徑名,打開方式)

■打開文件操作的主要執(zhí)行步驟如下:

①根據(jù)文件路徑名查目錄,找到FCB主部;

②根據(jù)打開方式、共享說明和用戶身份檢查訪

問合法性;

③根據(jù)文件號(hào)查系統(tǒng)打開文件表,看文件是否

已被打開;若是一共享計(jì)數(shù)加1,否則一將外

存中的FCB主部等信息填入系統(tǒng)打開文件表

空表項(xiàng),共享計(jì)數(shù)置為1;

④在用戶打開文件表中取一空表項(xiàng),填寫打開

方式等,并指向系統(tǒng)打開文件表對(duì)應(yīng)表項(xiàng)

返回信息:fd:文件描述符,是一個(gè)非負(fù)整

數(shù),用于以后讀寫文件

5.5文件的共享與保護(hù)

1.文件共享的定義

一個(gè)文件被多個(gè)用戶或程序使用

共享形式:

A被多個(gè)用戶不同時(shí)使用,由存取權(quán)限控制

A被多個(gè)程序使用,但各用自己的寫指針

?被多個(gè)程序使用,但共享寫指針

2.文件共享的目的

A節(jié)省時(shí)間和存儲(chǔ)空間,減少了用戶工作量;

>進(jìn)程間通過文件交換信息。

的實(shí)現(xiàn)方法(3種)

按“路徑名”訪問共享文件,即基于系統(tǒng)目

錄的共享法O實(shí)現(xiàn)簡單,但路徑名可能長,檢索較

慢。

用連接命令實(shí)現(xiàn)基于i-node的共享(硬鏈^?。?

通過“連接(Link)”命令,在用戶自己的

目錄項(xiàng)中對(duì)要共享的文件建立起相應(yīng)的表目,

新建目錄項(xiàng)中的索引節(jié)點(diǎn)號(hào)即被共享文件的。

解除連接需執(zhí)行Unlink命令。UNIX提供此法。

它是方法1的發(fā)展。使用文件別名,檢索較快,也

叫靜態(tài)共享。

問題:刪除文件時(shí)應(yīng)怎樣考慮?

用符號(hào)鏈(Symboliclinking)訪問共享文件

系統(tǒng)建立一個(gè)新文件,類型為LINK,放在要

連接的目錄下。該文件只包含被鏈接文件的

路徑名

問迎:系統(tǒng)時(shí)空開銷大

優(yōu)勢(shì):適于異地系統(tǒng)間(特別是計(jì)算機(jī)網(wǎng)絡(luò)

環(huán)境下)的文件共享,也沒有直接刪除文件

的副作用。

符號(hào)鏈在Windows中叫快捷方式

UNIX實(shí)例——用戶B用連接方式共享用戶A的文件F

Link(A/F,B/C)(Linux命令為InA/FB/C)

在B目錄中建立一個(gè)新表目,并在文件F所對(duì)應(yīng)

的目錄表目中的“連接數(shù)”項(xiàng)加1

1文件名1內(nèi)部標(biāo)識(shí)號(hào)

CA/F的內(nèi)部標(biāo)識(shí)號(hào)

為支持用戶的3種共享形式,UNIX在用戶

打開文件表和內(nèi)存索引節(jié)點(diǎn)間還引入了系

統(tǒng)打開文件表,以解決文件讀寫指針的存

放位置問題,如下圖所示。

系統(tǒng)打開文件表

UNIX系統(tǒng)文件共享示例

4.文件的保護(hù)與保密

這是實(shí)現(xiàn)‘*系統(tǒng)安全性的兩個(gè)重要方面。安

全性應(yīng)確保未經(jīng)授權(quán)的用戶不能存取某些文

件,防止數(shù)據(jù)的丟失、被偷竊、被篡改。這

涉及到技術(shù)、管理、法律、道德、教育和政

治等問題

(1)系統(tǒng)安全的分級(jí)管理

■系統(tǒng)級(jí)管理(注冊(cè)、登錄、口令機(jī)制)

■用戶級(jí)管理(分類授權(quán))

■目錄、文件級(jí)管理(設(shè)權(quán)限、屬性等)

(2)文件保護(hù)一防破壞(被動(dòng)做法J

■人為破壞因素■系統(tǒng)對(duì)策

?有意、無意的非法操作■授權(quán)機(jī)制「

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論