版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章文件管理
■文件系統(tǒng)概述
■文件的結(jié)構(gòu)和存取方式
■文件目錄
■文件存儲空間的管理
■文件的使用、共享與保護
■文件系統(tǒng)的性能問題
5.1.1文件的概念
外存中具有符號名的一組有邏輯意義的信息項
的集合。
指os中管理文件的那一部分軟件。它負(fù)責(zé)管理
文件的存儲、檢索、更新,提供安全可靠的共
享和保護手段,并為用戶提供一整套方便有效
的文件使用和操作方法。它在OS接口中占比例
最大,是I/O系統(tǒng)的上層軟件。文件系統(tǒng)面向用
戶的主要任務(wù)是實現(xiàn)文件的“按名存取”。
5.1.2文件分類
■分類角度多。比如,可按文件的用途、文件中
數(shù)據(jù)的形式、存取控制屬性、文件信息的保存
期限、文件的邏輯結(jié)構(gòu)、文件的物理結(jié)構(gòu)等進(jìn)
行分類。
■UNIX系統(tǒng)將文件分為三類:
普通文件(包括用戶的ASCH或二進(jìn)制文件);
目錄文件;
特殊文件(設(shè)備文件,管道,套接字,符號鏈
等)
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)與文件的存儲介質(zhì)無關(guān)
2.文件的物理結(jié)構(gòu)
■系統(tǒng)眼中文件信息的組織形式叫文件的物理
結(jié)典。它包括順序文件、鏈接文件、索引文
件二種(實為連續(xù)文件與不連續(xù)文件兩大類)
■文件的物理結(jié)構(gòu)也叫文件的存儲結(jié)構(gòu),指文
件在外存上的存儲組織形式,它與存儲介質(zhì)
的性能和外存的分配方式有關(guān)
■順序文件:文件的信息存放在若干連續(xù)的物
理塊中。特點:實現(xiàn)簡單,順序存取速度快,
但分配慢,外存碎片多(似內(nèi)存的可重定位可變分
區(qū)分配)
磁盤空間連續(xù)分配產(chǎn)生順序文件:
磁盤空間
文件目錄
n口fD
n口E文件名始址塊數(shù)
n□口
ncount02
茴
D口tr143
運
mailmail196
遠(yuǎn)口口近
list284
近遠(yuǎn)遠(yuǎn)因f62
[24]QQ
list
畫畫畫畫
■鏈接文件:一個文件的信息存放在若干不
連續(xù)的物理塊中,各塊之間通過指針連接。
特點:提高了磁盤空間利用率,不存在外
部碎片問題,有利于文件長度動態(tài)變化,
但存取速度慢(不適合隨機存取,尋道時
間長),可靠性差,指針占空間。
■鏈接文件按鏈接指針的不同實現(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
■索引文件:一個文件的信息存放在若干不連續(xù)
物理塊中,系統(tǒng)為每個文件建立一個索引表,
并將這些物理塊號存放在其中
■一個索引表就是磁盤塊地址數(shù)組,其中第i個條
目指向文件的第i塊
■索引表組織:單級索引、多級索引、Hash索引。
UNIX文件系統(tǒng)采用多級索引結(jié)構(gòu)
■特點:既能順序存取,又能隨機存取,支持文
件長度動態(tài)變化,外存利用率高,但索引表需
占額外空間。
磁盤空間索引式分配產(chǎn)生索引文件:
文件目錄
023
4567
11
立
HUIM遠(yuǎn)近
[2g[29][30]SI
一次間接地址塊物理塊
gUNIXSystemV
采用多級混合
物理塊
一次間接塊索引方式
十
個二次間接塊
直
?<
地
址
項
二次間接塊
索引結(jié)點中的
13個地址項
設(shè)每個盤塊4kB,每個盤塊號4B,則米用
3次間址可表示的文件最大長度為:
4T+4G+4M+40K(B)
3.文件的存取方式
當(dāng)今OS支持的文件存取方式主要有順序存取和
隨機存取兩種。
對文件中的信息按邏輯順序進(jìn)行讀/寫的存
取方式稱順序存取
■隨機存取
對文件中的信息按任意順序進(jìn)行讀/寫的存
取方式稱隨機存取
■早期系統(tǒng)中記錄式文件所對應(yīng)的第三種存取
方式—現(xiàn)在多見于DBMS中
4.文件的存儲介質(zhì)
磁帶,磁盤,光盤,優(yōu)盤,……
■以塊為單位進(jìn)行信息的存儲、傳輸、分配
■磁帶:順序存取設(shè)備,前面的物理塊被存取
訪問之后,才能存取后續(xù)的物理塊的內(nèi)容。
存取速度較慢,現(xiàn)在主要用于后備存儲。
■磁盤:可編址的隨機存取設(shè)備,存取磁盤上
任一物理塊的時間不依賴于該物理塊所處的
位置。
■光盤、優(yōu)盤:可移動磁盤的改進(jìn)、變形物。
5.文件結(jié)構(gòu)、文件存取方式與文件存儲介質(zhì)的關(guān)系
文件的存取方式不僅與文件的結(jié)構(gòu)有關(guān),還與
文件所在存儲介質(zhì)的性能有關(guān),如下表所示:
存儲介質(zhì)磁帶磁盤
物理結(jié)構(gòu)順序結(jié)構(gòu)順序鏈接索引
順序順序順序
存取方式順序存取
隨機隨機
問題1:上表內(nèi)容完全正確嗎?
問題2:磁盤上的不定長記錄式順序文件適合隨
機存取嗎?
6文件存儲空間的管理
1.分配方式
當(dāng)今OS幾乎都采用離散分配方式(似內(nèi)存分
頁),以節(jié)省外存空間。采用鏈接分配法導(dǎo)
致鏈接文件,如MSDOS;采用索引分配法
將形成索引文件,如UNIX。UNIX僅對其對
換區(qū)采用連續(xù)分配方式,以加快對換過程。
2.分配算法
似首次適應(yīng)法的擴充(即順序查找分配法)
3.分配算法用的主要數(shù)據(jù)結(jié)構(gòu)(即描述外存空
間使用情況的幾類不同的數(shù)據(jù)結(jié)構(gòu))
⑴空閑區(qū)表/鏈
■將所有空閑區(qū)記錄在一個表/鏈中。適合連續(xù)分配。如
今少用
⑵空閑塊鏈
■把所有空閑塊鏈成一個鏈。適合離散分配,今DOS、
Windows等用之
■擴展:①不斷地適度地增加塊尺寸。從最早的
512BnlKBn2KB=>4KBn8KBn16KBn32KBn
64KBoFAT16支持的最大簇為32KB,FAT32支持的最大簇
為16KB,NTFS支持的最大簇為64KB(請思考FAT12、
FAT16與FAT32之間的區(qū)別)②成組鏈接法,鏈上每個節(jié)
點記錄1組空閑塊。適合大型文件系統(tǒng),分配、釋放快,鏈
本身短,占空間少(除首組外均隱藏在空閑塊中)。UNIX
用之
始化鏈的例子:
中空閑塊號棧50號空塊150號空塊250號空塊
一空閑塊數(shù)
一空閑塊號
S.free
0
38
251號空閑塊
采用成組鏈接法的外存分配、回收算法:
磁盤專用塊一一內(nèi)存專用塊
(superblock)
分配算法(分配1個空塊)回收算法(回收1個空塊)
IF棧已上鎖THEN阻塞ELSE對棧上鎖IF棧已上鎖THEN阻塞ELSE對棧上鎖
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;將釋放塊號壓入S.free(0)單元;
將T號塊內(nèi)容讀入專用塊;開鎖;返回;}
開鎖;返回T號空塊;}
(3)位示圖
日用一串二進(jìn)制位反映磁盤空間中分配使用情況,
每個物理塊對應(yīng)一位,分配物理塊為1,否則為
0
申請物理塊時,可以在位示圖中查找為0的位,
返回對應(yīng)物理塊號;
歸還時;將對應(yīng)位轉(zhuǎn)置0-
描述能力強,適合各種物理結(jié)構(gòu)(對連續(xù)文件
稍差),本身占空間少,可常駐內(nèi)存,而字位
號到塊號的轉(zhuǎn)換也不難。今Linux等用之(甚
至對內(nèi)存分頁方式也用它)
5.3文件目錄
1.基本概念
■文件控制塊(FCB):是OS為管理文件而設(shè)置
的數(shù)據(jù)結(jié)構(gòu),存放了為管理文件所需的所有有
關(guān)信息(文件屬性),也叫文件目錄項
■文件控制塊是文件存在的標(biāo)志
■文件控制塊的內(nèi)容:
/基本信息:文件的名字、地址、大小、結(jié)構(gòu)、類型
/存取控制信息:文件屬主、存取權(quán)限或?qū)傩曰蚩诹?/p>
,使用信息:共享計數(shù),文件的建立、修改日期等
■文件目錄:把所有的FCB組織在一起,就構(gòu)
成了文件目錄,即文件控制塊的有序集合
■目錄項:構(gòu)成文件目錄的項目,即FCB
■目錄文件:為了實現(xiàn)對文件目錄的管理,通
常將文件目錄以文件的形式保存在外存,這
個文件就叫目錄文件
■目錄主要是為了系統(tǒng)快速實現(xiàn)“按名存取”
而引入的,查目錄是文件系統(tǒng)最頻繁的操作,
因此目錄的合理組織很重要
2.目錄結(jié)構(gòu)
⑴單級目錄結(jié)構(gòu)
系統(tǒng)為所有文件建立一個目錄文件(線性表)
優(yōu)點:簡單,易實現(xiàn)
缺點:
■限制了用戶對文件的命名(存在“命名沖突”問
題)
■順序檢索文件時平均檢索時間長
■限制了對文件的共享
?不適于多用戶系統(tǒng)
(2)二級目錄結(jié)構(gòu)
■為克服單級目錄結(jié)構(gòu)存在的命名沖突問題,
并提高對目錄文件的檢索速度而引入
■目錄分為兩級:一級稱為主文件目錄,給出用戶
名,用戶子目錄所在的物理位置;二級稱為用戶文
件目錄(又稱用戶子目錄),給出該用戶所有文件
的FCB
■優(yōu)點:解決了文件的重名問題和文件共享問題;
可用于多用戶系統(tǒng);
順序查找時間降低。
■缺點:增加了系統(tǒng)開銷
級目錄結(jié)構(gòu)示意圖
普通文件
UFD(user1)
ABC
LMN
XYZ
ABC
----
(3)多級目錄結(jié)構(gòu)(樹型目錄)
■對二級目錄簡單擴充可得三級或三級以上的多
級目錄結(jié)構(gòu),即允許每一級目錄中的FCB要么
指向文件,要么指向下一級子目錄即可。這是
當(dāng)今主流OS普遍采用的目錄結(jié)構(gòu)
■優(yōu)點:①解決了命名沖突問題.
②提高了文件檢索速度
③易于實現(xiàn)文件的共享和保護
④層次結(jié)構(gòu)清晰,便于對文件分類管理
■缺點:查找一個文件按路徑名逐層檢查,由于
每個文件都放在外存,多次訪盤影響速度
UNIX多級樹形目錄結(jié)構(gòu)示意圖
文件符號名
文件內(nèi)部號
文件符號名
4B^^.F?-CB??B1?I
基本目錄項
BFCB
采用基本文件目錄和符號文件
目錄的多級目錄結(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é),一個FCB有48個字節(jié),符號日
錄項占8字節(jié),文件名6寧節(jié),文件號2字節(jié),基本口錄項次
48-6=42字節(jié)。若把含行128個訂錄項的某單級H錄文件改造
成符號文件目錄和基本文件目錄的結(jié)構(gòu),試說明改造后查
,個文件的平均訪盤次數(shù),談一下自己的認(rèn)識。
解:分解前:1塊含512/48=10個FCB
分解后:1塊含512/8=64個符號目錄項,或者,
1塊含512/42=12個基本目錄項
該目錄文件含有128個目錄項,分解前占13塊,
分解后其符號文件占2塊,基本文件占11塊。
故分解前查找一個文件的平均訪盤次數(shù):
(1+13)/2=7次,分解后:(1+2)/2+1=2.5次
由此可見:改造后減少了訪問硬盤的次數(shù),提
高了檢索速度。
⑸目錄的其他實現(xiàn)方法:
■Hash表算法:
目錄文件按目錄項鍵的Hash值的順序組織。
創(chuàng)建或搜索時根據(jù)文件名計算Hash值,得到
一個指向目錄表中相應(yīng)表目的指針
■其他算法:1R
如B+樹,這是一種將大的單級索引目錄文件
組織成有序的樹型多級索引目錄文件的方法,
是索引順序文件中實際采用的基本索弓I結(jié)構(gòu),
支持隨機訪問和順序訪問,多見于DBMS中。
NTFS文件系統(tǒng)就采用了B+樹
3.目錄查詢技術(shù)
文件的“按名存取”是通過查目錄實現(xiàn)的,
系統(tǒng)按照文件的路徑名檢索。目錄查詢技術(shù)
主要有兩種:
■線性檢索法
■Hash方法
為加快目錄檢索,許多系統(tǒng)引入當(dāng)前目錄(工作
目錄,值班目錄)、相對路徑名、cd命令等。
5.4文件使用
■為方便用戶使用文件,文件系統(tǒng)提供對文件的
各種操作,形式分別為:系統(tǒng)調(diào)用或命令
①提供設(shè)置和修改用戶文件的存取權(quán)限的服務(wù)
②提供建立、修改、改變、刪除目錄的服務(wù)
③提供文件共享,設(shè)置訪問路徑的服務(wù)「一一,
④提供創(chuàng)建、打開、讀、寫、關(guān)閉、撤消文件等服務(wù)
⑤文件系統(tǒng)維護
⑥文件系統(tǒng)的轉(zhuǎn)儲和恢復(fù)
⑦??????
其中,最基本的操作是:打開、關(guān)閉、讀、寫文件等
(1)打開文件操作簡介
■任何一個文件使用前都要先打開,即把
FCB送到內(nèi)存,以建立用戶和文件的聯(lián)
系,使今后頻繁的查目錄操作在內(nèi)存中
完成。如fd=open(文件路徑名,打開方式)
■打開文件操作的主要執(zhí)行步驟如下:
①根據(jù)文件路徑名查目錄,找到FCB主部;
②根據(jù)打開方式、共享說明和用戶身份檢查訪
問合法性;
③根據(jù)文件號查系統(tǒng)打開文件表,看文件是否
已被打開;若是一共享計數(shù)加1,否則一將外
存中的FCB主部等信息填入系統(tǒng)打開文件表
空表項,共享計數(shù)置為1;
④在用戶打開文件表中取一空表項,填寫打開
方式等,并指向系統(tǒng)打開文件表對應(yīng)表項
返回信息:fd:文件描述符,是一個非負(fù)整
數(shù),用于以后讀寫文件
5.5文件的共享與保護
1.文件共享的定義
一個文件被多個用戶或程序使用
共享形式:
A被多個用戶不同時使用,由存取權(quán)限控制
A被多個程序使用,但各用自己的寫指針
?被多個程序使用,但共享寫指針
2.文件共享的目的
A節(jié)省時間和存儲空間,減少了用戶工作量;
>進(jìn)程間通過文件交換信息。
的實現(xiàn)方法(3種)
按“路徑名”訪問共享文件,即基于系統(tǒng)目
錄的共享法O實現(xiàn)簡單,但路徑名可能長,檢索較
慢。
用連接命令實現(xiàn)基于i-node的共享(硬鏈^?。?
通過“連接(Link)”命令,在用戶自己的
目錄項中對要共享的文件建立起相應(yīng)的表目,
新建目錄項中的索引節(jié)點號即被共享文件的。
解除連接需執(zhí)行Unlink命令。UNIX提供此法。
它是方法1的發(fā)展。使用文件別名,檢索較快,也
叫靜態(tài)共享。
問題:刪除文件時應(yīng)怎樣考慮?
用符號鏈(Symboliclinking)訪問共享文件
系統(tǒng)建立一個新文件,類型為LINK,放在要
連接的目錄下。該文件只包含被鏈接文件的
路徑名
問迎:系統(tǒng)時空開銷大
優(yōu)勢:適于異地系統(tǒng)間(特別是計算機網(wǎng)絡(luò)
環(huán)境下)的文件共享,也沒有直接刪除文件
的副作用。
符號鏈在Windows中叫快捷方式
UNIX實例——用戶B用連接方式共享用戶A的文件F
Link(A/F,B/C)(Linux命令為InA/FB/C)
在B目錄中建立一個新表目,并在文件F所對應(yīng)
的目錄表目中的“連接數(shù)”項加1
1文件名1內(nèi)部標(biāo)識號
CA/F的內(nèi)部標(biāo)識號
為支持用戶的3種共享形式,UNIX在用戶
打開文件表和內(nèi)存索引節(jié)點間還引入了系
統(tǒng)打開文件表,以解決文件讀寫指針的存
放位置問題,如下圖所示。
系統(tǒng)打開文件表
UNIX系統(tǒng)文件共享示例
4.文件的保護與保密
這是實現(xiàn)‘*系統(tǒng)安全性的兩個重要方面。安
全性應(yīng)確保未經(jīng)授權(quán)的用戶不能存取某些文
件,防止數(shù)據(jù)的丟失、被偷竊、被篡改。這
涉及到技術(shù)、管理、法律、道德、教育和政
治等問題
(1)系統(tǒng)安全的分級管理
■系統(tǒng)級管理(注冊、登錄、口令機制)
■用戶級管理(分類授權(quán))
■目錄、文件級管理(設(shè)權(quán)限、屬性等)
(2)文件保護一防破壞(被動做法J
■人為破壞因素■系統(tǒng)對策
?有意、無意的非法操作■授權(quán)機制「
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 改良早期預(yù)警評分
- 滬科版八年級數(shù)學(xué)上冊第13章三角形中的邊角關(guān)系命題與證明13-1三角形中的邊角關(guān)系第2課時三角形中角的關(guān)系課件
- 蘇教版八年級生物上冊第7單元第二十章生物圈是最大的生態(tài)系統(tǒng)第一節(jié)生物圈中的各種生態(tài)系統(tǒng)課件
- 人教版九年級數(shù)學(xué)上冊《第二十一章一元二次方程》單元測試卷(附答案)
- 2024年危險化學(xué)品氯堿電解工藝作業(yè)模擬考試題庫試卷
- 化 學(xué)2024-2025學(xué)年九年級上學(xué)期期中化學(xué)重要考點梳理
- 文獻(xiàn)檢索思維導(dǎo)圖
- 關(guān)于生命的教學(xué)課件
- 青島版二年級上冊科學(xué)教案
- 技術(shù)能手聘用合同模板
- 戰(zhàn)狼Ⅱ課件完整版
- 常見電泳漆弊病與解決方法
- 2023年國際生物奧林匹克競賽國際生物奧林匹克
- 傳媒公司簽約藝人合同
- 學(xué)校學(xué)生志愿服務(wù)登記表
- 交管12123學(xué)法減分題庫大全(有參考答案)
- 大學(xué)英語四級 700核心高頻詞
- 建筑施工危險源識別與風(fēng)險評價清單
- 資金集中管理五大模式
- GB/T 28708-2012管道工程用無縫及焊接鋼管尺寸選用規(guī)定
- 小學(xué)五年級語文思政融合課教學(xué)設(shè)計圓明園的毀滅
評論
0/150
提交評論