版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理
6.6實例:Windows文件系統(tǒng)
本章主要內(nèi)容第六章文件系統(tǒng)本章主要內(nèi)容1在現(xiàn)代計算機系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系統(tǒng)自身的程序和數(shù)據(jù),甚至各種輸入輸出設(shè)備都是以文件形式出現(xiàn)的。盡管文件有多種存儲介質(zhì)可以使用,如硬盤、軟盤、光盤、閃存、記憶棒等,但是,它們都以文件的形式出現(xiàn)在操作系統(tǒng)的管理者和用戶面前。所以,文件管理是操作系統(tǒng)中一項重要的功能。文件系統(tǒng)就是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件。它管理文件的存儲、檢索、更新,提供安全可靠的共享和保護手段,并且方便用戶使用。在現(xiàn)代計算機系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系2第六章文件系統(tǒng)6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)36.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念4文件是具有名字且在邏輯上具有完整意義的信息項的有序序列,如圖所示。這里所說的“有序序列”是指以用戶觀點,在邏輯上具有順序性,實際上,文件在輔存上物理存放時由于要考慮空間利用率的問題,因而不一定是連續(xù)的。編號:01kn-1信息項1信息項2…信息項k…信息項n讀/寫指針文件是具有名字且在邏輯上具有完整意義的信5文件系統(tǒng)的主要功能有:⑴文件的按名存??;⑵對文件目錄的管理;⑶地址映射;⑷提供合適的文件存取方法;⑸文件的共享、保護和保密等。文件系統(tǒng)的主要功能有:66.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念7最低層是對象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)據(jù)集合單位所組成的層次;中間層是對對象進行操控和管理的軟件集合,它是處于應(yīng)用程序與操作系統(tǒng)之間的應(yīng)用軟件與系統(tǒng)軟件;最高層是文件系統(tǒng)提供給用戶的接口。操作系統(tǒng)中處理文件的部分稱為文件系統(tǒng)。它分為三個層次:最低層是對象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)8表6-2文件系統(tǒng)模型文件系統(tǒng)接口對對象操縱和管理的軟件集合邏輯文件系統(tǒng)基本I/O管理程序(文件組織模塊)基本文件系統(tǒng)(物理I/O層)I/O控制層(設(shè)備驅(qū)動程序)對象及其屬性說明表6-2文件系統(tǒng)模型文件系統(tǒng)接口邏輯文件系統(tǒng)基本I/96.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念10⑴按用途可分為:系統(tǒng)文件、庫文件和用戶文件。⑵按存儲方式可分為:ASCII文件和二進制文件。⑶按保存期可分為:臨時文件和永久文件。⑷按訪問方式可分為:只讀文件、只執(zhí)行文件和可讀/寫文件。⑸按數(shù)據(jù)形式分為:源文件、目標(biāo)文件和可執(zhí)行文件。⑴按用途可分為:系統(tǒng)文件、庫文件和用戶文件。116.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念12為了能對系統(tǒng)內(nèi)的各個文件實施管理以及保護,操作系統(tǒng)除了要保存文件的信息內(nèi)容外,還要存儲一些與文件相關(guān)的數(shù)據(jù),我們稱之為文件屬性(FileAttributes)。⑴名稱:文件是有名字的,以方便用戶通過文件名來訪問該文件。通常文件名是一個字符串組成。⑵標(biāo)識符:在文件系統(tǒng)內(nèi)標(biāo)識文件的唯一符號,通常是數(shù)字。這個信息對用戶是不可訪問的。⑶類型:類型設(shè)置可以提供系統(tǒng)在訪問時用以識別不同數(shù)據(jù)類型的文件。⑷位置:此屬性為一個指向磁盤實際存儲位置的指針,讓系統(tǒng)知道要到磁盤中的哪個位置去訪問所需要的數(shù)據(jù)。
為了能對系統(tǒng)內(nèi)的各個文件實施管理以及保護,操13⑸大小:當(dāng)數(shù)據(jù)被存儲在磁盤中時需要足夠的存儲空間,大小屬性就記錄著該文件在磁盤上所占有的存儲空間大小(以字節(jié)、字或塊為單位),有時該屬性也包括文件可允許大小的最大值。⑹保護:在多用戶多任務(wù)操作系統(tǒng)中,為了文件系統(tǒng)的安全,一般都會在文件上加入保護機制及訪問控制的設(shè)置。⑺擁有者:一般來說,文件都由建立它的用戶所擁有,而文件的擁有者可以對文件的保護加以設(shè)置。⑻日期信息:文件中會記錄幾個與文件相關(guān)的日期與時間信息,包含文件的建立時間、最后修改時間和最后訪問時間等。這些信息主要用于文件的保護、安全和使用跟蹤。⑸大?。寒?dāng)數(shù)據(jù)被存儲在磁盤中時需要足夠的存146.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念15對文件的操作可分為兩類:一是對文件自身的操作,主要實現(xiàn)文件的創(chuàng)建、刪除、復(fù)制等;二是對記錄的操作,例如在文件中查找一個記錄。⑴創(chuàng)建文件⑵讀文件⑶寫文件⑷刪除文件⑸屬性更改⑹截斷文件對文件的操作可分為兩類:一是對文件自身的16第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)176.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊6.2.2文件的邏輯結(jié)構(gòu)6.2.3文件的物理結(jié)構(gòu)
6.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊18文件結(jié)構(gòu)指的是文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。文件的邏輯結(jié)構(gòu)指文件的外部組織形式,是用戶所看到的文件的組織形式;文件的物理組織指文件的內(nèi)部組織形式,是文件在物理存儲設(shè)備上的存儲形式,所以又稱文件的存儲結(jié)構(gòu)。文件結(jié)構(gòu)指的是文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。19
記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象某方面的屬性。一個記錄通常包含哪些數(shù)據(jù)項,取決于需要描述對象的哪個方面。在這些記錄中,為了能唯一的標(biāo)識一個記錄,必須在記錄的各個數(shù)據(jù)項中,確定出一個項或幾個項,這些項的集合稱為關(guān)鍵字。文件系統(tǒng)為了能有效管理一個文件,必須建立一個與文件一一對應(yīng)的數(shù)據(jù)結(jié)構(gòu),用來保存文件名及文件的各種屬性,這個數(shù)據(jù)結(jié)構(gòu)稱為文件控制塊(FileControlBlock,F(xiàn)CB)。記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象20文件控制塊的主要信息包括三方面:⑴基本信息:文件標(biāo)識、文件邏輯結(jié)構(gòu)、文件物理結(jié)構(gòu)⑵存取控制信息:文件主存取權(quán)限、授權(quán)者存取權(quán)限、文件口令等⑶使用信息:文件日期、文件使用信息文件控制塊的主要信息包括三方面:216.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊6.2.2文件的邏輯結(jié)構(gòu)6.2.3文件的物理結(jié)構(gòu)
6.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊22
文件的邏輯組織形式有兩種:流式和記錄式。前者是非結(jié)構(gòu)式的,后者是結(jié)構(gòu)式的。1.流式文件流式文件中構(gòu)成文件的基本單位是字節(jié),即流式文件是具有符號名并在邏輯上具有完整意義的字節(jié)序列。編號:01kn-1字節(jié)字節(jié)…字節(jié)…字節(jié)讀/寫指針文件的邏輯組織形式有兩種:流式和記錄式。前232.記錄式文件
記錄式文件顧名思義就是由記錄構(gòu)成的文件,即記錄式文件是具有符號名并在邏輯上具有完整意義的記錄序列。
編號:01kn-1記錄記錄…記錄…記錄讀/寫指針2.記錄式文件編號:024根據(jù)記錄的長度可分為定長和不定長兩類:⑴定長記錄:指文件中所有記錄都是相同的。所有記錄中的各數(shù)據(jù)項,都處于記錄中相同位置,具有相同的順序及相同的長度,文件的長度用記錄數(shù)目表示。⑵變長記錄:指文件中各記錄的長度不相同。包括:記錄中包含的數(shù)據(jù)項數(shù)目可能不同?;蛘呤菙?shù)據(jù)項本身的長度不定。用戶對記錄式文件的訪問是以記錄為基本單位的。每個文件的內(nèi)部有一個讀/寫指針,通過系統(tǒng)調(diào)用可以將該讀/寫指針固定到文件的某一個位置,以后的讀/寫系統(tǒng)調(diào)用將從該指針?biāo)_定的位置開始。根據(jù)記錄的長度可分為定長和不定長兩類:256.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊6.2.2文件的邏輯結(jié)構(gòu)6.2.3文件的物理結(jié)構(gòu)
6.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊26成組和分解邏輯記錄和塊的關(guān)系
邏輯記錄是按信息在邏輯上的獨立含義劃分的單位,塊是存儲介質(zhì)上連續(xù)信息所組成的區(qū)域。一個邏輯記錄被存放到文件存儲器的存儲介質(zhì)上時,可能占用一塊或多塊,也可以一個物理塊包含多個邏輯記錄。
成組和分解邏輯記錄和塊的關(guān)系27記錄成組和分解處理過程
邏輯記錄1邏輯記錄2邏輯記錄3物理記錄邏輯記錄用戶緩沖區(qū)系統(tǒng)緩沖區(qū)記錄成組和分解處理過程
邏輯記錄1邏輯記錄2邏輯記錄3邏輯28用于保存文件的物理設(shè)備是劃分為塊的,文件的物理結(jié)構(gòu)就是要確定如何將記錄或字節(jié)保存在存儲型設(shè)備的物理塊中。一般在確定文件的物理結(jié)構(gòu)時應(yīng)當(dāng)考慮以下幾個因素:⑴記錄格式:文件記錄的格式分為定長和變長兩種。⑵空間開銷:指除保存文件內(nèi)容之外所需的額外開銷。它包括輔存開銷以及當(dāng)文件使用時所需的內(nèi)存開銷。⑶存取速度:包括順序存取速度、按號隨機存取速度以及按鍵隨機存儲速度。⑷長度變化:指文件長度的動態(tài)增加和動態(tài)減少,尤其是文件長度的動態(tài)增加。用于保存文件的物理設(shè)備是劃分為塊的,文件的物291.順序結(jié)構(gòu)
順序結(jié)構(gòu)又稱為連續(xù)結(jié)構(gòu),采用這種結(jié)構(gòu),一個文件占用若干個連續(xù)的物理塊,其首塊號及塊數(shù)記錄于文件控制塊FCB中。…塊28塊29塊30塊31…FCB……首塊號=28塊數(shù)=4磁盤空間1.順序結(jié)構(gòu)…塊28塊29塊30塊31…FCB……磁盤空間302.鏈接結(jié)構(gòu)鏈接結(jié)構(gòu)又稱串聯(lián)結(jié)構(gòu)。采用這種結(jié)構(gòu),一個文件占有若干個不連續(xù)的存儲塊,各塊之間以指針相連。首塊號=28塊數(shù)=4……塊28塊30塊46塊45FCB……磁盤空間2.鏈接結(jié)構(gòu)……塊28塊30塊46塊45FCB……磁盤空間313.索引文件
采用索引結(jié)構(gòu),一個文件占有若干不連續(xù)的存儲塊,這些塊的塊號記錄于一個索引表中。首塊號=28塊數(shù)=443839798………塊43塊83塊98塊97FCB……磁盤空間3.索引文件43………塊43塊83塊98塊97FCB……32第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)
6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)336.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄34分區(qū)是指一個新的磁盤驅(qū)動器在使用前將它劃分為幾個邏輯上獨立的區(qū)域,每一個分區(qū),用戶都可以將它看作是一個單獨的存儲設(shè)備。不同的分區(qū)可以根據(jù)需要,由用戶分別安裝不同的文件系統(tǒng)。通常,在每個分區(qū)中都會有一個設(shè)備目錄(DeviceDirectory)或是卷表(VolumeTable),兩者的功能都是用來記錄此分區(qū)中的所有目錄及文件信息。以Unix系列的文件系統(tǒng)為例,設(shè)備目錄用來存儲分區(qū)的相關(guān)信息,而在Windows中,這些信息會被記錄在卷表中。分區(qū)是指一個新的磁盤驅(qū)動器在使用前將它劃分35分區(qū)1設(shè)備目錄FAT-32設(shè)備目錄Ext2卷表NTFS分區(qū)2磁盤一磁盤二分區(qū)3分區(qū)1設(shè)備目錄設(shè)備目錄卷表分區(qū)2磁盤一磁盤二分區(qū)336如果要想查找到某個文件的信息,則要訪問整個設(shè)備目錄或卷表文件。為了能對文件進行快速的存取,這就需要使用到前面介紹的文件控制塊FCB。操作系統(tǒng)會為每一個新建立的文件設(shè)立一個FCB,其中包含有這個文件的所有屬性信息。多個文件的FCB組成了一個文件目錄,通常稱為文件目錄表,而每一個FCB就是文件目錄表中的一個文件目錄項。文件目錄也是以“目錄文件”的形式保存的。如果要想查找到某個文件的信息,則要訪問整個376.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄38一級目錄就是在整個計算機系統(tǒng)中只有一個目錄,所有文件均存儲在這個目錄下,這是目錄文件中最簡單的一種形式。目錄是在一個分區(qū),也就是根目錄中,存儲幾個不同名稱的文件,這是最基本的一級目錄結(jié)構(gòu)。整個系統(tǒng)中只有一張文件目錄表,該系統(tǒng)下的所有文件信息均存儲在此表中。一級目錄就是在整個計算機系統(tǒng)中只有一個目錄,39第6章文件系統(tǒng)課件406.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄41每個用戶將他們建立的文件存儲在各自目錄下,即使有相同的文件名也不會互相影響。首先在各個磁盤分區(qū),也就是根目錄中,建立不同的用戶目錄,也稱為子目錄(Sub-Directory),這些用戶的相關(guān)信息被保存在主文件目錄表中。所有用戶的文件目錄結(jié)構(gòu)相似,是由各自目錄下文件的文件控制塊FCB組成。當(dāng)用戶登錄此操作系統(tǒng)時,他可以訪問的文件自然就是他的目錄中的所有文件,所以系統(tǒng)在查找用戶需要的文件時,就只需尋找他的目錄下的文件。每個用戶將他們建立的文件存儲在各自目錄下,426.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄43通常用戶需要按自己的方式來組織文件,也就是按照用戶的要求在自己的目錄下創(chuàng)建新的子目錄,將二級目錄結(jié)構(gòu)變?yōu)槿壩募夸?,甚至四級、五級文件目錄,從而形成層次文件目錄結(jié)構(gòu),我們把這種三級以上的文件目錄結(jié)構(gòu)統(tǒng)稱為樹形目錄結(jié)構(gòu)。一個樹形目錄結(jié)構(gòu)就像一棵倒向生長的有根樹,樹根是文件目錄的根目錄;用戶文件是樹的樹葉,其它子目錄是樹的非終端結(jié)點。由于它具有結(jié)構(gòu)的可伸縮性、文件可重名、便于實現(xiàn)文件的共享和保護等優(yōu)點,幾乎所有的現(xiàn)代操作系統(tǒng)都采用樹形目錄結(jié)構(gòu)。路徑名是指在樹形目錄結(jié)構(gòu)中從根目錄到該文件之間的通路上,所有目錄文件名與訪問文件名,依次用“\”連接起來。通常用戶需要按自己的方式來組織文件,也就是按44第6章文件系統(tǒng)課件456.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄46在多用戶多任務(wù)操作系統(tǒng)中,文件共享是一件很重要的事,最簡單的方法就是將這些必要的文件存放在某個目錄中,程序員通過各自的目錄都可連接到此共享的目錄或文件,這樣就形成了一個無環(huán)圖目錄結(jié)構(gòu),如果任何一個人修改了公用目錄中的文件,其效果便可以立即顯現(xiàn)出來。無環(huán)圖目錄結(jié)構(gòu)中目錄的共享無環(huán)圖目錄結(jié)構(gòu)的安全問題在多用戶多任務(wù)操作系統(tǒng)中,文件共享是一件很47第6章文件系統(tǒng)課件48使用無環(huán)圖的目錄結(jié)構(gòu)時,可能會發(fā)生的問題就是當(dāng)用戶要建立一個符號鏈表時,所要進行鏈接的目錄可能是該鏈表所在目錄的父目錄(ParentDirectory),或是更上級的目錄。這樣一來,就破壞了原本的無環(huán)圖結(jié)構(gòu),也就形成了目錄結(jié)構(gòu)上的循環(huán),這就是通用圖目錄結(jié)構(gòu)。使用無環(huán)圖的目錄結(jié)構(gòu)時,可能會發(fā)生49第6章文件系統(tǒng)課件50第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄
6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)516.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)6.4.2文件共享6.4.3文件的安全與保護
6.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)521.建立文件⑴根據(jù)設(shè)備類型在選中的相應(yīng)設(shè)備上建立一個文件目錄,并返回一個用戶文件標(biāo)識,用戶在以后的讀寫操作中可以利用此文件標(biāo)識;⑵將文件名、文件屬性等數(shù)據(jù)填入文件目錄;⑶調(diào)用輔存空間管理程序為文件分配第一個物理塊;⑷需要時發(fā)出裝卷信息;⑸在活動中登記該文件有關(guān)信息,進行文件定位和卷標(biāo)處理。
1.建立文件532.打開文件⑴在內(nèi)存活動文件表中申請一個空項,用以存放該文件的文件目錄信息;⑵根據(jù)文件名查找目錄文件,將找到的文件目錄信息復(fù)制到活動文件表占用欄;⑶若打開的是共享文件,則要做相應(yīng)處理,如使用共享文件的用戶加1;⑷文件定位,卷標(biāo)處理。2.打開文件543.關(guān)閉文件⑴將活動文件表中該文件的“當(dāng)前用戶”減1;若此值為0,則撤銷此目錄;⑵若活動文件表相應(yīng)表目已被修改,則應(yīng)先將表目內(nèi)容寫回文件存儲器上相應(yīng)表目中,以使文件目錄保存最新狀態(tài);⑶卷定位工作。3.關(guān)閉文件554.讀/寫文件⑴按文件名從活動文件表中找到該文件的目錄;⑵按存取控制說明檢查訪問的合法性;⑶根據(jù)文件目錄指出的該文件的邏輯和物理組織方式將邏輯記錄號或字符個數(shù)轉(zhuǎn)換成物理塊號;⑷向設(shè)備管理發(fā)出I/O請求,完成數(shù)據(jù)傳輸操作。4.讀/寫文件565.撤消文件
⑴若文件沒有關(guān)閉則先做關(guān)閉工作;若為共享文件則應(yīng)進行聯(lián)訪處理;⑵在目錄文件中刪除相應(yīng)目錄項;⑶釋放該文件占有的輔存空間。5.撤消文件576.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)6.4.2文件共享6.4.3文件的安全與保護
6.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)58
文件共享是指多個進程在受控的前提下共用系統(tǒng)中的一個文件,這種控制是由操作系統(tǒng)和文件的使用者共同實現(xiàn)的。操作系統(tǒng)中文件共享的形式有兩種:1.不同時使用一個文件2.同時使用一個文件存在兩種情況:(1)所有進程都不修改所共享的文件。(2)某些進程要求修改被共享的文件。文件共享是指多個進程在受控的前提下共用系統(tǒng)中596.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)6.4.2文件共享6.4.3文件的安全與保護
6.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)60最常見的方法就是定期地備份整個文件系統(tǒng)中的數(shù)據(jù),包含將重要的文件數(shù)據(jù)備份至不同的存儲位置,或?qū)⒄麄€磁盤備份至不同的存儲媒介上。另外一種則是文件訪問的權(quán)限保護,也就是讀取、寫入及執(zhí)行等使用權(quán)限的設(shè)置。最常見的方法就是定期地備份整個文件系統(tǒng)中的611.訪問權(quán)限(AccessType)文件的訪問權(quán)限就是一種最基本的文件系統(tǒng)保護機制,系統(tǒng)必須根據(jù)文件的訪問權(quán)限來操作文件。若將一個文件的訪問權(quán)限加以細(xì)分,然后再針對不同的訪問權(quán)限加以管制,這樣,對同一個文件不同的用戶就會擁有較具伸縮性的訪問權(quán)限。⑴讀取(Read);⑵寫入(Write);⑶執(zhí)行(Execute);⑷追加(Append);⑸刪除(Delete);⑹列表(List)。1.訪問權(quán)限(AccessType)622.訪問組(AccessGroups)
為了讓整個訪問控制的問題更好解決,我們可將此問題作些修改。首先是減少訪問的方式,這樣可將整個問題簡單化,因為大部分的文件訪問都可以相互參考,所以在大部分的文件系統(tǒng)中都只會針對其中的讀取(Read)、修改(Write)及執(zhí)行(Execute)進行訪問控制,其他的訪問權(quán)限則交給文件的所有者。簡化了訪問權(quán)限之后,我們便可將文件針對不同的用戶作不同的權(quán)限設(shè)置,譬如說,有些操作系統(tǒng)就提供以用戶為單位來設(shè)置權(quán)限的機制。2.訪問組(AccessGroups)63Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對于每個文件只要針對這3類用戶分別作權(quán)限設(shè)置:⑴擁有者(Owner):即建立文件的用戶。一般來說,文件的建立者都會擁有對于此文件的所有訪問權(quán)限。⑵組(Group):在操作系統(tǒng)中,可以將需要相似訪問權(quán)限的用戶歸類成不同的組,每個組中可以有多個用戶,而每個用戶也可以同時隸屬于不同的組。⑶其他(Other):除了上述兩種特別被指定的用戶之外,剩下的用戶會被歸類為其他。Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對64第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)656.5輔存空間管理6.5.1輔存的分配方法6.5.2空閑空間管理6.5輔存空間管理6.5.1輔存的分配方法66輔助存儲器的特點之一,就是可以為用戶提供一個存放大量數(shù)據(jù)的存儲空間,這些數(shù)據(jù)以文件的形式存放。為了方便操作,幾乎所有的操作系統(tǒng)都把文件分割成固定大小的塊來存儲,這個塊稱為磁盤塊。在為文件分配磁盤塊時有三種方式:⑴連續(xù)分配⑵鏈接分配⑶索引分配輔助存儲器的特點之一,就是可以為用戶提供一個671.連續(xù)分配連續(xù)分配是為一個文件分配一組連續(xù)的磁盤塊,這些磁盤塊通常位于同一磁道,其地址按線性排列。例如,一個磁盤塊的大小是k,文件的第一個磁盤塊的地址是d,那么第二個磁盤塊地址是d+k,第三個磁盤塊地址是d+2×k,……,第i個磁盤塊的地址是d+(i-1)×k。1.連續(xù)分配68若輔存采用連續(xù)分配方式,即將邏輯文件中的記錄按順序存放到相鄰的磁盤塊中,該物理文件就稱為順序文件。系統(tǒng)在訪問順序文件時,讀/寫頭只需經(jīng)過一次或幾次(如果文件較大,一個磁道存放不下,需要存放到多個磁道時)移動、定位操作。在連續(xù)分配的文件系統(tǒng)中,每個文件需要保存兩個信息,一個是該文件第一個磁盤塊的起始地址,另一個是該文件磁盤塊總數(shù)。若輔存采用連續(xù)分配方式,即將邏輯文件中的記69第6章文件系統(tǒng)課件70文件在進行分配時,系統(tǒng)盡量將數(shù)據(jù)存放在連續(xù)的磁盤塊中。但是與內(nèi)存空間的分配情況類似,隨著文件的建立和刪除,磁盤空間也會經(jīng)過不斷地分配和回收,這將使磁盤空間被分割出很多小的磁盤塊,這些小磁盤塊將很難再被用來存儲文件,它們被稱為“外部碎片”。磁盤重組(DiskDefragmentation)要花費大量時間。連續(xù)分配的優(yōu)點:文件訪問速度快;直接存取。連續(xù)分配的缺點:要求有大量連續(xù)的磁盤空間;文件裝入磁盤前,必須事先知道文件的長度。文件在進行分配時,系統(tǒng)盡量將數(shù)據(jù)存放在連續(xù)712.鏈?zhǔn)椒峙浯娣琶總€文件的磁盤塊不是連續(xù)的,離散地分布在磁盤空間中,通過鏈表鏈接起來。不需要事先知道文件的大小,對文件的增加、刪除和修改操作都十分方便。采用鏈?zhǔn)椒峙鋾r,分配表中需要存儲文件的起始磁盤塊號和結(jié)束磁盤塊號。而在每個磁盤塊中要增加一個指針,這個指針指向文件的下一個磁盤塊,這樣系統(tǒng)可以從分配表中的起始磁盤塊開始訪問,順著鏈表直到最后一個磁盤塊,整個文件訪問才完成。2.鏈?zhǔn)椒峙?2磁盤空間的鏈?zhǔn)椒峙浯疟P空間的鏈?zhǔn)椒峙?3鏈?zhǔn)椒峙涞娜秉c:⑴不具有直接存取的功能,操作起來比較復(fù)雜。⑵讀取文件的速度較慢。⑶如果這個文件中的某一個磁盤塊的指針出現(xiàn)錯誤,則整個文件就無法再被訪問。鏈?zhǔn)椒峙涞娜秉c:743.索引分配一個文件中所有磁盤塊的編號都被存放在一個固定的磁盤塊中,這個磁盤塊稱為索引塊(IndexedBlock)。在系統(tǒng)的索引分配表中存放有對應(yīng)文件的索引塊指針。利用索引系統(tǒng)可以容易地找到文件中第i個磁盤塊,實現(xiàn)直接存取。而且,系統(tǒng)可以有效地利用磁盤空間,從而避免“外部碎片”的問題。索引分配的缺點:索引表連續(xù)存儲多級索引分配方式、混合索引分配方式
3.索引分配75第6章文件系統(tǒng)課件766.5輔存空間管理6.5.1輔存的分配方法6.5.2空閑空間管理6.5輔存空間管理6.5.1輔存的分配方法77空閑空間是指磁盤中那些沒有使用的空間,系統(tǒng)在建立文件時的首要任務(wù)就是在空閑空間中為文件分配磁盤塊,所以系統(tǒng)必須記錄下空閑空間(FreeSpace)的使用情況,當(dāng)需要在磁盤中建立文件時,就從這些空閑空間中找到合適的磁盤塊分配給文件??臻e空間是指磁盤中那些沒有使用的空間,系統(tǒng)781.位示圖磁盤中的每一個磁盤塊都用一個二進制來表示它是否空閑,如果該磁盤塊已經(jīng)被分配,則用“1”來表示;如果該磁盤塊空閑,則用“0”來表示。這樣,由所有磁盤塊的二進制標(biāo)識所組成的集合就稱為位示圖,或位向量。0111011111001110011100000101010001110101101010111101000010111…1.位示圖0111011111001792.空閑表系統(tǒng)進行輔存的文件分配時盡量分配連續(xù)空間,所以空閑的磁盤塊大多都是連續(xù)的,系統(tǒng)建立一個空閑表,記錄每個空閑塊的起始塊號和長度。利用空閑表管理空閑空間的方法,與內(nèi)存管理中的可變分區(qū)管理方法類似。在分配磁盤塊時可采用最先適應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法?;厥諘r,將空閑空間插入空閑表中,并記錄起始磁盤號及長度。如果兩個空閑空間是相鄰的,則要對它們進行合并。2.空閑表803.空閑鏈表
空閑鏈表方式是將所有的空閑空間用指針鏈接起來,并設(shè)一個頭指針指向空閑鏈表的第一個磁盤塊。在系統(tǒng)建立一個新文件時,可通過這個頭指針來查找合適數(shù)量的空閑塊,將它們從鏈表中斷開分配給文件。刪除文件時,將需要釋放的磁盤塊插入到空閑鏈表的合適位置。
空閑鏈表的缺點:空閑鏈表方式在分配磁盤塊時,要多次進行磁盤的I/O操作,效率很低。并且每個磁盤塊要有一個指針,指向下一個空閑塊就要浪費一定的磁盤空間。3.空閑鏈表81第6章文件系統(tǒng)課件82作業(yè)習(xí)題六(P254)1、3、4、5、8、9作業(yè)83謝謝!謝謝!84第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理
6.6實例:Windows文件系統(tǒng)
本章主要內(nèi)容第六章文件系統(tǒng)本章主要內(nèi)容85在現(xiàn)代計算機系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系統(tǒng)自身的程序和數(shù)據(jù),甚至各種輸入輸出設(shè)備都是以文件形式出現(xiàn)的。盡管文件有多種存儲介質(zhì)可以使用,如硬盤、軟盤、光盤、閃存、記憶棒等,但是,它們都以文件的形式出現(xiàn)在操作系統(tǒng)的管理者和用戶面前。所以,文件管理是操作系統(tǒng)中一項重要的功能。文件系統(tǒng)就是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件。它管理文件的存儲、檢索、更新,提供安全可靠的共享和保護手段,并且方便用戶使用。在現(xiàn)代計算機系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系86第六章文件系統(tǒng)6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)876.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念88文件是具有名字且在邏輯上具有完整意義的信息項的有序序列,如圖所示。這里所說的“有序序列”是指以用戶觀點,在邏輯上具有順序性,實際上,文件在輔存上物理存放時由于要考慮空間利用率的問題,因而不一定是連續(xù)的。編號:01kn-1信息項1信息項2…信息項k…信息項n讀/寫指針文件是具有名字且在邏輯上具有完整意義的信89文件系統(tǒng)的主要功能有:⑴文件的按名存取;⑵對文件目錄的管理;⑶地址映射;⑷提供合適的文件存取方法;⑸文件的共享、保護和保密等。文件系統(tǒng)的主要功能有:906.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念91最低層是對象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)據(jù)集合單位所組成的層次;中間層是對對象進行操控和管理的軟件集合,它是處于應(yīng)用程序與操作系統(tǒng)之間的應(yīng)用軟件與系統(tǒng)軟件;最高層是文件系統(tǒng)提供給用戶的接口。操作系統(tǒng)中處理文件的部分稱為文件系統(tǒng)。它分為三個層次:最低層是對象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)92表6-2文件系統(tǒng)模型文件系統(tǒng)接口對對象操縱和管理的軟件集合邏輯文件系統(tǒng)基本I/O管理程序(文件組織模塊)基本文件系統(tǒng)(物理I/O層)I/O控制層(設(shè)備驅(qū)動程序)對象及其屬性說明表6-2文件系統(tǒng)模型文件系統(tǒng)接口邏輯文件系統(tǒng)基本I/936.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念94⑴按用途可分為:系統(tǒng)文件、庫文件和用戶文件。⑵按存儲方式可分為:ASCII文件和二進制文件。⑶按保存期可分為:臨時文件和永久文件。⑷按訪問方式可分為:只讀文件、只執(zhí)行文件和可讀/寫文件。⑸按數(shù)據(jù)形式分為:源文件、目標(biāo)文件和可執(zhí)行文件。⑴按用途可分為:系統(tǒng)文件、庫文件和用戶文件。956.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念96為了能對系統(tǒng)內(nèi)的各個文件實施管理以及保護,操作系統(tǒng)除了要保存文件的信息內(nèi)容外,還要存儲一些與文件相關(guān)的數(shù)據(jù),我們稱之為文件屬性(FileAttributes)。⑴名稱:文件是有名字的,以方便用戶通過文件名來訪問該文件。通常文件名是一個字符串組成。⑵標(biāo)識符:在文件系統(tǒng)內(nèi)標(biāo)識文件的唯一符號,通常是數(shù)字。這個信息對用戶是不可訪問的。⑶類型:類型設(shè)置可以提供系統(tǒng)在訪問時用以識別不同數(shù)據(jù)類型的文件。⑷位置:此屬性為一個指向磁盤實際存儲位置的指針,讓系統(tǒng)知道要到磁盤中的哪個位置去訪問所需要的數(shù)據(jù)。
為了能對系統(tǒng)內(nèi)的各個文件實施管理以及保護,操97⑸大小:當(dāng)數(shù)據(jù)被存儲在磁盤中時需要足夠的存儲空間,大小屬性就記錄著該文件在磁盤上所占有的存儲空間大?。ㄒ宰止?jié)、字或塊為單位),有時該屬性也包括文件可允許大小的最大值。⑹保護:在多用戶多任務(wù)操作系統(tǒng)中,為了文件系統(tǒng)的安全,一般都會在文件上加入保護機制及訪問控制的設(shè)置。⑺擁有者:一般來說,文件都由建立它的用戶所擁有,而文件的擁有者可以對文件的保護加以設(shè)置。⑻日期信息:文件中會記錄幾個與文件相關(guān)的日期與時間信息,包含文件的建立時間、最后修改時間和最后訪問時間等。這些信息主要用于文件的保護、安全和使用跟蹤。⑸大?。寒?dāng)數(shù)據(jù)被存儲在磁盤中時需要足夠的存986.1概述
6.1.1文件的基本概念6.1.2文件系統(tǒng)模型6.1.3文件分類6.1.4文件屬性6.1.5文件操作6.1概述
6.1.1文件的基本概念99對文件的操作可分為兩類:一是對文件自身的操作,主要實現(xiàn)文件的創(chuàng)建、刪除、復(fù)制等;二是對記錄的操作,例如在文件中查找一個記錄。⑴創(chuàng)建文件⑵讀文件⑶寫文件⑷刪除文件⑸屬性更改⑹截斷文件對文件的操作可分為兩類:一是對文件自身的100第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)1016.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊6.2.2文件的邏輯結(jié)構(gòu)6.2.3文件的物理結(jié)構(gòu)
6.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊102文件結(jié)構(gòu)指的是文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。文件的邏輯結(jié)構(gòu)指文件的外部組織形式,是用戶所看到的文件的組織形式;文件的物理組織指文件的內(nèi)部組織形式,是文件在物理存儲設(shè)備上的存儲形式,所以又稱文件的存儲結(jié)構(gòu)。文件結(jié)構(gòu)指的是文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。103
記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象某方面的屬性。一個記錄通常包含哪些數(shù)據(jù)項,取決于需要描述對象的哪個方面。在這些記錄中,為了能唯一的標(biāo)識一個記錄,必須在記錄的各個數(shù)據(jù)項中,確定出一個項或幾個項,這些項的集合稱為關(guān)鍵字。文件系統(tǒng)為了能有效管理一個文件,必須建立一個與文件一一對應(yīng)的數(shù)據(jù)結(jié)構(gòu),用來保存文件名及文件的各種屬性,這個數(shù)據(jù)結(jié)構(gòu)稱為文件控制塊(FileControlBlock,F(xiàn)CB)。記錄是一組相關(guān)數(shù)據(jù)項的集合,用于描述一個對象104文件控制塊的主要信息包括三方面:⑴基本信息:文件標(biāo)識、文件邏輯結(jié)構(gòu)、文件物理結(jié)構(gòu)⑵存取控制信息:文件主存取權(quán)限、授權(quán)者存取權(quán)限、文件口令等⑶使用信息:文件日期、文件使用信息文件控制塊的主要信息包括三方面:1056.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊6.2.2文件的邏輯結(jié)構(gòu)6.2.3文件的物理結(jié)構(gòu)
6.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊106
文件的邏輯組織形式有兩種:流式和記錄式。前者是非結(jié)構(gòu)式的,后者是結(jié)構(gòu)式的。1.流式文件流式文件中構(gòu)成文件的基本單位是字節(jié),即流式文件是具有符號名并在邏輯上具有完整意義的字節(jié)序列。編號:01kn-1字節(jié)字節(jié)…字節(jié)…字節(jié)讀/寫指針文件的邏輯組織形式有兩種:流式和記錄式。前1072.記錄式文件
記錄式文件顧名思義就是由記錄構(gòu)成的文件,即記錄式文件是具有符號名并在邏輯上具有完整意義的記錄序列。
編號:01kn-1記錄記錄…記錄…記錄讀/寫指針2.記錄式文件編號:0108根據(jù)記錄的長度可分為定長和不定長兩類:⑴定長記錄:指文件中所有記錄都是相同的。所有記錄中的各數(shù)據(jù)項,都處于記錄中相同位置,具有相同的順序及相同的長度,文件的長度用記錄數(shù)目表示。⑵變長記錄:指文件中各記錄的長度不相同。包括:記錄中包含的數(shù)據(jù)項數(shù)目可能不同?;蛘呤菙?shù)據(jù)項本身的長度不定。用戶對記錄式文件的訪問是以記錄為基本單位的。每個文件的內(nèi)部有一個讀/寫指針,通過系統(tǒng)調(diào)用可以將該讀/寫指針固定到文件的某一個位置,以后的讀/寫系統(tǒng)調(diào)用將從該指針?biāo)_定的位置開始。根據(jù)記錄的長度可分為定長和不定長兩類:1096.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊6.2.2文件的邏輯結(jié)構(gòu)6.2.3文件的物理結(jié)構(gòu)
6.2文件結(jié)構(gòu)6.2.1文件、記錄與文件控制塊110成組和分解邏輯記錄和塊的關(guān)系
邏輯記錄是按信息在邏輯上的獨立含義劃分的單位,塊是存儲介質(zhì)上連續(xù)信息所組成的區(qū)域。一個邏輯記錄被存放到文件存儲器的存儲介質(zhì)上時,可能占用一塊或多塊,也可以一個物理塊包含多個邏輯記錄。
成組和分解邏輯記錄和塊的關(guān)系111記錄成組和分解處理過程
邏輯記錄1邏輯記錄2邏輯記錄3物理記錄邏輯記錄用戶緩沖區(qū)系統(tǒng)緩沖區(qū)記錄成組和分解處理過程
邏輯記錄1邏輯記錄2邏輯記錄3邏輯112用于保存文件的物理設(shè)備是劃分為塊的,文件的物理結(jié)構(gòu)就是要確定如何將記錄或字節(jié)保存在存儲型設(shè)備的物理塊中。一般在確定文件的物理結(jié)構(gòu)時應(yīng)當(dāng)考慮以下幾個因素:⑴記錄格式:文件記錄的格式分為定長和變長兩種。⑵空間開銷:指除保存文件內(nèi)容之外所需的額外開銷。它包括輔存開銷以及當(dāng)文件使用時所需的內(nèi)存開銷。⑶存取速度:包括順序存取速度、按號隨機存取速度以及按鍵隨機存儲速度。⑷長度變化:指文件長度的動態(tài)增加和動態(tài)減少,尤其是文件長度的動態(tài)增加。用于保存文件的物理設(shè)備是劃分為塊的,文件的物1131.順序結(jié)構(gòu)
順序結(jié)構(gòu)又稱為連續(xù)結(jié)構(gòu),采用這種結(jié)構(gòu),一個文件占用若干個連續(xù)的物理塊,其首塊號及塊數(shù)記錄于文件控制塊FCB中?!瓑K28塊29塊30塊31…FCB……首塊號=28塊數(shù)=4磁盤空間1.順序結(jié)構(gòu)…塊28塊29塊30塊31…FCB……磁盤空間1142.鏈接結(jié)構(gòu)鏈接結(jié)構(gòu)又稱串聯(lián)結(jié)構(gòu)。采用這種結(jié)構(gòu),一個文件占有若干個不連續(xù)的存儲塊,各塊之間以指針相連。首塊號=28塊數(shù)=4……塊28塊30塊46塊45FCB……磁盤空間2.鏈接結(jié)構(gòu)……塊28塊30塊46塊45FCB……磁盤空間1153.索引文件
采用索引結(jié)構(gòu),一個文件占有若干不連續(xù)的存儲塊,這些塊的塊號記錄于一個索引表中。首塊號=28塊數(shù)=443839798………塊43塊83塊98塊97FCB……磁盤空間3.索引文件43………塊43塊83塊98塊97FCB……116第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)
6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)1176.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄118分區(qū)是指一個新的磁盤驅(qū)動器在使用前將它劃分為幾個邏輯上獨立的區(qū)域,每一個分區(qū),用戶都可以將它看作是一個單獨的存儲設(shè)備。不同的分區(qū)可以根據(jù)需要,由用戶分別安裝不同的文件系統(tǒng)。通常,在每個分區(qū)中都會有一個設(shè)備目錄(DeviceDirectory)或是卷表(VolumeTable),兩者的功能都是用來記錄此分區(qū)中的所有目錄及文件信息。以Unix系列的文件系統(tǒng)為例,設(shè)備目錄用來存儲分區(qū)的相關(guān)信息,而在Windows中,這些信息會被記錄在卷表中。分區(qū)是指一個新的磁盤驅(qū)動器在使用前將它劃分119分區(qū)1設(shè)備目錄FAT-32設(shè)備目錄Ext2卷表NTFS分區(qū)2磁盤一磁盤二分區(qū)3分區(qū)1設(shè)備目錄設(shè)備目錄卷表分區(qū)2磁盤一磁盤二分區(qū)3120如果要想查找到某個文件的信息,則要訪問整個設(shè)備目錄或卷表文件。為了能對文件進行快速的存取,這就需要使用到前面介紹的文件控制塊FCB。操作系統(tǒng)會為每一個新建立的文件設(shè)立一個FCB,其中包含有這個文件的所有屬性信息。多個文件的FCB組成了一個文件目錄,通常稱為文件目錄表,而每一個FCB就是文件目錄表中的一個文件目錄項。文件目錄也是以“目錄文件”的形式保存的。如果要想查找到某個文件的信息,則要訪問整個1216.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄122一級目錄就是在整個計算機系統(tǒng)中只有一個目錄,所有文件均存儲在這個目錄下,這是目錄文件中最簡單的一種形式。目錄是在一個分區(qū),也就是根目錄中,存儲幾個不同名稱的文件,這是最基本的一級目錄結(jié)構(gòu)。整個系統(tǒng)中只有一張文件目錄表,該系統(tǒng)下的所有文件信息均存儲在此表中。一級目錄就是在整個計算機系統(tǒng)中只有一個目錄,123第6章文件系統(tǒng)課件1246.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄125每個用戶將他們建立的文件存儲在各自目錄下,即使有相同的文件名也不會互相影響。首先在各個磁盤分區(qū),也就是根目錄中,建立不同的用戶目錄,也稱為子目錄(Sub-Directory),這些用戶的相關(guān)信息被保存在主文件目錄表中。所有用戶的文件目錄結(jié)構(gòu)相似,是由各自目錄下文件的文件控制塊FCB組成。當(dāng)用戶登錄此操作系統(tǒng)時,他可以訪問的文件自然就是他的目錄中的所有文件,所以系統(tǒng)在查找用戶需要的文件時,就只需尋找他的目錄下的文件。每個用戶將他們建立的文件存儲在各自目錄下,1266.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄127通常用戶需要按自己的方式來組織文件,也就是按照用戶的要求在自己的目錄下創(chuàng)建新的子目錄,將二級目錄結(jié)構(gòu)變?yōu)槿壩募夸?,甚至四級、五級文件目錄,從而形成層次文件目錄結(jié)構(gòu),我們把這種三級以上的文件目錄結(jié)構(gòu)統(tǒng)稱為樹形目錄結(jié)構(gòu)。一個樹形目錄結(jié)構(gòu)就像一棵倒向生長的有根樹,樹根是文件目錄的根目錄;用戶文件是樹的樹葉,其它子目錄是樹的非終端結(jié)點。由于它具有結(jié)構(gòu)的可伸縮性、文件可重名、便于實現(xiàn)文件的共享和保護等優(yōu)點,幾乎所有的現(xiàn)代操作系統(tǒng)都采用樹形目錄結(jié)構(gòu)。路徑名是指在樹形目錄結(jié)構(gòu)中從根目錄到該文件之間的通路上,所有目錄文件名與訪問文件名,依次用“\”連接起來。通常用戶需要按自己的方式來組織文件,也就是按128第6章文件系統(tǒng)課件1296.3文件目錄
6.3.1分區(qū)與目錄6.3.2一級目錄6.3.3二級目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄
6.3.1分區(qū)與目錄130在多用戶多任務(wù)操作系統(tǒng)中,文件共享是一件很重要的事,最簡單的方法就是將這些必要的文件存放在某個目錄中,程序員通過各自的目錄都可連接到此共享的目錄或文件,這樣就形成了一個無環(huán)圖目錄結(jié)構(gòu),如果任何一個人修改了公用目錄中的文件,其效果便可以立即顯現(xiàn)出來。無環(huán)圖目錄結(jié)構(gòu)中目錄的共享無環(huán)圖目錄結(jié)構(gòu)的安全問題在多用戶多任務(wù)操作系統(tǒng)中,文件共享是一件很131第6章文件系統(tǒng)課件132使用無環(huán)圖的目錄結(jié)構(gòu)時,可能會發(fā)生的問題就是當(dāng)用戶要建立一個符號鏈表時,所要進行鏈接的目錄可能是該鏈表所在目錄的父目錄(ParentDirectory),或是更上級的目錄。這樣一來,就破壞了原本的無環(huán)圖結(jié)構(gòu),也就形成了目錄結(jié)構(gòu)上的循環(huán),這就是通用圖目錄結(jié)構(gòu)。使用無環(huán)圖的目錄結(jié)構(gòu)時,可能會發(fā)生133第6章文件系統(tǒng)課件134第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄
6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)1356.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)6.4.2文件共享6.4.3文件的安全與保護
6.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)1361.建立文件⑴根據(jù)設(shè)備類型在選中的相應(yīng)設(shè)備上建立一個文件目錄,并返回一個用戶文件標(biāo)識,用戶在以后的讀寫操作中可以利用此文件標(biāo)識;⑵將文件名、文件屬性等數(shù)據(jù)填入文件目錄;⑶調(diào)用輔存空間管理程序為文件分配第一個物理塊;⑷需要時發(fā)出裝卷信息;⑸在活動中登記該文件有關(guān)信息,進行文件定位和卷標(biāo)處理。
1.建立文件1372.打開文件⑴在內(nèi)存活動文件表中申請一個空項,用以存放該文件的文件目錄信息;⑵根據(jù)文件名查找目錄文件,將找到的文件目錄信息復(fù)制到活動文件表占用欄;⑶若打開的是共享文件,則要做相應(yīng)處理,如使用共享文件的用戶加1;⑷文件定位,卷標(biāo)處理。2.打開文件1383.關(guān)閉文件⑴將活動文件表中該文件的“當(dāng)前用戶”減1;若此值為0,則撤銷此目錄;⑵若活動文件表相應(yīng)表目已被修改,則應(yīng)先將表目內(nèi)容寫回文件存儲器上相應(yīng)表目中,以使文件目錄保存最新狀態(tài);⑶卷定位工作。3.關(guān)閉文件1394.讀/寫文件⑴按文件名從活動文件表中找到該文件的目錄;⑵按存取控制說明檢查訪問的合法性;⑶根據(jù)文件目錄指出的該文件的邏輯和物理組織方式將邏輯記錄號或字符個數(shù)轉(zhuǎn)換成物理塊號;⑷向設(shè)備管理發(fā)出I/O請求,完成數(shù)據(jù)傳輸操作。4.讀/寫文件1405.撤消文件
⑴若文件沒有關(guān)閉則先做關(guān)閉工作;若為共享文件則應(yīng)進行聯(lián)訪處理;⑵在目錄文件中刪除相應(yīng)目錄項;⑶釋放該文件占有的輔存空間。5.撤消文件1416.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)6.4.2文件共享6.4.3文件的安全與保護
6.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)142
文件共享是指多個進程在受控的前提下共用系統(tǒng)中的一個文件,這種控制是由操作系統(tǒng)和文件的使用者共同實現(xiàn)的。操作系統(tǒng)中文件共享的形式有兩種:1.不同時使用一個文件2.同時使用一個文件存在兩種情況:(1)所有進程都不修改所共享的文件。(2)某些進程要求修改被共享的文件。文件共享是指多個進程在受控的前提下共用系統(tǒng)中1436.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)6.4.2文件共享6.4.3文件的安全與保護
6.4文件系統(tǒng)的實現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實現(xiàn)144最常見的方法就是定期地備份整個文件系統(tǒng)中的數(shù)據(jù),包含將重要的文件數(shù)據(jù)備份至不同的存儲位置,或?qū)⒄麄€磁盤備份至不同的存儲媒介上。另外一種則是文件訪問的權(quán)限保護,也就是讀取、寫入及執(zhí)行等使用權(quán)限的設(shè)置。最常見的方法就是定期地備份整個文件系統(tǒng)中的1451.訪問權(quán)限(AccessType)文件的訪問權(quán)限就是一種最基本的文件系統(tǒng)保護機制,系統(tǒng)必須根據(jù)文件的訪問權(quán)限來操作文件。若將一個文件的訪問權(quán)限加以細(xì)分,然后再針對不同的訪問權(quán)限加以管制,這樣,對同一個文件不同的用戶就會擁有較具伸縮性的訪問權(quán)限。⑴讀取(Read);⑵寫入(Write);⑶執(zhí)行(Execute);⑷追加(Append);⑸刪除(Delete);⑹列表(List)。1.訪問權(quán)限(AccessType)1462.訪問組(AccessGroups)
為了讓整個訪問控制的問題更好解決,我們可將此問題作些修改。首先是減少訪問的方式,這樣可將整個問題簡單化,因為大部分的文件訪問都可以相互參考,所以在大部分的文件系統(tǒng)中都只會針對其中的讀取(Read)、修改(Write)及執(zhí)行(Execute)進行訪問控制,其他的訪問權(quán)限則交給文件的所有者。簡化了訪問權(quán)限之后,我們便可將文件針對不同的用戶作不同的權(quán)限設(shè)置,譬如說,有些操作系統(tǒng)就提供以用戶為單位來設(shè)置權(quán)限的機制。2.訪問組(AccessGroups)147Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對于每個文件只要針對這3類用戶分別作權(quán)限設(shè)置:⑴擁有者(Owner):即建立文件的用戶。一般來說,文件的建立者都會擁有對于此文件的所有訪問權(quán)限。⑵組(Group):在操作系統(tǒng)中,可以將需要相似訪問權(quán)限的用戶歸類成不同的組,每個組中可以有多個用戶,而每個用戶也可以同時隸屬于不同的組。⑶其他(Other):除了上述兩種特別被指定的用戶之外,剩下的用戶會被歸類為其他。Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對148第六章文件系統(tǒng)
6.1概述
6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實現(xiàn)
6.5輔存空間管理第六章文件系統(tǒng)1496.5輔存空間管
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 疫情防控藥品采購協(xié)議
- 在建房產(chǎn)買賣協(xié)議
- 稅務(wù)顧問咨詢合同模板
- 安全技術(shù)合作項目
- 保潔服務(wù)合同格式模板
- 專業(yè)房產(chǎn)交易合同格式指南
- 招標(biāo)項目的合同協(xié)議解析指南
- 演出服務(wù)合作合同模板
- 地毯招標(biāo)廢標(biāo)廢標(biāo)更件
- 知識共享授課服務(wù)合同
- 線路工程灌注樁施工作業(yè)指導(dǎo)書施工方案
- 重力壩的分縫與止水
- 三重管高壓旋噴樁施工工藝規(guī)程與施工方案
- 個體診所藥品清單
- 藥品招商流程
- PFMEA的嚴(yán)重度SOD的評分和優(yōu)先級別
- 國網(wǎng)基建國家電網(wǎng)公司輸變電工程結(jié)算管理辦法
- 100道遞等式計算(能巧算得要巧算)
- 中國地圖含省份信息可編輯矢量圖
- 路政運政交通運輸執(zhí)法人員考試題庫
- 企業(yè)技術(shù)標(biāo)準(zhǔn)化管理
評論
0/150
提交評論