第6章文件系統(tǒng)課件_第1頁(yè)
第6章文件系統(tǒng)課件_第2頁(yè)
第6章文件系統(tǒng)課件_第3頁(yè)
第6章文件系統(tǒng)課件_第4頁(yè)
第6章文件系統(tǒng)課件_第5頁(yè)
已閱讀5頁(yè),還剩163頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(xiàn)

6.5輔存空間管理

6.6實(shí)例:Windows文件系統(tǒng)

本章主要內(nèi)容第六章文件系統(tǒng)本章主要內(nèi)容1在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系統(tǒng)自身的程序和數(shù)據(jù),甚至各種輸入輸出設(shè)備都是以文件形式出現(xiàn)的。盡管文件有多種存儲(chǔ)介質(zhì)可以使用,如硬盤、軟盤、光盤、閃存、記憶棒等,但是,它們都以文件的形式出現(xiàn)在操作系統(tǒng)的管理者和用戶面前。所以,文件管理是操作系統(tǒng)中一項(xiàng)重要的功能。文件系統(tǒng)就是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件。它管理文件的存儲(chǔ)、檢索、更新,提供安全可靠的共享和保護(hù)手段,并且方便用戶使用。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系2第六章文件系統(tǒng)6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(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文件是具有名字且在邏輯上具有完整意義的信息項(xiàng)的有序序列,如圖所示。這里所說的“有序序列”是指以用戶觀點(diǎn),在邏輯上具有順序性,實(shí)際上,文件在輔存上物理存放時(shí)由于要考慮空間利用率的問題,因而不一定是連續(xù)的。編號(hào):01kn-1信息項(xiàng)1信息項(xiàng)2…信息項(xiàng)k…信息項(xiàng)n讀/寫指針文件是具有名字且在邏輯上具有完整意義的信5文件系統(tǒng)的主要功能有:⑴文件的按名存取;⑵對(duì)文件目錄的管理;⑶地址映射;⑷提供合適的文件存取方法;⑸文件的共享、保護(hù)和保密等。文件系統(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最低層是對(duì)象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)據(jù)集合單位所組成的層次;中間層是對(duì)對(duì)象進(jìn)行操控和管理的軟件集合,它是處于應(yīng)用程序與操作系統(tǒng)之間的應(yīng)用軟件與系統(tǒng)軟件;最高層是文件系統(tǒng)提供給用戶的接口。操作系統(tǒng)中處理文件的部分稱為文件系統(tǒng)。它分為三個(gè)層次:最低層是對(duì)象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)8表6-2文件系統(tǒng)模型文件系統(tǒng)接口對(duì)對(duì)象操縱和管理的軟件集合邏輯文件系統(tǒng)基本I/O管理程序(文件組織模塊)基本文件系統(tǒng)(物理I/O層)I/O控制層(設(shè)備驅(qū)動(dòng)程序)對(duì)象及其屬性說明表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)文件、庫(kù)文件和用戶文件。⑵按存儲(chǔ)方式可分為:ASCII文件和二進(jìn)制文件。⑶按保存期可分為:臨時(shí)文件和永久文件。⑷按訪問方式可分為:只讀文件、只執(zhí)行文件和可讀/寫文件。⑸按數(shù)據(jù)形式分為:源文件、目標(biāo)文件和可執(zhí)行文件。⑴按用途可分為:系統(tǒng)文件、庫(kù)文件和用戶文件。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為了能對(duì)系統(tǒng)內(nèi)的各個(gè)文件實(shí)施管理以及保護(hù),操作系統(tǒng)除了要保存文件的信息內(nèi)容外,還要存儲(chǔ)一些與文件相關(guān)的數(shù)據(jù),我們稱之為文件屬性(FileAttributes)。⑴名稱:文件是有名字的,以方便用戶通過文件名來訪問該文件。通常文件名是一個(gè)字符串組成。⑵標(biāo)識(shí)符:在文件系統(tǒng)內(nèi)標(biāo)識(shí)文件的唯一符號(hào),通常是數(shù)字。這個(gè)信息對(duì)用戶是不可訪問的。⑶類型:類型設(shè)置可以提供系統(tǒng)在訪問時(shí)用以識(shí)別不同數(shù)據(jù)類型的文件。⑷位置:此屬性為一個(gè)指向磁盤實(shí)際存儲(chǔ)位置的指針,讓系統(tǒng)知道要到磁盤中的哪個(gè)位置去訪問所需要的數(shù)據(jù)。

為了能對(duì)系統(tǒng)內(nèi)的各個(gè)文件實(shí)施管理以及保護(hù),操13⑸大小:當(dāng)數(shù)據(jù)被存儲(chǔ)在磁盤中時(shí)需要足夠的存儲(chǔ)空間,大小屬性就記錄著該文件在磁盤上所占有的存儲(chǔ)空間大?。ㄒ宰止?jié)、字或塊為單位),有時(shí)該屬性也包括文件可允許大小的最大值。⑹保護(hù):在多用戶多任務(wù)操作系統(tǒng)中,為了文件系統(tǒng)的安全,一般都會(huì)在文件上加入保護(hù)機(jī)制及訪問控制的設(shè)置。⑺擁有者:一般來說,文件都由建立它的用戶所擁有,而文件的擁有者可以對(duì)文件的保護(hù)加以設(shè)置。⑻日期信息:文件中會(huì)記錄幾個(gè)與文件相關(guān)的日期與時(shí)間信息,包含文件的建立時(shí)間、最后修改時(shí)間和最后訪問時(shí)間等。這些信息主要用于文件的保護(hù)、安全和使用跟蹤。⑸大?。寒?dāng)數(shù)據(jù)被存儲(chǔ)在磁盤中時(shí)需要足夠的存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對(duì)文件的操作可分為兩類:一是對(duì)文件自身的操作,主要實(shí)現(xiàn)文件的創(chuàng)建、刪除、復(fù)制等;二是對(duì)記錄的操作,例如在文件中查找一個(gè)記錄。⑴創(chuàng)建文件⑵讀文件⑶寫文件⑷刪除文件⑸屬性更改⑹截?cái)辔募?duì)文件的操作可分為兩類:一是對(duì)文件自身的16第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(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)部組織形式,是文件在物理存儲(chǔ)設(shè)備上的存儲(chǔ)形式,所以又稱文件的存儲(chǔ)結(jié)構(gòu)。文件結(jié)構(gòu)指的是文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。19

記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性。一個(gè)記錄通常包含哪些數(shù)據(jù)項(xiàng),取決于需要描述對(duì)象的哪個(gè)方面。在這些記錄中,為了能唯一的標(biāo)識(shí)一個(gè)記錄,必須在記錄的各個(gè)數(shù)據(jù)項(xiàng)中,確定出一個(gè)項(xiàng)或幾個(gè)項(xiàng),這些項(xiàng)的集合稱為關(guān)鍵字。文件系統(tǒng)為了能有效管理一個(gè)文件,必須建立一個(gè)與文件一一對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),用來保存文件名及文件的各種屬性,這個(gè)數(shù)據(jù)結(jié)構(gòu)稱為文件控制塊(FileControlBlock,F(xiàn)CB)。記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象20文件控制塊的主要信息包括三方面:⑴基本信息:文件標(biāo)識(shí)、文件邏輯結(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é),即流式文件是具有符號(hào)名并在邏輯上具有完整意義的字節(jié)序列。編號(hào):01kn-1字節(jié)字節(jié)…字節(jié)…字節(jié)讀/寫指針文件的邏輯組織形式有兩種:流式和記錄式。前232.記錄式文件

記錄式文件顧名思義就是由記錄構(gòu)成的文件,即記錄式文件是具有符號(hào)名并在邏輯上具有完整意義的記錄序列。

編號(hào):01kn-1記錄記錄…記錄…記錄讀/寫指針2.記錄式文件編號(hào):024根據(jù)記錄的長(zhǎng)度可分為定長(zhǎng)和不定長(zhǎng)兩類:⑴定長(zhǎng)記錄:指文件中所有記錄都是相同的。所有記錄中的各數(shù)據(jù)項(xiàng),都處于記錄中相同位置,具有相同的順序及相同的長(zhǎng)度,文件的長(zhǎng)度用記錄數(shù)目表示。⑵變長(zhǎng)記錄:指文件中各記錄的長(zhǎng)度不相同。包括:記錄中包含的數(shù)據(jù)項(xiàng)數(shù)目可能不同?;蛘呤菙?shù)據(jù)項(xiàng)本身的長(zhǎng)度不定。用戶對(duì)記錄式文件的訪問是以記錄為基本單位的。每個(gè)文件的內(nèi)部有一個(gè)讀/寫指針,通過系統(tǒng)調(diào)用可以將該讀/寫指針固定到文件的某一個(gè)位置,以后的讀/寫系統(tǒng)調(diào)用將從該指針?biāo)_定的位置開始。根據(jù)記錄的長(zhǎng)度可分為定長(zhǎng)和不定長(zhǎng)兩類: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)系

邏輯記錄是按信息在邏輯上的獨(dú)立含義劃分的單位,塊是存儲(chǔ)介質(zhì)上連續(xù)信息所組成的區(qū)域。一個(gè)邏輯記錄被存放到文件存儲(chǔ)器的存儲(chǔ)介質(zhì)上時(shí),可能占用一塊或多塊,也可以一個(gè)物理塊包含多個(gè)邏輯記錄。

成組和分解邏輯記錄和塊的關(guān)系27記錄成組和分解處理過程

邏輯記錄1邏輯記錄2邏輯記錄3物理記錄邏輯記錄用戶緩沖區(qū)系統(tǒng)緩沖區(qū)記錄成組和分解處理過程

邏輯記錄1邏輯記錄2邏輯記錄3邏輯28用于保存文件的物理設(shè)備是劃分為塊的,文件的物理結(jié)構(gòu)就是要確定如何將記錄或字節(jié)保存在存儲(chǔ)型設(shè)備的物理塊中。一般在確定文件的物理結(jié)構(gòu)時(shí)應(yīng)當(dāng)考慮以下幾個(gè)因素:⑴記錄格式:文件記錄的格式分為定長(zhǎng)和變長(zhǎng)兩種。⑵空間開銷:指除保存文件內(nèi)容之外所需的額外開銷。它包括輔存開銷以及當(dāng)文件使用時(shí)所需的內(nèi)存開銷。⑶存取速度:包括順序存取速度、按號(hào)隨機(jī)存取速度以及按鍵隨機(jī)存儲(chǔ)速度。⑷長(zhǎng)度變化:指文件長(zhǎng)度的動(dòng)態(tài)增加和動(dòng)態(tài)減少,尤其是文件長(zhǎng)度的動(dòng)態(tài)增加。用于保存文件的物理設(shè)備是劃分為塊的,文件的物291.順序結(jié)構(gòu)

順序結(jié)構(gòu)又稱為連續(xù)結(jié)構(gòu),采用這種結(jié)構(gòu),一個(gè)文件占用若干個(gè)連續(xù)的物理塊,其首塊號(hào)及塊數(shù)記錄于文件控制塊FCB中。…塊28塊29塊30塊31…FCB……首塊號(hào)=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),一個(gè)文件占有若干個(gè)不連續(xù)的存儲(chǔ)塊,各塊之間以指針相連。首塊號(hào)=28塊數(shù)=4……塊28塊30塊46塊45FCB……磁盤空間2.鏈接結(jié)構(gòu)……塊28塊30塊46塊45FCB……磁盤空間313.索引文件

采用索引結(jié)構(gòu),一個(gè)文件占有若干不連續(xù)的存儲(chǔ)塊,這些塊的塊號(hào)記錄于一個(gè)索引表中。首塊號(hào)=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)的實(shí)現(xiàn)

6.5輔存空間管理第六章文件系統(tǒng)336.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄34分區(qū)是指一個(gè)新的磁盤驅(qū)動(dòng)器在使用前將它劃分為幾個(gè)邏輯上獨(dú)立的區(qū)域,每一個(gè)分區(qū),用戶都可以將它看作是一個(gè)單獨(dú)的存儲(chǔ)設(shè)備。不同的分區(qū)可以根據(jù)需要,由用戶分別安裝不同的文件系統(tǒng)。通常,在每個(gè)分區(qū)中都會(huì)有一個(gè)設(shè)備目錄(DeviceDirectory)或是卷表(VolumeTable),兩者的功能都是用來記錄此分區(qū)中的所有目錄及文件信息。以Unix系列的文件系統(tǒng)為例,設(shè)備目錄用來存儲(chǔ)分區(qū)的相關(guān)信息,而在Windows中,這些信息會(huì)被記錄在卷表中。分區(qū)是指一個(gè)新的磁盤驅(qū)動(dòng)器在使用前將它劃分35分區(qū)1設(shè)備目錄FAT-32設(shè)備目錄Ext2卷表NTFS分區(qū)2磁盤一磁盤二分區(qū)3分區(qū)1設(shè)備目錄設(shè)備目錄卷表分區(qū)2磁盤一磁盤二分區(qū)336如果要想查找到某個(gè)文件的信息,則要訪問整個(gè)設(shè)備目錄或卷表文件。為了能對(duì)文件進(jìn)行快速的存取,這就需要使用到前面介紹的文件控制塊FCB。操作系統(tǒng)會(huì)為每一個(gè)新建立的文件設(shè)立一個(gè)FCB,其中包含有這個(gè)文件的所有屬性信息。多個(gè)文件的FCB組成了一個(gè)文件目錄,通常稱為文件目錄表,而每一個(gè)FCB就是文件目錄表中的一個(gè)文件目錄項(xiàng)。文件目錄也是以“目錄文件”的形式保存的。如果要想查找到某個(gè)文件的信息,則要訪問整個(gè)376.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄38一級(jí)目錄就是在整個(gè)計(jì)算機(jī)系統(tǒng)中只有一個(gè)目錄,所有文件均存儲(chǔ)在這個(gè)目錄下,這是目錄文件中最簡(jiǎn)單的一種形式。目錄是在一個(gè)分區(qū),也就是根目錄中,存儲(chǔ)幾個(gè)不同名稱的文件,這是最基本的一級(jí)目錄結(jié)構(gòu)。整個(gè)系統(tǒng)中只有一張文件目錄表,該系統(tǒng)下的所有文件信息均存儲(chǔ)在此表中。一級(jí)目錄就是在整個(gè)計(jì)算機(jī)系統(tǒng)中只有一個(gè)目錄,39第6章文件系統(tǒng)課件406.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄41每個(gè)用戶將他們建立的文件存儲(chǔ)在各自目錄下,即使有相同的文件名也不會(huì)互相影響。首先在各個(gè)磁盤分區(qū),也就是根目錄中,建立不同的用戶目錄,也稱為子目錄(Sub-Directory),這些用戶的相關(guān)信息被保存在主文件目錄表中。所有用戶的文件目錄結(jié)構(gòu)相似,是由各自目錄下文件的文件控制塊FCB組成。當(dāng)用戶登錄此操作系統(tǒng)時(shí),他可以訪問的文件自然就是他的目錄中的所有文件,所以系統(tǒng)在查找用戶需要的文件時(shí),就只需尋找他的目錄下的文件。每個(gè)用戶將他們建立的文件存儲(chǔ)在各自目錄下,426.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄43通常用戶需要按自己的方式來組織文件,也就是按照用戶的要求在自己的目錄下創(chuàng)建新的子目錄,將二級(jí)目錄結(jié)構(gòu)變?yōu)槿?jí)文件目錄,甚至四級(jí)、五級(jí)文件目錄,從而形成層次文件目錄結(jié)構(gòu),我們把這種三級(jí)以上的文件目錄結(jié)構(gòu)統(tǒng)稱為樹形目錄結(jié)構(gòu)。一個(gè)樹形目錄結(jié)構(gòu)就像一棵倒向生長(zhǎng)的有根樹,樹根是文件目錄的根目錄;用戶文件是樹的樹葉,其它子目錄是樹的非終端結(jié)點(diǎn)。由于它具有結(jié)構(gòu)的可伸縮性、文件可重名、便于實(shí)現(xiàn)文件的共享和保護(hù)等優(yōu)點(diǎn),幾乎所有的現(xiàn)代操作系統(tǒng)都采用樹形目錄結(jié)構(gòu)。路徑名是指在樹形目錄結(jié)構(gòu)中從根目錄到該文件之間的通路上,所有目錄文件名與訪問文件名,依次用“\”連接起來。通常用戶需要按自己的方式來組織文件,也就是按44第6章文件系統(tǒng)課件456.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄46在多用戶多任務(wù)操作系統(tǒng)中,文件共享是一件很重要的事,最簡(jiǎn)單的方法就是將這些必要的文件存放在某個(gè)目錄中,程序員通過各自的目錄都可連接到此共享的目錄或文件,這樣就形成了一個(gè)無環(huán)圖目錄結(jié)構(gòu),如果任何一個(gè)人修改了公用目錄中的文件,其效果便可以立即顯現(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)時(shí),可能會(huì)發(fā)生的問題就是當(dāng)用戶要建立一個(gè)符號(hào)鏈表時(shí),所要進(jìn)行鏈接的目錄可能是該鏈表所在目錄的父目錄(ParentDirectory),或是更上級(jí)的目錄。這樣一來,就破壞了原本的無環(huán)圖結(jié)構(gòu),也就形成了目錄結(jié)構(gòu)上的循環(huán),這就是通用圖目錄結(jié)構(gòu)。使用無環(huán)圖的目錄結(jié)構(gòu)時(shí),可能會(huì)發(fā)生49第6章文件系統(tǒng)課件50第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄

6.4文件系統(tǒng)的實(shí)現(xiàn)

6.5輔存空間管理第六章文件系統(tǒng)516.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)6.4.2文件共享6.4.3文件的安全與保護(hù)

6.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)521.建立文件⑴根據(jù)設(shè)備類型在選中的相應(yīng)設(shè)備上建立一個(gè)文件目錄,并返回一個(gè)用戶文件標(biāo)識(shí),用戶在以后的讀寫操作中可以利用此文件標(biāo)識(shí);⑵將文件名、文件屬性等數(shù)據(jù)填入文件目錄;⑶調(diào)用輔存空間管理程序?yàn)槲募峙涞谝粋€(gè)物理塊;⑷需要時(shí)發(fā)出裝卷信息;⑸在活動(dòng)中登記該文件有關(guān)信息,進(jìn)行文件定位和卷標(biāo)處理。

1.建立文件532.打開文件⑴在內(nèi)存活動(dòng)文件表中申請(qǐng)一個(gè)空項(xiàng),用以存放該文件的文件目錄信息;⑵根據(jù)文件名查找目錄文件,將找到的文件目錄信息復(fù)制到活動(dòng)文件表占用欄;⑶若打開的是共享文件,則要做相應(yīng)處理,如使用共享文件的用戶加1;⑷文件定位,卷標(biāo)處理。2.打開文件543.關(guān)閉文件⑴將活動(dòng)文件表中該文件的“當(dāng)前用戶”減1;若此值為0,則撤銷此目錄;⑵若活動(dòng)文件表相應(yīng)表目已被修改,則應(yīng)先將表目?jī)?nèi)容寫回文件存儲(chǔ)器上相應(yīng)表目中,以使文件目錄保存最新狀態(tài);⑶卷定位工作。3.關(guān)閉文件554.讀/寫文件⑴按文件名從活動(dòng)文件表中找到該文件的目錄;⑵按存取控制說明檢查訪問的合法性;⑶根據(jù)文件目錄指出的該文件的邏輯和物理組織方式將邏輯記錄號(hào)或字符個(gè)數(shù)轉(zhuǎn)換成物理塊號(hào);⑷向設(shè)備管理發(fā)出I/O請(qǐng)求,完成數(shù)據(jù)傳輸操作。4.讀/寫文件565.撤消文件

⑴若文件沒有關(guān)閉則先做關(guān)閉工作;若為共享文件則應(yīng)進(jìn)行聯(lián)訪處理;⑵在目錄文件中刪除相應(yīng)目錄項(xiàng);⑶釋放該文件占有的輔存空間。5.撤消文件576.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)6.4.2文件共享6.4.3文件的安全與保護(hù)

6.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)58

文件共享是指多個(gè)進(jìn)程在受控的前提下共用系統(tǒng)中的一個(gè)文件,這種控制是由操作系統(tǒng)和文件的使用者共同實(shí)現(xiàn)的。操作系統(tǒng)中文件共享的形式有兩種:1.不同時(shí)使用一個(gè)文件2.同時(shí)使用一個(gè)文件存在兩種情況:(1)所有進(jìn)程都不修改所共享的文件。(2)某些進(jìn)程要求修改被共享的文件。文件共享是指多個(gè)進(jìn)程在受控的前提下共用系統(tǒng)中596.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)6.4.2文件共享6.4.3文件的安全與保護(hù)

6.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)60最常見的方法就是定期地備份整個(gè)文件系統(tǒng)中的數(shù)據(jù),包含將重要的文件數(shù)據(jù)備份至不同的存儲(chǔ)位置,或?qū)⒄麄€(gè)磁盤備份至不同的存儲(chǔ)媒介上。另外一種則是文件訪問的權(quán)限保護(hù),也就是讀取、寫入及執(zhí)行等使用權(quán)限的設(shè)置。最常見的方法就是定期地備份整個(gè)文件系統(tǒng)中的611.訪問權(quán)限(AccessType)文件的訪問權(quán)限就是一種最基本的文件系統(tǒng)保護(hù)機(jī)制,系統(tǒng)必須根據(jù)文件的訪問權(quán)限來操作文件。若將一個(gè)文件的訪問權(quán)限加以細(xì)分,然后再針對(duì)不同的訪問權(quán)限加以管制,這樣,對(duì)同一個(gè)文件不同的用戶就會(huì)擁有較具伸縮性的訪問權(quán)限。⑴讀取(Read);⑵寫入(Write);⑶執(zhí)行(Execute);⑷追加(Append);⑸刪除(Delete);⑹列表(List)。1.訪問權(quán)限(AccessType)622.訪問組(AccessGroups)

為了讓整個(gè)訪問控制的問題更好解決,我們可將此問題作些修改。首先是減少訪問的方式,這樣可將整個(gè)問題簡(jiǎn)單化,因?yàn)榇蟛糠值奈募L問都可以相互參考,所以在大部分的文件系統(tǒng)中都只會(huì)針對(duì)其中的讀取(Read)、修改(Write)及執(zhí)行(Execute)進(jìn)行訪問控制,其他的訪問權(quán)限則交給文件的所有者。簡(jiǎn)化了訪問權(quán)限之后,我們便可將文件針對(duì)不同的用戶作不同的權(quán)限設(shè)置,譬如說,有些操作系統(tǒng)就提供以用戶為單位來設(shè)置權(quán)限的機(jī)制。2.訪問組(AccessGroups)63Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對(duì)于每個(gè)文件只要針對(duì)這3類用戶分別作權(quán)限設(shè)置:⑴擁有者(Owner):即建立文件的用戶。一般來說,文件的建立者都會(huì)擁有對(duì)于此文件的所有訪問權(quán)限。⑵組(Group):在操作系統(tǒng)中,可以將需要相似訪問權(quán)限的用戶歸類成不同的組,每個(gè)組中可以有多個(gè)用戶,而每個(gè)用戶也可以同時(shí)隸屬于不同的組。⑶其他(Other):除了上述兩種特別被指定的用戶之外,剩下的用戶會(huì)被歸類為其他。Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對(duì)64第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(xiàn)

6.5輔存空間管理第六章文件系統(tǒng)656.5輔存空間管理6.5.1輔存的分配方法6.5.2空閑空間管理6.5輔存空間管理6.5.1輔存的分配方法66輔助存儲(chǔ)器的特點(diǎn)之一,就是可以為用戶提供一個(gè)存放大量數(shù)據(jù)的存儲(chǔ)空間,這些數(shù)據(jù)以文件的形式存放。為了方便操作,幾乎所有的操作系統(tǒng)都把文件分割成固定大小的塊來存儲(chǔ),這個(gè)塊稱為磁盤塊。在為文件分配磁盤塊時(shí)有三種方式:⑴連續(xù)分配⑵鏈接分配⑶索引分配輔助存儲(chǔ)器的特點(diǎn)之一,就是可以為用戶提供一個(gè)671.連續(xù)分配連續(xù)分配是為一個(gè)文件分配一組連續(xù)的磁盤塊,這些磁盤塊通常位于同一磁道,其地址按線性排列。例如,一個(gè)磁盤塊的大小是k,文件的第一個(gè)磁盤塊的地址是d,那么第二個(gè)磁盤塊地址是d+k,第三個(gè)磁盤塊地址是d+2×k,……,第i個(gè)磁盤塊的地址是d+(i-1)×k。1.連續(xù)分配68若輔存采用連續(xù)分配方式,即將邏輯文件中的記錄按順序存放到相鄰的磁盤塊中,該物理文件就稱為順序文件。系統(tǒng)在訪問順序文件時(shí),讀/寫頭只需經(jīng)過一次或幾次(如果文件較大,一個(gè)磁道存放不下,需要存放到多個(gè)磁道時(shí))移動(dòng)、定位操作。在連續(xù)分配的文件系統(tǒng)中,每個(gè)文件需要保存兩個(gè)信息,一個(gè)是該文件第一個(gè)磁盤塊的起始地址,另一個(gè)是該文件磁盤塊總數(shù)。若輔存采用連續(xù)分配方式,即將邏輯文件中的記69第6章文件系統(tǒng)課件70文件在進(jìn)行分配時(shí),系統(tǒng)盡量將數(shù)據(jù)存放在連續(xù)的磁盤塊中。但是與內(nèi)存空間的分配情況類似,隨著文件的建立和刪除,磁盤空間也會(huì)經(jīng)過不斷地分配和回收,這將使磁盤空間被分割出很多小的磁盤塊,這些小磁盤塊將很難再被用來存儲(chǔ)文件,它們被稱為“外部碎片”。磁盤重組(DiskDefragmentation)要花費(fèi)大量時(shí)間。連續(xù)分配的優(yōu)點(diǎn):文件訪問速度快;直接存取。連續(xù)分配的缺點(diǎn):要求有大量連續(xù)的磁盤空間;文件裝入磁盤前,必須事先知道文件的長(zhǎng)度。文件在進(jìn)行分配時(shí),系統(tǒng)盡量將數(shù)據(jù)存放在連續(xù)712.鏈?zhǔn)椒峙浯娣琶總€(gè)文件的磁盤塊不是連續(xù)的,離散地分布在磁盤空間中,通過鏈表鏈接起來。不需要事先知道文件的大小,對(duì)文件的增加、刪除和修改操作都十分方便。采用鏈?zhǔn)椒峙鋾r(shí),分配表中需要存儲(chǔ)文件的起始磁盤塊號(hào)和結(jié)束磁盤塊號(hào)。而在每個(gè)磁盤塊中要增加一個(gè)指針,這個(gè)指針指向文件的下一個(gè)磁盤塊,這樣系統(tǒng)可以從分配表中的起始磁盤塊開始訪問,順著鏈表直到最后一個(gè)磁盤塊,整個(gè)文件訪問才完成。2.鏈?zhǔn)椒峙?2磁盤空間的鏈?zhǔn)椒峙浯疟P空間的鏈?zhǔn)椒峙?3鏈?zhǔn)椒峙涞娜秉c(diǎn):⑴不具有直接存取的功能,操作起來比較復(fù)雜。⑵讀取文件的速度較慢。⑶如果這個(gè)文件中的某一個(gè)磁盤塊的指針出現(xiàn)錯(cuò)誤,則整個(gè)文件就無法再被訪問。鏈?zhǔn)椒峙涞娜秉c(diǎn):743.索引分配一個(gè)文件中所有磁盤塊的編號(hào)都被存放在一個(gè)固定的磁盤塊中,這個(gè)磁盤塊稱為索引塊(IndexedBlock)。在系統(tǒng)的索引分配表中存放有對(duì)應(yīng)文件的索引塊指針。利用索引系統(tǒng)可以容易地找到文件中第i個(gè)磁盤塊,實(shí)現(xiàn)直接存取。而且,系統(tǒng)可以有效地利用磁盤空間,從而避免“外部碎片”的問題。索引分配的缺點(diǎn):索引表連續(xù)存儲(chǔ)多級(jí)索引分配方式、混合索引分配方式

3.索引分配75第6章文件系統(tǒng)課件766.5輔存空間管理6.5.1輔存的分配方法6.5.2空閑空間管理6.5輔存空間管理6.5.1輔存的分配方法77空閑空間是指磁盤中那些沒有使用的空間,系統(tǒng)在建立文件時(shí)的首要任務(wù)就是在空閑空間中為文件分配磁盤塊,所以系統(tǒng)必須記錄下空閑空間(FreeSpace)的使用情況,當(dāng)需要在磁盤中建立文件時(shí),就從這些空閑空間中找到合適的磁盤塊分配給文件??臻e空間是指磁盤中那些沒有使用的空間,系統(tǒng)781.位示圖磁盤中的每一個(gè)磁盤塊都用一個(gè)二進(jìn)制來表示它是否空閑,如果該磁盤塊已經(jīng)被分配,則用“1”來表示;如果該磁盤塊空閑,則用“0”來表示。這樣,由所有磁盤塊的二進(jìn)制標(biāo)識(shí)所組成的集合就稱為位示圖,或位向量。0111011111001110011100000101010001110101101010111101000010111…1.位示圖0111011111001792.空閑表系統(tǒng)進(jìn)行輔存的文件分配時(shí)盡量分配連續(xù)空間,所以空閑的磁盤塊大多都是連續(xù)的,系統(tǒng)建立一個(gè)空閑表,記錄每個(gè)空閑塊的起始?jí)K號(hào)和長(zhǎng)度。利用空閑表管理空閑空間的方法,與內(nèi)存管理中的可變分區(qū)管理方法類似。在分配磁盤塊時(shí)可采用最先適應(yīng)算法、最佳適應(yīng)算法和最壞適應(yīng)算法。回收時(shí),將空閑空間插入空閑表中,并記錄起始磁盤號(hào)及長(zhǎng)度。如果兩個(gè)空閑空間是相鄰的,則要對(duì)它們進(jìn)行合并。2.空閑表803.空閑鏈表

空閑鏈表方式是將所有的空閑空間用指針鏈接起來,并設(shè)一個(gè)頭指針指向空閑鏈表的第一個(gè)磁盤塊。在系統(tǒng)建立一個(gè)新文件時(shí),可通過這個(gè)頭指針來查找合適數(shù)量的空閑塊,將它們從鏈表中斷開分配給文件。刪除文件時(shí),將需要釋放的磁盤塊插入到空閑鏈表的合適位置。

空閑鏈表的缺點(diǎn):空閑鏈表方式在分配磁盤塊時(shí),要多次進(jìn)行磁盤的I/O操作,效率很低。并且每個(gè)磁盤塊要有一個(gè)指針,指向下一個(gè)空閑塊就要浪費(fèi)一定的磁盤空間。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)的實(shí)現(xiàn)

6.5輔存空間管理

6.6實(shí)例:Windows文件系統(tǒng)

本章主要內(nèi)容第六章文件系統(tǒng)本章主要內(nèi)容85在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系統(tǒng)自身的程序和數(shù)據(jù),甚至各種輸入輸出設(shè)備都是以文件形式出現(xiàn)的。盡管文件有多種存儲(chǔ)介質(zhì)可以使用,如硬盤、軟盤、光盤、閃存、記憶棒等,但是,它們都以文件的形式出現(xiàn)在操作系統(tǒng)的管理者和用戶面前。所以,文件管理是操作系統(tǒng)中一項(xiàng)重要的功能。文件系統(tǒng)就是操作系統(tǒng)中統(tǒng)一管理信息資源的一種軟件。它管理文件的存儲(chǔ)、檢索、更新,提供安全可靠的共享和保護(hù)手段,并且方便用戶使用。在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,用戶的程序和數(shù)據(jù),操作系86第六章文件系統(tǒng)6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(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文件是具有名字且在邏輯上具有完整意義的信息項(xiàng)的有序序列,如圖所示。這里所說的“有序序列”是指以用戶觀點(diǎn),在邏輯上具有順序性,實(shí)際上,文件在輔存上物理存放時(shí)由于要考慮空間利用率的問題,因而不一定是連續(xù)的。編號(hào):01kn-1信息項(xiàng)1信息項(xiàng)2…信息項(xiàng)k…信息項(xiàng)n讀/寫指針文件是具有名字且在邏輯上具有完整意義的信89文件系統(tǒng)的主要功能有:⑴文件的按名存取;⑵對(duì)文件目錄的管理;⑶地址映射;⑷提供合適的文件存取方法;⑸文件的共享、保護(hù)和保密等。文件系統(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最低層是對(duì)象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)據(jù)集合單位所組成的層次;中間層是對(duì)對(duì)象進(jìn)行操控和管理的軟件集合,它是處于應(yīng)用程序與操作系統(tǒng)之間的應(yīng)用軟件與系統(tǒng)軟件;最高層是文件系統(tǒng)提供給用戶的接口。操作系統(tǒng)中處理文件的部分稱為文件系統(tǒng)。它分為三個(gè)層次:最低層是對(duì)象及其屬性說明,這是由操作系統(tǒng)所提供的數(shù)據(jù)名稱、數(shù)92表6-2文件系統(tǒng)模型文件系統(tǒng)接口對(duì)對(duì)象操縱和管理的軟件集合邏輯文件系統(tǒng)基本I/O管理程序(文件組織模塊)基本文件系統(tǒng)(物理I/O層)I/O控制層(設(shè)備驅(qū)動(dòng)程序)對(duì)象及其屬性說明表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)文件、庫(kù)文件和用戶文件。⑵按存儲(chǔ)方式可分為:ASCII文件和二進(jìn)制文件。⑶按保存期可分為:臨時(shí)文件和永久文件。⑷按訪問方式可分為:只讀文件、只執(zhí)行文件和可讀/寫文件。⑸按數(shù)據(jù)形式分為:源文件、目標(biāo)文件和可執(zhí)行文件。⑴按用途可分為:系統(tǒng)文件、庫(kù)文件和用戶文件。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為了能對(duì)系統(tǒng)內(nèi)的各個(gè)文件實(shí)施管理以及保護(hù),操作系統(tǒng)除了要保存文件的信息內(nèi)容外,還要存儲(chǔ)一些與文件相關(guān)的數(shù)據(jù),我們稱之為文件屬性(FileAttributes)。⑴名稱:文件是有名字的,以方便用戶通過文件名來訪問該文件。通常文件名是一個(gè)字符串組成。⑵標(biāo)識(shí)符:在文件系統(tǒng)內(nèi)標(biāo)識(shí)文件的唯一符號(hào),通常是數(shù)字。這個(gè)信息對(duì)用戶是不可訪問的。⑶類型:類型設(shè)置可以提供系統(tǒng)在訪問時(shí)用以識(shí)別不同數(shù)據(jù)類型的文件。⑷位置:此屬性為一個(gè)指向磁盤實(shí)際存儲(chǔ)位置的指針,讓系統(tǒng)知道要到磁盤中的哪個(gè)位置去訪問所需要的數(shù)據(jù)。

為了能對(duì)系統(tǒng)內(nèi)的各個(gè)文件實(shí)施管理以及保護(hù),操97⑸大?。寒?dāng)數(shù)據(jù)被存儲(chǔ)在磁盤中時(shí)需要足夠的存儲(chǔ)空間,大小屬性就記錄著該文件在磁盤上所占有的存儲(chǔ)空間大?。ㄒ宰止?jié)、字或塊為單位),有時(shí)該屬性也包括文件可允許大小的最大值。⑹保護(hù):在多用戶多任務(wù)操作系統(tǒng)中,為了文件系統(tǒng)的安全,一般都會(huì)在文件上加入保護(hù)機(jī)制及訪問控制的設(shè)置。⑺擁有者:一般來說,文件都由建立它的用戶所擁有,而文件的擁有者可以對(duì)文件的保護(hù)加以設(shè)置。⑻日期信息:文件中會(huì)記錄幾個(gè)與文件相關(guān)的日期與時(shí)間信息,包含文件的建立時(shí)間、最后修改時(shí)間和最后訪問時(shí)間等。這些信息主要用于文件的保護(hù)、安全和使用跟蹤。⑸大?。寒?dāng)數(shù)據(jù)被存儲(chǔ)在磁盤中時(shí)需要足夠的存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對(duì)文件的操作可分為兩類:一是對(duì)文件自身的操作,主要實(shí)現(xiàn)文件的創(chuàng)建、刪除、復(fù)制等;二是對(duì)記錄的操作,例如在文件中查找一個(gè)記錄。⑴創(chuàng)建文件⑵讀文件⑶寫文件⑷刪除文件⑸屬性更改⑹截?cái)辔募?duì)文件的操作可分為兩類:一是對(duì)文件自身的100第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(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)部組織形式,是文件在物理存儲(chǔ)設(shè)備上的存儲(chǔ)形式,所以又稱文件的存儲(chǔ)結(jié)構(gòu)。文件結(jié)構(gòu)指的是文件的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。103

記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象某方面的屬性。一個(gè)記錄通常包含哪些數(shù)據(jù)項(xiàng),取決于需要描述對(duì)象的哪個(gè)方面。在這些記錄中,為了能唯一的標(biāo)識(shí)一個(gè)記錄,必須在記錄的各個(gè)數(shù)據(jù)項(xiàng)中,確定出一個(gè)項(xiàng)或幾個(gè)項(xiàng),這些項(xiàng)的集合稱為關(guān)鍵字。文件系統(tǒng)為了能有效管理一個(gè)文件,必須建立一個(gè)與文件一一對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),用來保存文件名及文件的各種屬性,這個(gè)數(shù)據(jù)結(jié)構(gòu)稱為文件控制塊(FileControlBlock,F(xiàn)CB)。記錄是一組相關(guān)數(shù)據(jù)項(xiàng)的集合,用于描述一個(gè)對(duì)象104文件控制塊的主要信息包括三方面:⑴基本信息:文件標(biāo)識(shí)、文件邏輯結(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é),即流式文件是具有符號(hào)名并在邏輯上具有完整意義的字節(jié)序列。編號(hào):01kn-1字節(jié)字節(jié)…字節(jié)…字節(jié)讀/寫指針文件的邏輯組織形式有兩種:流式和記錄式。前1072.記錄式文件

記錄式文件顧名思義就是由記錄構(gòu)成的文件,即記錄式文件是具有符號(hào)名并在邏輯上具有完整意義的記錄序列。

編號(hào):01kn-1記錄記錄…記錄…記錄讀/寫指針2.記錄式文件編號(hào):0108根據(jù)記錄的長(zhǎng)度可分為定長(zhǎng)和不定長(zhǎng)兩類:⑴定長(zhǎng)記錄:指文件中所有記錄都是相同的。所有記錄中的各數(shù)據(jù)項(xiàng),都處于記錄中相同位置,具有相同的順序及相同的長(zhǎng)度,文件的長(zhǎng)度用記錄數(shù)目表示。⑵變長(zhǎng)記錄:指文件中各記錄的長(zhǎng)度不相同。包括:記錄中包含的數(shù)據(jù)項(xiàng)數(shù)目可能不同。或者是數(shù)據(jù)項(xiàng)本身的長(zhǎng)度不定。用戶對(duì)記錄式文件的訪問是以記錄為基本單位的。每個(gè)文件的內(nèi)部有一個(gè)讀/寫指針,通過系統(tǒng)調(diào)用可以將該讀/寫指針固定到文件的某一個(gè)位置,以后的讀/寫系統(tǒng)調(diào)用將從該指針?biāo)_定的位置開始。根據(jù)記錄的長(zhǎng)度可分為定長(zhǎng)和不定長(zhǎng)兩類: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)系

邏輯記錄是按信息在邏輯上的獨(dú)立含義劃分的單位,塊是存儲(chǔ)介質(zhì)上連續(xù)信息所組成的區(qū)域。一個(gè)邏輯記錄被存放到文件存儲(chǔ)器的存儲(chǔ)介質(zhì)上時(shí),可能占用一塊或多塊,也可以一個(gè)物理塊包含多個(gè)邏輯記錄。

成組和分解邏輯記錄和塊的關(guān)系111記錄成組和分解處理過程

邏輯記錄1邏輯記錄2邏輯記錄3物理記錄邏輯記錄用戶緩沖區(qū)系統(tǒng)緩沖區(qū)記錄成組和分解處理過程

邏輯記錄1邏輯記錄2邏輯記錄3邏輯112用于保存文件的物理設(shè)備是劃分為塊的,文件的物理結(jié)構(gòu)就是要確定如何將記錄或字節(jié)保存在存儲(chǔ)型設(shè)備的物理塊中。一般在確定文件的物理結(jié)構(gòu)時(shí)應(yīng)當(dāng)考慮以下幾個(gè)因素:⑴記錄格式:文件記錄的格式分為定長(zhǎng)和變長(zhǎng)兩種。⑵空間開銷:指除保存文件內(nèi)容之外所需的額外開銷。它包括輔存開銷以及當(dāng)文件使用時(shí)所需的內(nèi)存開銷。⑶存取速度:包括順序存取速度、按號(hào)隨機(jī)存取速度以及按鍵隨機(jī)存儲(chǔ)速度。⑷長(zhǎng)度變化:指文件長(zhǎng)度的動(dòng)態(tài)增加和動(dòng)態(tài)減少,尤其是文件長(zhǎng)度的動(dòng)態(tài)增加。用于保存文件的物理設(shè)備是劃分為塊的,文件的物1131.順序結(jié)構(gòu)

順序結(jié)構(gòu)又稱為連續(xù)結(jié)構(gòu),采用這種結(jié)構(gòu),一個(gè)文件占用若干個(gè)連續(xù)的物理塊,其首塊號(hào)及塊數(shù)記錄于文件控制塊FCB中?!瓑K28塊29塊30塊31…FCB……首塊號(hào)=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),一個(gè)文件占有若干個(gè)不連續(xù)的存儲(chǔ)塊,各塊之間以指針相連。首塊號(hào)=28塊數(shù)=4……塊28塊30塊46塊45FCB……磁盤空間2.鏈接結(jié)構(gòu)……塊28塊30塊46塊45FCB……磁盤空間1153.索引文件

采用索引結(jié)構(gòu),一個(gè)文件占有若干不連續(xù)的存儲(chǔ)塊,這些塊的塊號(hào)記錄于一個(gè)索引表中。首塊號(hào)=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)的實(shí)現(xiàn)

6.5輔存空間管理第六章文件系統(tǒng)1176.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄118分區(qū)是指一個(gè)新的磁盤驅(qū)動(dòng)器在使用前將它劃分為幾個(gè)邏輯上獨(dú)立的區(qū)域,每一個(gè)分區(qū),用戶都可以將它看作是一個(gè)單獨(dú)的存儲(chǔ)設(shè)備。不同的分區(qū)可以根據(jù)需要,由用戶分別安裝不同的文件系統(tǒng)。通常,在每個(gè)分區(qū)中都會(huì)有一個(gè)設(shè)備目錄(DeviceDirectory)或是卷表(VolumeTable),兩者的功能都是用來記錄此分區(qū)中的所有目錄及文件信息。以Unix系列的文件系統(tǒng)為例,設(shè)備目錄用來存儲(chǔ)分區(qū)的相關(guān)信息,而在Windows中,這些信息會(huì)被記錄在卷表中。分區(qū)是指一個(gè)新的磁盤驅(qū)動(dòng)器在使用前將它劃分119分區(qū)1設(shè)備目錄FAT-32設(shè)備目錄Ext2卷表NTFS分區(qū)2磁盤一磁盤二分區(qū)3分區(qū)1設(shè)備目錄設(shè)備目錄卷表分區(qū)2磁盤一磁盤二分區(qū)3120如果要想查找到某個(gè)文件的信息,則要訪問整個(gè)設(shè)備目錄或卷表文件。為了能對(duì)文件進(jìn)行快速的存取,這就需要使用到前面介紹的文件控制塊FCB。操作系統(tǒng)會(huì)為每一個(gè)新建立的文件設(shè)立一個(gè)FCB,其中包含有這個(gè)文件的所有屬性信息。多個(gè)文件的FCB組成了一個(gè)文件目錄,通常稱為文件目錄表,而每一個(gè)FCB就是文件目錄表中的一個(gè)文件目錄項(xiàng)。文件目錄也是以“目錄文件”的形式保存的。如果要想查找到某個(gè)文件的信息,則要訪問整個(gè)1216.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄122一級(jí)目錄就是在整個(gè)計(jì)算機(jī)系統(tǒng)中只有一個(gè)目錄,所有文件均存儲(chǔ)在這個(gè)目錄下,這是目錄文件中最簡(jiǎn)單的一種形式。目錄是在一個(gè)分區(qū),也就是根目錄中,存儲(chǔ)幾個(gè)不同名稱的文件,這是最基本的一級(jí)目錄結(jié)構(gòu)。整個(gè)系統(tǒng)中只有一張文件目錄表,該系統(tǒng)下的所有文件信息均存儲(chǔ)在此表中。一級(jí)目錄就是在整個(gè)計(jì)算機(jī)系統(tǒng)中只有一個(gè)目錄,123第6章文件系統(tǒng)課件1246.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄125每個(gè)用戶將他們建立的文件存儲(chǔ)在各自目錄下,即使有相同的文件名也不會(huì)互相影響。首先在各個(gè)磁盤分區(qū),也就是根目錄中,建立不同的用戶目錄,也稱為子目錄(Sub-Directory),這些用戶的相關(guān)信息被保存在主文件目錄表中。所有用戶的文件目錄結(jié)構(gòu)相似,是由各自目錄下文件的文件控制塊FCB組成。當(dāng)用戶登錄此操作系統(tǒng)時(shí),他可以訪問的文件自然就是他的目錄中的所有文件,所以系統(tǒng)在查找用戶需要的文件時(shí),就只需尋找他的目錄下的文件。每個(gè)用戶將他們建立的文件存儲(chǔ)在各自目錄下,1266.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄127通常用戶需要按自己的方式來組織文件,也就是按照用戶的要求在自己的目錄下創(chuàng)建新的子目錄,將二級(jí)目錄結(jié)構(gòu)變?yōu)槿?jí)文件目錄,甚至四級(jí)、五級(jí)文件目錄,從而形成層次文件目錄結(jié)構(gòu),我們把這種三級(jí)以上的文件目錄結(jié)構(gòu)統(tǒng)稱為樹形目錄結(jié)構(gòu)。一個(gè)樹形目錄結(jié)構(gòu)就像一棵倒向生長(zhǎng)的有根樹,樹根是文件目錄的根目錄;用戶文件是樹的樹葉,其它子目錄是樹的非終端結(jié)點(diǎn)。由于它具有結(jié)構(gòu)的可伸縮性、文件可重名、便于實(shí)現(xiàn)文件的共享和保護(hù)等優(yōu)點(diǎn),幾乎所有的現(xiàn)代操作系統(tǒng)都采用樹形目錄結(jié)構(gòu)。路徑名是指在樹形目錄結(jié)構(gòu)中從根目錄到該文件之間的通路上,所有目錄文件名與訪問文件名,依次用“\”連接起來。通常用戶需要按自己的方式來組織文件,也就是按128第6章文件系統(tǒng)課件1296.3文件目錄

6.3.1分區(qū)與目錄6.3.2一級(jí)目錄6.3.3二級(jí)目錄6.3.4樹形目錄6.3.5無環(huán)圖目錄和通用圖目錄6.3文件目錄

6.3.1分區(qū)與目錄130在多用戶多任務(wù)操作系統(tǒng)中,文件共享是一件很重要的事,最簡(jiǎn)單的方法就是將這些必要的文件存放在某個(gè)目錄中,程序員通過各自的目錄都可連接到此共享的目錄或文件,這樣就形成了一個(gè)無環(huán)圖目錄結(jié)構(gòu),如果任何一個(gè)人修改了公用目錄中的文件,其效果便可以立即顯現(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)時(shí),可能會(huì)發(fā)生的問題就是當(dāng)用戶要建立一個(gè)符號(hào)鏈表時(shí),所要進(jìn)行鏈接的目錄可能是該鏈表所在目錄的父目錄(ParentDirectory),或是更上級(jí)的目錄。這樣一來,就破壞了原本的無環(huán)圖結(jié)構(gòu),也就形成了目錄結(jié)構(gòu)上的循環(huán),這就是通用圖目錄結(jié)構(gòu)。使用無環(huán)圖的目錄結(jié)構(gòu)時(shí),可能會(huì)發(fā)生133第6章文件系統(tǒng)課件134第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄

6.4文件系統(tǒng)的實(shí)現(xiàn)

6.5輔存空間管理第六章文件系統(tǒng)1356.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)6.4.2文件共享6.4.3文件的安全與保護(hù)

6.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)1361.建立文件⑴根據(jù)設(shè)備類型在選中的相應(yīng)設(shè)備上建立一個(gè)文件目錄,并返回一個(gè)用戶文件標(biāo)識(shí),用戶在以后的讀寫操作中可以利用此文件標(biāo)識(shí);⑵將文件名、文件屬性等數(shù)據(jù)填入文件目錄;⑶調(diào)用輔存空間管理程序?yàn)槲募峙涞谝粋€(gè)物理塊;⑷需要時(shí)發(fā)出裝卷信息;⑸在活動(dòng)中登記該文件有關(guān)信息,進(jìn)行文件定位和卷標(biāo)處理。

1.建立文件1372.打開文件⑴在內(nèi)存活動(dòng)文件表中申請(qǐng)一個(gè)空項(xiàng),用以存放該文件的文件目錄信息;⑵根據(jù)文件名查找目錄文件,將找到的文件目錄信息復(fù)制到活動(dòng)文件表占用欄;⑶若打開的是共享文件,則要做相應(yīng)處理,如使用共享文件的用戶加1;⑷文件定位,卷標(biāo)處理。2.打開文件1383.關(guān)閉文件⑴將活動(dòng)文件表中該文件的“當(dāng)前用戶”減1;若此值為0,則撤銷此目錄;⑵若活動(dòng)文件表相應(yīng)表目已被修改,則應(yīng)先將表目?jī)?nèi)容寫回文件存儲(chǔ)器上相應(yīng)表目中,以使文件目錄保存最新狀態(tài);⑶卷定位工作。3.關(guān)閉文件1394.讀/寫文件⑴按文件名從活動(dòng)文件表中找到該文件的目錄;⑵按存取控制說明檢查訪問的合法性;⑶根據(jù)文件目錄指出的該文件的邏輯和物理組織方式將邏輯記錄號(hào)或字符個(gè)數(shù)轉(zhuǎn)換成物理塊號(hào);⑷向設(shè)備管理發(fā)出I/O請(qǐng)求,完成數(shù)據(jù)傳輸操作。4.讀/寫文件1405.撤消文件

⑴若文件沒有關(guān)閉則先做關(guān)閉工作;若為共享文件則應(yīng)進(jìn)行聯(lián)訪處理;⑵在目錄文件中刪除相應(yīng)目錄項(xiàng);⑶釋放該文件占有的輔存空間。5.撤消文件1416.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)6.4.2文件共享6.4.3文件的安全與保護(hù)

6.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)142

文件共享是指多個(gè)進(jìn)程在受控的前提下共用系統(tǒng)中的一個(gè)文件,這種控制是由操作系統(tǒng)和文件的使用者共同實(shí)現(xiàn)的。操作系統(tǒng)中文件共享的形式有兩種:1.不同時(shí)使用一個(gè)文件2.同時(shí)使用一個(gè)文件存在兩種情況:(1)所有進(jìn)程都不修改所共享的文件。(2)某些進(jìn)程要求修改被共享的文件。文件共享是指多個(gè)進(jìn)程在受控的前提下共用系統(tǒng)中1436.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)6.4.2文件共享6.4.3文件的安全與保護(hù)

6.4文件系統(tǒng)的實(shí)現(xiàn)6.4.1文件系統(tǒng)調(diào)用的實(shí)現(xiàn)144最常見的方法就是定期地備份整個(gè)文件系統(tǒng)中的數(shù)據(jù),包含將重要的文件數(shù)據(jù)備份至不同的存儲(chǔ)位置,或?qū)⒄麄€(gè)磁盤備份至不同的存儲(chǔ)媒介上。另外一種則是文件訪問的權(quán)限保護(hù),也就是讀取、寫入及執(zhí)行等使用權(quán)限的設(shè)置。最常見的方法就是定期地備份整個(gè)文件系統(tǒng)中的1451.訪問權(quán)限(AccessType)文件的訪問權(quán)限就是一種最基本的文件系統(tǒng)保護(hù)機(jī)制,系統(tǒng)必須根據(jù)文件的訪問權(quán)限來操作文件。若將一個(gè)文件的訪問權(quán)限加以細(xì)分,然后再針對(duì)不同的訪問權(quán)限加以管制,這樣,對(duì)同一個(gè)文件不同的用戶就會(huì)擁有較具伸縮性的訪問權(quán)限。⑴讀取(Read);⑵寫入(Write);⑶執(zhí)行(Execute);⑷追加(Append);⑸刪除(Delete);⑹列表(List)。1.訪問權(quán)限(AccessType)1462.訪問組(AccessGroups)

為了讓整個(gè)訪問控制的問題更好解決,我們可將此問題作些修改。首先是減少訪問的方式,這樣可將整個(gè)問題簡(jiǎn)單化,因?yàn)榇蟛糠值奈募L問都可以相互參考,所以在大部分的文件系統(tǒng)中都只會(huì)針對(duì)其中的讀取(Read)、修改(Write)及執(zhí)行(Execute)進(jìn)行訪問控制,其他的訪問權(quán)限則交給文件的所有者。簡(jiǎn)化了訪問權(quán)限之后,我們便可將文件針對(duì)不同的用戶作不同的權(quán)限設(shè)置,譬如說,有些操作系統(tǒng)就提供以用戶為單位來設(shè)置權(quán)限的機(jī)制。2.訪問組(AccessGroups)147Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對(duì)于每個(gè)文件只要針對(duì)這3類用戶分別作權(quán)限設(shè)置:⑴擁有者(Owner):即建立文件的用戶。一般來說,文件的建立者都會(huì)擁有對(duì)于此文件的所有訪問權(quán)限。⑵組(Group):在操作系統(tǒng)中,可以將需要相似訪問權(quán)限的用戶歸類成不同的組,每個(gè)組中可以有多個(gè)用戶,而每個(gè)用戶也可以同時(shí)隸屬于不同的組。⑶其他(Other):除了上述兩種特別被指定的用戶之外,剩下的用戶會(huì)被歸類為其他。Unix系列的操作系統(tǒng)便將所有的用戶分成3類,對(duì)148第六章文件系統(tǒng)

6.1概述

6.2文件結(jié)構(gòu)6.3文件目錄6.4文件系統(tǒng)的實(shí)現(xiàn)

6.5輔存空間管理第六章文件系統(tǒng)1496.5輔存空間管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論