




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第七章文件管理7.1文件和文件系統7.2文件的邏輯結構7.3文件目錄7.4文件共享7.5文件保護7.1文件和文件系統7.1.1文件、記錄和數據項1.數據項——最低級的數據組織形式
(1)基本數據項。這是用于描述一個對象的某種屬性的字符集,是數據組織中可以命名的最小邏輯數據單位,又稱為數據元素或字段。例如,用于描述一個學生的基本數據項有:學號、姓名、年齡、所在班級等。
(2)組合數據項。它是由若干個基本數據項組成的,簡稱組項。如,經理,它由正經理和副經理兩個基本項組成。基本數據項除了數據名外,還應有數據類型。由數據項的名字和類型兩者共同定義了一個數據項的“型”。而表征一個實體在數據項上的數據則稱為“值”。例如,學號/30211、姓名/王有年、性別/男等。2.記錄記錄是一組相關數據項的集合,用于描述一個對象在某方面的屬性。例如,一個學生,當把他作為班上的一名學生時,對他的描述應使用學號、姓名、年齡及所在系班,也可能還包括他所學過的課程的名稱、成績等數據項。還可以給每個記錄設置關鍵字。3.文件
文件——指由創建者所定義的、具有文件名的一組相關元素的集合。(最大的數據單位)
分類——有結構文件(有若干相關記錄組成)無結構文件(被看做一個字符流)
組成——文件名(一串ASCII碼或(和)漢字構成)文件屬性(類型、大小、位置、創建時間等)1.文件名和擴展名(1)文件名
不同的操作系統,對文件名的規定不同。(2)擴展名
又稱后綴名,用于指示文件類型。2.文件類型(1)按用途分類(系統文件、用戶文件、庫文件)(2)按文件中的數據形式分類(源文件、目標文件、可執行文件)(3)按存取控制屬性分類(只執行文件、只讀文件、可讀寫文件)(4)按組織形式和系統對其處理方式的不同分類(普通文件、目錄文件、
特殊文件)
7.1.2文件名和類型和文件系統模型7.1.3文件系統的層次結構1.對象及其屬性①文件②目錄③磁盤(磁帶)存儲空間圖7-2文件系統模型2.對對象操縱和管理的軟件集合這是文件管理系統的核心部分。對文件存儲空間的管理、對文件目錄的管理、用于將文件的邏輯地址轉換為物理地址的機制、對文件讀和寫的管理,以及對文件的共享與保護等功能。
3.文件系統的接口
(1)命令接口。
(2)程序接口。7.1.3文件操作(P225)創建文件。(2)刪除文件。(3)讀文件。1.最基本的文件操作(4)寫文件。(5)設置文件的讀/寫位置。2.文件的“打開”和“關閉”操作
打開(Open)——指系統將指名文件的屬性(包括該文件在外存上的物理位置)從外存拷貝到內存打開文件表的一個表目中,并將該表目的編號(或稱為索引)返回給用戶。
關閉(Close)——不再需要時,可利用“關閉”(close)系統調用來關閉此文件,OS將會把該文件從打開文件表中的表目上刪除掉。3.其它文件操作為了方便用戶使用文件,OS都提供了數條有關文件操作的系統調用。
一類是有關對文件屬性進行操作的
另一類是有關目錄的
用于實現文件共享的系統調用用于對文件系統進行操作的系統調用等。
文件結構的兩種形式:邏輯結構——是從用戶的觀點出發所觀察到的文件組織形式,是用戶可以直接處理的數據及其結構。物理結構——又稱文件的存儲結構,指文件在外存上的存儲組織形式,不僅與存儲介質的性能有關,而且與所采用的外存分配方式有關。7.2文件的邏輯結構7.2.1文件邏輯結構的類型1.按文件是否有結構分類1)有結構文件(一個以上的記錄構成的文件,記錄式文件)(1)定長記錄(各記錄長度相等,數據項位置相同,順序、長度均相同)(2)變長記錄(各記錄長度不相等)2)無結構文件(流式文件、長度以字節為單位)如:大量的源程序、可執行文件、庫函數等,所采用的就是無結構的文件形式,對流式文件的訪問,則是采用讀寫指針來指出下一個要訪問的字符。2.按文件的組織方式分類(針對有結構文件)
(1)順序文件
(2)索引文件
(3)索引順序文件7.2.2順序文件的存取方法1.順序文件的排列方式(1)串結構,按存入時間的先后排列,各記錄之間的順序與關鍵字無關。(2)順序結構,指文件中的所有記錄按關鍵字(詞)排列。2.順序文件的優缺點
優點:批量存取,存取效率是所有邏輯文件中最高的;此外,也只有順序文件才能存儲在磁帶上,并能有效地工作。缺點:在交互應用的場合,如果用戶(程序)要求查找或修改單個記錄,為此系統便要去逐個地查找諸記錄。這時,順序文件所表現出來的性能就可能很差;另外,增加、刪除一條記錄需要移動大量記錄、效率低。7.2.3記錄尋址1.隱式尋址方式(順序訪問)定長記錄:讀指針rptr——指向下一次讀出的記錄地址;寫指針wptr——指向下一次寫入的記錄地址。讀完指針做相應修改:rptr+L=>rptr
寫完指針做相應修改:wptr+L=>wptr變長記錄:每個記錄長度(Li)存于記錄前的單元中,長度為1,讀完時rptr+Li+1=>rptr111iL圖7-3定長和變長記錄文件2.顯示尋址方式(隨機訪問或直接訪問)(1)通過文件中記錄的位置對于定長記錄文件,如果要查找第i個記錄,可直接根據下式計算來獲得第i個記錄相對于第一個記錄首址的地址(可方便實現直接存取):
Ai=i×L
然而,對于可變長度記錄的文件,要查找其第i個記錄時,假定在每個記錄前用一個字節指明該記錄的長度,則(2)利用關鍵字圖7-4索引文件7.2.4索引文件(最廣泛的一種文件形式)
對索引文件(按關鍵字有序)的檢索:先根據用戶提供的關鍵字,折半查找。有較快的檢索速度、可方便實現直接存取。1.按關鍵字建立索引2.具有多個索引表的索引文件
適應不同用戶按照不同的屬性進行檢索。3.索引文件的優缺點1)優點:(1)改順序訪問的文件為隨機訪問的文件,提高的對文件的檢索速度。(2)插入、刪除方便。2)缺點:須配置一張索引表,因此增加了存儲開銷。7.2.5索引順序文件1.索引順序文件的特征
(1)按關鍵字有序
(2)能隨機訪問
(3)便于記錄的刪除和插入
(4)引入文件索引表
(5)增加了溢出(overflow)文件,用它來記錄新增加的、刪除的和修改的記錄。2.一級索引順序文件圖7-5索引順序文件3.兩級索引順序文件
對于一個非常大的文件,例如,對于一個含有106個記錄的順序文件,當把它作為索引順序文件時,為找到一個記錄,平均須查找1000個記錄。為了進一步提高檢索效率,可以為順序文件建立多級索引,即為索引文件再建立一張索引表,從而形成兩級索引表。
7.2.6
直接文件和哈希文件1.直接文件
對于直接文件,則可根據給定的記錄鍵值,直接獲得指定記錄的物理地址。這種由記錄鍵值到記錄物理地址的轉換被稱為鍵值轉換(Keytoaddresstransformation)。組織直接文件的關鍵,在于用什么方法進行從記錄值到物理地址的轉換。2.哈希(Hash)文件(最廣泛的一種直接文件)圖7-6Hash文件的邏輯結構A=H(K)它利用Hash函數(或稱散列函數),可將記錄鍵值轉換為相應記錄的地址。但為了能實現文件存儲空間的動態分配,通常由Hash函數所求得的并非是相應記錄的地址,而是指向一目錄表相應表目的指針,該表目的內容指向相應記錄所在的物理塊。文件目錄:是文件系統中主要數據結構之一,用于標識系統中的文件及其物理地址,供檢索時使用。7.3
文件目錄對目錄管理的要求如下:實現“按名存取”。(2)提高對目錄的檢索速度。(3)文件共享。(4)允許文件重名。1.文件控制塊FCB
文件控制塊是操作系統為管理文件而設置的數據結構,存放了為管理文件所需的所有有關信息。文件控制塊是文件存在的標志。7.3.1文件控制塊和索引結點文件控制塊、文件目錄、目錄文件的關系圖7-7MS-DOS的文件控制塊文件名1物理位置邏輯結構物理結構存取控制信息使用信息文件名2物理位置邏輯結構物理結構存取控制信息使用信息文件名3物理位置邏輯結構物理結構存取控制信息使用信息文件名4物理位置邏輯結構物理結構存取控制信息使用信息………………文件名n物理位置邏輯結構物理結構存取控制信息使用信息FCB文件目錄以文件的形式存入磁盤目錄文件
2.索引結點
1)索引結點的引入文件目錄通常是存放在磁盤上的,當文件很多時,文件目錄可能要占用大量的盤塊。查找僅涉及文件的文件名;當文件名匹配成功時才涉及FCB中的其他信息。檢索效率低。如一個FCB為64B,盤塊大小為1KB,則每個盤塊中只能存放16個FCB;若一個文件目錄中共有640個FCB,需占用40個盤塊,故平均查找一個文件需啟動磁盤20次。
查找只與文件名有關,與FCB中其他向無關,為此,UNIX系統中,將文件名與文件描述信息分開的辦法。使文件描述信息單獨形成一個稱為索引結點的數據結構,簡稱為i結點。在文件目錄中的每個目錄項僅由文件名和指向該文件所對應的i結點的指針所構成。圖7-8UNIX的文件目錄文件名索引結點編號文件名1文件名2……
在UNIX系統中一個目錄僅占16個字節,其中14個字節是文件名,2個字節為i結點指針。在1KB的盤塊中可做64個目錄項,這樣,可使平均啟動磁盤次數減少到原來的1/4,大大節省了系統開銷。2)磁盤索引結點
(1)文件主標識符,即擁有該文件的個人或小組的標識符。
(2)文件類型,包括正規文件、目錄文件或特別文件。
(3)文件存取權限,指各類用戶對該文件的存取權限。
(4)文件物理地址,每一個索引結點中含有13個地址項,即iaddr(0)~iaddr(12),它們以直接或間接方式給出數據文件所在盤塊的編號。
(5)文件長度,指以字節為單位的文件長度。
(6)文件連接計數,表明在本文件系統中所有指向該(文件的)文件名的指針計數。
(7)文件存取時間,指本文件最近被進程存取的時間、最近被修改的時間及索引結點最近被修改的時間。
3)內存索引結點文件打開時,將磁盤索引結點拷貝到內存的索引結點中。在內存索引結點中又增加了以下內容:
(1)索引結點編號,用于標識內存索引結點。
(2)狀態,指示i結點是否上鎖或被修改。
(3)訪問計數,每當有一進程要訪問此i結點時,將該訪問計數加1,訪問完再減1。
(4)文件所屬文件系統的邏輯設備號。
(5)鏈接指針。設置有分別指向空閑鏈表和散列隊列的指針。1.單級文件目錄文件名物理地址文件說明狀態位文件名1該目錄項是否空閑文件名2…圖7-9單級文件目錄
在整個文件系統中只建立一張目錄表,每個文件占一個目錄項。7.3.2簡單的文件目錄
單級目錄的優點:
(1)簡單;(2)實現按名存取。
單級目錄的缺點:
(1)查找速度慢。
(2)不允許重名。
(3)不便于實現文件共享
為改變一級目錄文件目錄命名沖突,并提高對目錄文件檢索速度而將目錄分為兩級:
一級稱為主文件目錄(MFD),每個用戶目錄占一個目錄項
二級稱為用戶文件目錄(UFD):由該用戶所有文件的文件控制塊組成。產生于多用戶分時系統,DOS2.0版本以上采用。2.兩級目錄2.兩級目錄圖7-10
兩級目錄結構
兩級目錄結構基本上克服了單級目錄的缺點,并具有以下優點:
(1)提高了檢索目錄的速度。
(2)在不同的用戶目錄中,可以使用相同的文件名。
(3)不同用戶還可使用不同的文件名來訪問系統中的同一個共享文件。存在的問題:該結構能有效地將多個用戶隔開,但這種隔離會使諸用戶之間不便于共享文件,不利于用戶間的合作。7.3.3樹形結構目錄(P236)1.樹形目錄圖6-18多級目錄結構主目錄有3個用戶ABCB用戶的3個分目錄F分目錄包含兩個文件J、N2.路徑名和當前目錄(1)路徑名(絕對路徑名)在樹形目錄結構中,從根目到任何數據文件的路徑,都只有一條惟一的通路。在該路徑上從樹的根(即主目錄)開始,把全部目錄文件名與數據文件名,依次地用“/”連接起來,即構成該數據文件的路徑名(pathname)。系統中的每一個文件都有惟一的路徑名。(2)當前目錄(CurrentDirectory)(相對路徑名)可為每個進程設置一個“當前目錄”,又稱為“工作目錄”。把從當前目錄開始直到數據文件為止所構成的路徑名,稱為相對路徑名(relativepathname);
優點:查詢速度更快,層次結構更加清晰,能夠更加有效地進行文件的管理和保護。容易賦予不同的存取權限。缺點:查找一個文件,需要按路徑名逐級訪問中間節點,這就增加了磁盤訪問次數,無疑將影響查詢速度。目前,大多數操作系統如UNIX、Linux和Windows系列都采用了樹形文件目錄。3.目錄操作
(1)創建目錄
(2)刪除目錄不刪除非空目錄。可刪除非空目錄(3)改變目錄。(4)移動目錄。(5)鏈接(Link)操作。(6)查找7.3.4目錄查詢技術
1.線性檢索法線性檢索法又稱為順序檢索法。
在單級目錄中,利用用戶提供的文件名,用順序查找法直接從文件目錄中找到指名文件的目錄項。
在樹型目錄中,用戶提供的文件名是由多個文件分量名組成的路徑名,此時須對多級目錄進行查找。假定用戶給定的文件路徑名是/usr/ast/mbox,則查找/usr/ast/mbox文件的過程如圖7-12所示。
1.線性檢索法圖7-12
查找/usr/ast/mbox的步驟
如查找/usr/ast/mbox的步驟:
2.Hash方法在7.2.6節中曾介紹了Hash文件。如果我們建立了一張Hash索引文件目錄,便可利用Hash方法進行查詢,即系統利用用戶提供的文件名并將它變換為文件目錄的索引值(該文件對應目錄項的地址),再利用該索引值到目錄中去查找,這將顯著地提高檢索速度。注意:可能存在沖突,要處理沖突
7.4文件共享文件共享形式與目的1)定義
:一個文件被多個用戶或程序使用2)共享形式:被多個用戶使用,由存取權限控制,多個用戶用相同或不同的名字來訪問同一文件。被多個程序使用,但各用自己的讀寫指針。被多個程序使用,但共享讀寫指針。3)目的:節省時間和存儲空間,減少了用戶工作量;進程間通過文件交換信息7.4.1基于有向無循環圖實現文件共享1.有向無循環圖DAG問題:新增加的內容無法共享,新增加的盤塊只出現在執行了操作的目錄中。2.利用索引結點
含有除文件名之外的所有屬性信息。目錄項中只含有文件名和指向索引結點的指針。圖7-15進程B鏈接前后的情況7.4.2利用符號鏈實現文件共享
在利用符號鏈方式實現文件共享時,只是文件主才擁有指向其索引結點的指針;而共享該文件的其他用戶,則只有該文件的路徑名,并不擁有指向其索引結點的指針。BCDEB1C1D1E1Fc:/zhang/san/B符號鏈實現文件共享優缺點:優點:方便地鏈接任一文件(用路徑名)缺點:訪問共享文件時開銷大(多次讀盤,消費盤空間),每一共享文件都要增加一文件名(因路徑名各不相同)
7.5文件保護
影響文件安全性的主要因素有:
(1)人為因素——通過存取控制機制防止
(2)系統因素——采取系統容錯技術防止
(3)自然因素——建立后備系統7.5.1保護域(ProtectionDomain)
1.訪問權
為了對系統中的對象加以保護,應由系統來控制進程對對象的訪問。我們把一個進程能對某對象執行操作的權力,稱為訪問權(Accessright)。
如(F1(對象名),{R/W
}(權集))
2.保護域
對資源進行保護,保護域簡稱為“域”。“域”是進程對一組對象訪問權的集合,進程只能在指定域內執行操作。這樣,“域”也就規定了進程所能訪問的對象和能執行的操作。
3.進程和域間的靜態聯系
在進程和域之間一一對應。
在進程的整個生命期中,其可用資源是固定的,我們把這種域稱為“靜態域”。在這種情況下,進程運行的全過程都是受限于同一個域,這將會使賦予進程的訪問權超過了實際需要。
4.進程和域間的動態聯系方式
在進程和域之間,也可以是一對多的關系,即一個進程可以聯系著多個域。在此情況下,可將進程的運行分為若干個階段,其每個階段聯系著一個域。7.5.2訪問矩陣
1.基本的訪問矩陣
訪問矩陣中的行代表域,列代表對象,矩陣中的每一項是由一組訪問權組成的。每一項訪問權access(i,j)定義了在域Di中執行的進程能對對象Qj所施加的操作集。圖7-18一個訪問矩陣2.具
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 野生動物疫病監測與獸醫公共衛生考核試卷
- 軟件測試工程師考試輕松掌握試題及答案
- 焙烤食品制造企業的營銷渠道與客戶關系管理考核試卷
- 公路工程生態設計理念試題及答案
- 船舶設計與仿真技術考核試卷
- 嵌入式開發實現中的思維方式探討試題及答案
- 現代數據庫與網絡服務整合試題及答案
- 大學公寓社區管理制度
- 公司現場定置管理制度
- 計算機二級MySQL實務題目及答案
- (全冊完整16份)北師大版五年級下冊100道口算題大全
- 維修電工求職簡歷
- 人教版歷史八年級上冊知識點
- 麻醉藥品和精神藥品培訓試題
- GB/T 799-2020地腳螺栓
- 非小細胞肺癌寡轉移灶中立體定向放療的運用,放射醫學論文
- 遠足拉練動員大會課件
- 出租房屋安全檢查記錄
- 夏季養胃知識課件
- 人教版PEP六年級英語下冊單詞聽寫(帶四線格)
- 國家開放大學《財務管理#》形考任務1參考答案
評論
0/150
提交評論