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

下載本文檔

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

文檔簡介

第5章文件管理5.1文件和文件系統(tǒng)5.2文件的存儲介質(zhì)5.3文件的存取方式5.4文件目錄5.5文件的組織5.6硬盤存儲空間的管理5.7基本文件操作及其使用5.8文件的安全性5.1文件和文件系統(tǒng)——文件

用戶作業(yè)中用到的源程序、目標程序、數(shù)據(jù)、各種語言的編譯程序都是在邏輯上獨立的具有完整意義的信息集合。我們把邏輯上具有完整意義的信息集合稱為文件。每個文件都要用一個名字作標識,稱為文件名。例如,一個源程序、一個目標程序、一批數(shù)據(jù)、一個編譯程序以及各種實用程序都可自成一個文件。每個文件可用由字符和數(shù)字組成的“字符數(shù)字串”作為文件名,如Al、BC、F2G34等。一個文件可以是一系列的二進制數(shù)、字符或記錄,它們的含義和命名都由文件的建立者定義。一個文件被命名后,就可以被獨立處理。文件系統(tǒng)在管理文件時還要識別和區(qū)分文件的類型。如果是文件系統(tǒng)所確認的文件類型,則可根據(jù)類型對文件進行合理的操作。通常,可把文件類型包含在文件名中。例如,Windows操作系統(tǒng)中的文件名由兩部分組成:文件名和擴展名,其中擴展名有“COM”(可執(zhí)行的二進制代碼文件)、“EXE”(可執(zhí)行的代碼文件、“BAT”(可執(zhí)行的批處理文件)和“SYS”(系統(tǒng)文件)等。文件的分類(按用途分類)文件的分類(按保護分類)文件的分類(按存放時限分類)文件的分類(按文件組織形式分類)文件的分類(按文件的物理結(jié)構(gòu)分類)文件的分類(按文件的邏輯存儲結(jié)構(gòu)分類)文件的分類(按文件中的數(shù)據(jù)形式分類)文件的分類(UNIX的文件類型)5.1文件和文件系統(tǒng)——文件系統(tǒng)夾文件系統(tǒng)對文件統(tǒng)一管理,目的是方便用戶且保證文件的安全可靠。面向用戶,文件系統(tǒng)主要是實現(xiàn)“按名存取”。為此,文件系統(tǒng)應(yīng)由如下一些部分組成:

(1)文件目錄文件目錄是實現(xiàn)按名存取的一種手段。對用戶要求建立的每一個新文件都要把與該文件有關(guān)的一些屬性登記在文件目錄中。用戶要求讀一個文件時,應(yīng)從文件目錄中查找指定文件是否存在,并核對是否有權(quán)使用。一個好的目錄結(jié)構(gòu)應(yīng)既能方便檢索,又能保證文件的安全。

(2)文件的組織用戶按信息的使用和處理方式來組織文件。把用戶組織好的文件保存到存儲介質(zhì)上的工作是由文件系統(tǒng)來完成的,這樣可以減輕用戶的負擔。文件系統(tǒng)要從系統(tǒng)效率和方便檢索的角度來考慮如何保存文件。通常文件在存儲介質(zhì)上可以有多種組織形式。

(3)文件存儲空間的管理把文件保存到存儲介質(zhì)上時,必須要記住哪些存儲空間已經(jīng)被占用,哪些存儲空間是空閑的。文件只能保存到空閑的存儲空間中,否則會破壞已保存的信息。當文件因沒有必要再保留而被刪除時,該文件所占的存儲空間應(yīng)成為空閑空間。

5.1文件和文件系統(tǒng)——文件系統(tǒng)(4)文件操作為了保證文件系統(tǒng)能正確地存儲和檢索文件,系統(tǒng)規(guī)定了在一個文件上可執(zhí)行的操作,這些可執(zhí)行的操作統(tǒng)稱為文件操作。文件系統(tǒng)提供的基本文件操作有建立文件、打開文件、讀文件、寫文件、關(guān)閉文件和刪除文件等。文件操作是文件系統(tǒng)提供給用戶使用文件的一組接口。用戶調(diào)用文件操作提出對文件的使用要求。(5)文件的安全措施在多道程序設(shè)計系統(tǒng)中,有些文件是可以共享的,如編譯程序、庫文件。實現(xiàn)文件共享既可節(jié)省文件的存放空間,又可減少傳送文件的時間,但必須對文件采取安全保護措施。既要防止有意或無意地破壞文件,又要不讓他人剽竊文件。5.2文件的存儲介質(zhì)用來記錄信息的磁帶、硬磁盤組、軟磁盤片、光盤、卡片等稱為存儲介質(zhì)。目前大量使用的文件存儲介質(zhì)是磁盤和磁帶。

卷和塊:

存儲介質(zhì)的物理單位為“卷”,如一盤磁帶、一張軟盤、一個磁盤組都可以稱為一個卷。根據(jù)卷中的文件數(shù),可分為單文件卷、多文件卷、多卷文件和多卷多文件。存儲介質(zhì)上由連續(xù)的信息所組成的區(qū)域稱為塊,塊是存儲設(shè)備與主存儲器之間進行信息交換的物理單位。一般情況下,塊的長度在32~4096B之間。在MS_DOS和UNIX系統(tǒng)中,磁盤塊的長度均為512B。如圖為磁帶上塊的劃分示意。5.2文件的存儲介質(zhì)

磁盤機是一種按地址直接存取的存儲設(shè)備。它把信息記錄在盤片上。每個盤片有正反兩面。若干個盤片可組成一個盤組。盤組中的盤片都被固定在一根軸上,沿一個方向高速旋轉(zhuǎn)。每個盤面有一個讀寫磁頭。所有的讀寫磁頭都被固定在唯一的移動臂上同時移動。把所有的讀寫磁頭按從上到下的次序進行編號,稱其為磁頭號。在磁頭位置下的各個盤面上的磁道在同一個圓柱面上,我們稱這些磁道組成了一個柱面。每個盤面上有許多磁道,按由外向里的順序編號。移動臂可移動讀寫磁頭訪問所有的磁道。當移動臂移到某一位置時,所有的讀寫磁頭都在同一柱面上,我們把盤面上磁道的編號作為柱面號。每個盤面被劃分成若干相等的扇區(qū),每個扇區(qū)中的各個磁道都是圖5—12盤組結(jié)構(gòu)示意可存放相等字節(jié)數(shù)的一個塊,沿與磁盤旋轉(zhuǎn)相反的方向給各扇區(qū)編號,稱為扇區(qū)號。所以,磁盤存儲空間中的每一塊的位置可以由三個參數(shù)決定,它們是柱面號、磁頭號、扇區(qū)號。每個參數(shù)均從“O”開始編號。為了減少移動臂移動花費的時間,存放信息時,不是按盤面上的磁道順序存放滿一個盤面后再存放到下一個盤面上,而是按柱面存放,同一柱面上的磁道放滿后,再放到下一個柱面上。存取信息時按給定的柱面號、磁頭號、扇區(qū)號,先由磁盤機根據(jù)柱面號控制移動臂做機械的橫向運動,帶動所有的讀寫磁頭到達指定柱面,由于每次只允許一個磁頭進行讀或?qū)?,所以必須再按磁頭號確定信息所在的盤面,然后等到待訪問的扇區(qū)旋轉(zhuǎn)到讀寫磁頭下時,由指定的磁頭進行存取。5.2文件的存儲介質(zhì)5.3文件的存取方式

從對文件信息的存取次序考慮,存取方式可以分成兩種:順序存取和隨機存取。

順序存取是指對文件中的信息按順序依次進行讀寫的存取方式。

隨機存取是指對文件按任意的次序隨機地讀寫的存取方式。采用哪種存取方式,主要取決于兩個方面的因素:

(1)與文件的使用方式有關(guān)文件的性質(zhì)決定了文件的使用,也就決定了存取方式的選擇。例如,一個源程序文件,它由一連串的順序字符組成,編譯程序在對源程序進行編譯時,必須按字符順序進行存取。又如,要對一個文件進行編輯時,也總是按照順序存取的方式進行。但是對于數(shù)據(jù)庫的訪問,經(jīng)常要采取隨機存取方式。例如,對于職工的工資文件、學(xué)生成績檔案文件等,應(yīng)允許方便地查找任何一個職工的工資情況和任何一個學(xué)生的學(xué)習(xí)成績。于是應(yīng)選擇隨機存取方式。

5.3文件的存取方式(2)與存儲介質(zhì)的特性有關(guān)目前常用的存儲設(shè)備是磁帶機和磁盤機。磁帶機是一種適合順序存取的存儲設(shè)備。它總是從磁頭的當前位置開始讀寫磁帶上的信息。當磁頭讀了第i塊的信息后,走過其后的間隙就到達了第i+1塊的位置。當磁帶機繼續(xù)工作時,一定是讀寫第H一1塊的信息。所以對存儲在磁帶上的文件,一般均采用順序存取的方式。如果想隨機地讀磁帶上的某一塊信息,則必須讓磁頭先定位到磁帶的始端,然后才能正確定位到指定塊的位置。例如,為了讀第100塊上的信息,就必須讓磁頭從頭開始走過99個間隙,才能讀到第100塊上的信息。這樣花費在定位上的時間就非常多,影響系統(tǒng)效率。因此對組織在磁帶上的文件很少采用隨機存取方式。磁盤機是一種可按指定的塊地址進行信息存取的設(shè)備。磁盤機上的每一個塊都有確定的位置和一個唯一的地址。磁盤機能根據(jù)給定的地址帶動讀寫磁頭到達指定的柱面后,讓搟定的磁頭存取指定扇區(qū)上的信息。所以磁盤機能隨機讀寫磁盤機上任何一塊的信息,具有隨機存取功能。于是對存儲在磁盤上的文件,既可采取順序存取方式,又可采用隨機存取方式。但是在建立文件時,應(yīng)定義好存取方式,使用文件時必須與定義好的存取方式一致。5.4文件目錄文件目錄用于檢索文件的,它是文件系統(tǒng)實現(xiàn)按名存取的重要手段。文件目錄由若干目錄項組成,每一個目錄項記錄一個文件的有關(guān)的信息。一般來說,目錄項應(yīng)包含如下內(nèi)容:(1)有關(guān)文件存取控制的信息例如,用戶名,文件名,文件的類型,文件屬性(可讀寫、只能讀、只可執(zhí)行等)。(2)有關(guān)文件結(jié)構(gòu)的信息

例如,文件的邏輯結(jié)構(gòu),文件的物理結(jié)構(gòu),記錄個數(shù),文件在存儲介質(zhì)上位置。(3)有關(guān)文件管理的信息

例如,文件的建立日期,文件被修改的日期,文件保留期限,記賬信息。有了文件目錄后,當用戶要求使用某個文件時,文件系統(tǒng)順序查找目錄項并比較文件名,就可找到指定文件的目錄項,根據(jù)該目錄項中給出的有關(guān)信息可對使用權(quán)限等工作進行核對,并讀出文件供用戶使用。因此,文件目錄的組織和管理應(yīng)便于檢索和防止沖突。

5.4文件目錄——一級目錄一級目錄是最簡單的文件目錄結(jié)構(gòu)。這種目錄結(jié)構(gòu)是把一卷存儲介質(zhì)上的所有文件都登記在一個文件目錄中。一級目錄結(jié)構(gòu)簡單,管理方便。每當建立一個新文件時,就在文件目錄中增加一個目錄項。每當刪去一個文件時,就在文件目錄中抹去該文件的目錄項。一級目錄結(jié)構(gòu)要求在文件目錄中登記的各個文件都有不同的文件名。如果有重名,則在進行按名存取時就可能出錯。對一個用戶來說,當要為一個新文件命名時,必須記住原有文件的文件名,對自己的所有文件都應(yīng)定義成不同的文件名。一個用戶是可以做到將自己的所有文件都定義成不同的名字,但在多道程序設(shè)計系統(tǒng)中,若要求所有的用戶定義的文件名都不相同是很困難的。所以一級目錄結(jié)構(gòu)一般只適用于微型計算機的單用戶系統(tǒng)。5.4文件目錄——二級目錄結(jié)構(gòu)

一級目錄的主要問題是:當不同的用戶定義了相同的文件名時,會引起文件的混淆。解決重名問題的一種辦法是采用二級目錄結(jié)構(gòu)或多級目錄結(jié)構(gòu)。二級目錄結(jié)構(gòu)是為每個用戶設(shè)置一張目錄表,稱為用戶文件目錄。用戶文件目錄為本用戶的每一個文件設(shè)置一個目錄項。再用一張總的目錄表來登記各個用戶的目錄表存放地址,這張總的目錄表稱為主文件目錄。當用戶需要訪問某個文件時,系統(tǒng)根據(jù)用戶名從主文件目錄中找出該用戶的文件目錄的存放地址,然后根據(jù)該地址找到該用戶的文件目錄,再按指定的文件名查這張用戶文件目錄表,從用戶文件目錄表中找出對應(yīng)的目錄項就可找到文件存放的物理位置。5.4文件目錄——二級目錄結(jié)構(gòu)示意圖5.4文件目錄——樹型目錄結(jié)構(gòu)

有的文件系統(tǒng)允許用戶為自己的不同類型的文件建立子目錄,再把子目錄登記在用戶文件目錄中。同樣地,又可把子目錄中的文件細分后建立再下一級的目錄。這樣就逐漸形成了多層次的目錄,稱為多級目錄結(jié)構(gòu)。在UNIX系統(tǒng)和Windows系統(tǒng)中都采用了多級目錄結(jié)構(gòu)。這種目錄結(jié)構(gòu)像一棵倒置的有根樹,故也稱為樹形目錄結(jié)構(gòu)。在樹形目錄結(jié)構(gòu)中,每一個節(jié)點都是一個目錄或一個文件,主文件目錄是樹根,常常稱它為根目錄。允許用戶在根目錄下建立子目錄和組織文件,子目錄可以是多層次的,就像是樹枝。最末一個節(jié)點是文件就像是樹葉。

在樹形目錄結(jié)構(gòu)中,根目錄或子目錄中的目錄項可能指向文件,也可能指向下一級子目錄。由于每個目錄項都有相同的形式,那么怎樣才能區(qū)分出它指向的是文件還是子目錄呢?這可以在目錄項中設(shè)置一個二進制位,用該位的值O或1來區(qū)分所指向的是文件還是子目錄。5.4文件目錄——樹型目錄結(jié)構(gòu)5.4文件目錄——樹型目錄結(jié)構(gòu)

在樹形目錄結(jié)構(gòu)中,每一個文件都有一個從根到葉的路徑。要訪問一個文件時,必須指出文件所在的路徑名。路徑名可以由從根目錄開始到該文件的通路上所有各級子目錄名及該文件名順序拼起來組成,各子目錄名與文件名之間用“\”隔開,稱為絕對路徑。例如,在上圖結(jié)構(gòu)中,訪問文件f1和f7時的絕對路徑名分別為:\A\A1\f1和\C\C1\C12\f7。但每次都從根目錄開始搜索文件需耗費很多時間。事實上,用戶在一段時間內(nèi)會經(jīng)常訪問一個子目錄下的文件,因此在采用樹形目錄結(jié)構(gòu)的系統(tǒng)中引入了當前目錄的概念。每個用戶都可把某級目錄設(shè)置為當前工作目錄。當要訪問文件時,就可從當前目錄開始設(shè)置路徑,稱為相對路徑。用相對路徑可縮短搜索路徑,提高搜索速度。例如,當前目錄是C1,則要訪問文件f7時可用如下的相對路徑:C1\C12\f7

用戶總是使用指定的路徑名請求存取文件。如果文件就在當前目錄中,則存取文件時只需要指出文件名,文件系統(tǒng)就在當前目錄中尋找該文件。如果文件不在當前目錄中,但在當前目錄的下級目錄中,則可用相對路徑指定文件,文件系統(tǒng)就從當前目錄開始沿著指定的路徑名檢索各級目錄,從而確定文件所在的物理位置。5.4文件目錄——文件目錄的管理

文件系統(tǒng)要管理許多用戶的大量文件,因此系統(tǒng)中的文件目錄也很龐大。如果把文件目錄都存放在主存儲器中,則會占去大量的主存空間。事實上,任何一個用戶在一段時間里只使用少數(shù)文件,故可以只把當前正在使用的文件目錄存放在主存儲器中。由于文件目錄也是在邏輯上有完整意義的信息集合,因此為了對文件目錄進行管理,通常把文件目錄也作為文件保存在存儲介質(zhì)上。由文件目錄組成的文件稱為目錄文件。目錄文件可以像其他文件一樣進行讀寫等處理。當需要時可把目錄文件中的有關(guān)文件目錄讀到主存儲器進行檢索或修改,也可把主存儲器中的文件目錄寫回到存儲介質(zhì)上的目錄文件中。所以文件系統(tǒng)可以根據(jù)用戶的要求從目錄文件中找出用戶的當前目錄,把當前目錄讀入主存儲器。這樣既不占用太多的主存空間,又可減少搜索目錄的時間。5.5文件的組織

文件的組織是指文件的構(gòu)造方式。由用戶構(gòu)造的文件稱為文件的邏輯結(jié)構(gòu)(或稱邏輯文件),存儲介質(zhì)上的文件構(gòu)造方式稱為文件的物理結(jié)構(gòu)(或稱物理文件)。用戶按邏輯結(jié)構(gòu)使用文件,文件系統(tǒng)按物理結(jié)構(gòu)管理文件。當用戶請求讀寫文件時,文件系統(tǒng)必須實現(xiàn)文件的邏輯結(jié)構(gòu)與物理結(jié)構(gòu)之間的轉(zhuǎn)換。5.5文件的組織——文件的邏輯結(jié)構(gòu)

(1)流式文件流式文件是指用戶對文件內(nèi)的信息不再劃分可獨立的單位,整個文件是由依次的一串信息組成。

(2)記錄式文件記錄式文件是由若干個邏輯記錄組成的文件。邏輯記錄是用戶對文件內(nèi)的信息按邏輯上獨立的含義再劃分后的信息單位,簡稱記錄。一個邏輯文件由若干個邏輯記錄組成,每個邏輯記錄又由若干個數(shù)據(jù)項組成。但在記錄式文件中,邏輯記錄(而不是數(shù)據(jù)項)是文件內(nèi)可以獨立存取的最小信息單位。為正確和快速地存取邏輯記錄,可把記錄中的數(shù)據(jù)項設(shè)置為主鍵和次鍵,能惟一地標志某個邏輯記錄的數(shù)據(jù)項稱為記錄的主鍵,其他數(shù)據(jù)項都稱做次鍵。5.5文件的組織——文件的存儲結(jié)構(gòu)

文件的物理結(jié)構(gòu)和存儲設(shè)備的類型與用戶采用的存取方式有關(guān)。把存放在存儲介質(zhì)上的文件稱為物理文件。目前,用戶主要采用磁盤與磁帶存取文件。因此,我們將專門討論記錄文件在磁帶和磁盤上的組織結(jié)構(gòu)。(1)磁帶上文件的組織形式5.5文件的組織——磁盤文件的組織(1)順序結(jié)構(gòu)順序結(jié)構(gòu)把一個文件邏輯上連續(xù)的信息存放到磁盤上相鄰的塊中,或者說,順序結(jié)構(gòu)是一種邏輯記錄順序與磁盤塊的順序相一致的文件結(jié)構(gòu)。具有順序結(jié)構(gòu)的文件稱為順序文件或連續(xù)文件。采用順序結(jié)構(gòu)的文件順序存取時速度比較快,但不適用于隨機存取。采用順序結(jié)構(gòu)時存在一些問題:磁盤存儲空間利用率不高,對輸出到磁盤上的文件很難估計需要分配多少個連續(xù)的磁盤塊,且影響文件的擴展。5.5文件的組織——磁盤文件的組織(2)鏈接結(jié)構(gòu)把順序的邏輯記錄存放在不連續(xù)的磁盤塊上,并用指針把這些磁盤塊按邏輯記錄的順序鏈接起來,便形成文件的鏈接結(jié)構(gòu)。具有這種結(jié)構(gòu)的文件稱為鏈接文件或串聯(lián)文件。鏈接結(jié)構(gòu)解決了順序結(jié)構(gòu)中存在的問題。采用順序存取時,鏈接結(jié)構(gòu)的效率很高,但采用隨機存取則效率很低。

鏈接結(jié)構(gòu)的特點是每個磁盤塊中必須留出若干單元用來存放磁盤塊之間的鏈接指針。文件信息占用的第一個磁盤塊的塊號登記在文件目錄中,鏈接結(jié)構(gòu)中每個磁盤塊中的鏈接指針指出了文件信息存放的下一個磁盤塊的塊號。通常,當某塊中鏈接指針為“O”時,表示文件信息至本塊結(jié)束。圖5—8指出了文件的鏈接結(jié)構(gòu)。5.5文件的組織——磁盤文件的組織(鏈接結(jié)構(gòu))5.5文件的組織——磁盤文件的組織(鏈接結(jié)構(gòu))5.5文件的組織——磁盤文件的組織(索引結(jié)構(gòu))

索引結(jié)構(gòu)為每個文件建立一張索引表,并把指示每個邏輯記錄存放位置的指針集中在索引表中。采用索引結(jié)構(gòu)的文件稱為索引文件。索引結(jié)構(gòu)既適合順序存取記錄,又可方便地按任意次序隨機地存取記錄,且容易實現(xiàn)記錄的增、刪和插入。但是,采用索引結(jié)構(gòu)將會增加索引表占用的空間和讀寫索引表的時間。5.5文件的組織5.5文件的組織——記錄的成組與分解邏輯記錄的大小往往與存儲介質(zhì)分塊的大小不一致,因此,當邏輯記錄比塊長小得多時,一個塊中僅放一個記錄就會造成空間的浪費,為此可采用記錄成組和分解技術(shù)解決這個問題。

1.記錄的成組把若干個邏輯記錄合成一組存人一個塊中的工作稱為記錄的成組,每個塊中的邏輯記錄個數(shù)稱為“塊因子”。進行成組操作時必須使用主存緩沖區(qū),緩沖區(qū)的長度等于最大邏輯記錄長度乘以成組的塊因子。記錄的成組不僅可以提高存儲空間的利用率,而且還可以減少啟動外設(shè)的次數(shù),提高系統(tǒng)的工作效率。在記錄式文件中,若每個記錄的長度一致,則這種記錄格式就稱為定長記錄格式;若記錄長度不相同,則稱為變長記錄格式。在實現(xiàn)記錄成組時,需要在文件目錄或記錄塊中說明記錄的長度和塊因子信息。

2.記錄的分解從一組邏輯記錄中把一個邏輯記錄分離出來的操作稱為記錄的分解。記錄的成組和分解都要付出一定的代價,即要設(shè)立主存緩沖區(qū),并在操作系統(tǒng)中增加成組和分解操作的功能。5.5文件的組織——記錄的成組與分解示例

假設(shè)磁帶的記錄密度為1600bpi(字節(jié)/英寸),每個邏輯記錄長為200B,塊與塊之間的間隔為O.5英寸,請回答下列問題:①不采用成組操作時,磁帶空間的利用率是多少?②采用塊因子6作成組操作時,磁帶空間的利用率為百分之幾?③為了使磁帶空間的利用率大于80%,采用記錄成組時其塊因子至少為多少?

①間隔=1600×0.5=800(字符)200÷(200+800)=20%這說明不采用成組操作時磁帶空間的利用率為20%。②(200×6)÷(200×6+800)=60%采用成組操作時磁帶空間的利用率為60%。③設(shè)塊因子為X,則200X÷(200X+800)>O.8250X>200X+80050X>800

X>16說明塊因子至少為17。5.6磁盤空間的存儲管理

文件系統(tǒng)對磁盤空間進行管理,當用戶存儲文件時就要為文件分配空間,當用戶刪除文件時又要回收文件占用的存儲空間。實現(xiàn)存儲空間的分配和回收取決于空閑塊的管理方法。常用的管理方法有位示圖、空閑塊表和空閑塊鏈。

1、位示圖位示圖中的每一位與一個磁盤塊相對應(yīng),指示磁盤空間的使用情況。一般情況下,位示圖中的“1”表示相應(yīng)塊已被占用;“0”表示對應(yīng)塊是空閑塊。磁盤空間的塊數(shù)=每盤面扇區(qū)數(shù)×每柱面磁道數(shù)×柱面數(shù)位示圖常用若干字組成,假設(shè)字長為n位,由m個字組成位示圖,則:

m×n=磁盤空間的塊數(shù)

5.6磁盤空間的存儲管理——位示圖法

假定一個盤組共有l(wèi)00個柱面,編號為O~99。每個柱面上有8個磁道,編號為0~7。每個盤面分成4個扇區(qū),編號為O~3。則整個磁盤空間共有4×8×100=3200個存儲塊。如果用字長為32位的字來構(gòu)造位示圖,共需100個字,如圖所示:第i個字的第j位對應(yīng)的塊號為:塊號=i×32(字長)+j5.6磁盤空間的存儲管理——位示圖法確定空閑塊地址的通用公式為:

塊號=字號×字長+位號柱面號=[塊號/柱面上的塊數(shù)]

磁頭號=[(塊號mod柱面上的塊數(shù))/盤面上的扇區(qū)數(shù)]

扇區(qū)號=(塊號mod柱面上的塊數(shù))mod盤面上的扇區(qū)數(shù)歸還一塊時,尋找位示圖中位置的通用公式為:塊號=柱面號×柱面上的塊數(shù)+磁頭號×盤面上的扇區(qū)數(shù)+扇區(qū)號字號=[塊號/字長]

位號=塊號mod字長5.6磁盤空間的存儲管理——位示圖法示例假設(shè)一個磁盤組共有100個柱面,每柱面有8個磁道,每個盤面被分成4個扇區(qū)。若邏輯記錄的大小與扇區(qū)大小一致,柱面、磁道和扇區(qū)的編號均從“O”開始,現(xiàn)用字長為16位的200個字(第0字~第199字)組成位示圖來指示磁盤空間的使用情況。請問:①文件系統(tǒng)發(fā)現(xiàn)位示圖中第15字第7位為O而準備分配給某一記錄時,該記錄會存放到磁盤的哪一塊上?此塊的物理位置(柱面號、磁頭號和扇區(qū)號)如何?②刪除文件時要歸還存儲空間,第56柱面第6磁道第3扇區(qū)的塊就變成了空閑塊,此時,位示圖中第幾字第幾位應(yīng)由1改為O?5.6磁盤空間的存儲管理——位示圖法示例5.6磁盤空間的存儲管理——空閑塊表法系統(tǒng)為每個磁盤建立一張空閑塊表,表中每個登記項記錄一組連續(xù)空閑塊的首塊號和塊數(shù)??臻e塊數(shù)為“0”的登記項為無效登記項。這種管理方式適合采用順序結(jié)構(gòu)的文件。存儲文件時從空閑塊表中找一組連續(xù)的空閑塊,刪除文件時把歸還的一組連續(xù)塊登記到空閑塊表中??臻e塊的分配和回收算法類似主存儲器的可變分區(qū)管理方式中采用的最先適應(yīng)、最優(yōu)適應(yīng)和最壞適應(yīng)算法。同樣地,對分配和歸還的塊要進行塊號與柱面號、磁頭號、扇區(qū)號之間的換算。5.6磁盤空間的存儲管理——空閑塊鏈法

把所有的磁盤空閑塊用指針連接在一起構(gòu)成空閑塊鏈。分配空間時從鏈中取出空閑塊,歸還空間時把歸還塊加入到鏈中。這種管理方式不需要外加專門記錄空閑塊分配情況的表格。

對磁盤空閑塊可用單塊連接法連接起來。每一個空閑塊中都設(shè)置一個指向另一個空閑塊的指針,最后一個空閑塊中的指針為“0”。這樣,所有空閑塊就構(gòu)成了一個空閑塊鏈。系統(tǒng)設(shè)置一個鏈首指針,指向鏈中的第一個空閑塊。分配一塊時,根據(jù)鏈首指針把鏈頭的一塊分配給申請者,并修改鏈首指針,使其指向后繼的空閑塊。歸還一塊時,把歸還塊加入到鏈頭,并使鏈首指針指向歸還塊。這種方法效率較低,每分配一塊時都要啟動磁盤讀出空閑塊后才能取得其中的指針,把該指針作為鏈首指針。每歸還一塊時也要啟動磁盤把原鏈首指針寫到歸還塊中,新鏈首指針指向歸還塊。為了分配或回收一塊,增加了啟動磁盤進行讀寫的工作,這是非常麻煩和費時的。作為改進,可把空閑塊分成若干組,把指向一組中各空閑塊的指針集中在一起,這樣既可方便查找,又可減少為修改指針而啟動磁盤的次數(shù)。UNIX系統(tǒng)就是采用空閑塊成組連接的方法。5.7基本文件操作及其使用——基本操作用戶可以通過訪管指令調(diào)用文件操作功能模塊,實現(xiàn)對文件的存取要求。(1)建立文件在用戶把一個新文件存放到存儲介質(zhì)上之前,首先要調(diào)用文件系統(tǒng)的“建立文件”操作。(2)打開文件用戶要求使用已經(jīng)存放在存儲介質(zhì)上的文件時,首先要調(diào)用文件系統(tǒng)的打開文件操作,該操作將在系統(tǒng)設(shè)置的“已打開文件表

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論