




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 2第九章 文件系統(tǒng)3第九章 文件系統(tǒng)9.1 文件系統(tǒng)的概念9.1.1 引言49.1 文件系統(tǒng)的概念9.1.2 文件一、文件定義1、文件是具有符號名的信息(數(shù)據(jù))項(xiàng)的 集合。2、文件是具有符號名的記錄的集合。59.1 文件系統(tǒng)的概念9.1.2 文件二、文件名根據(jù)文件的定義,每個文件必須有一個唯一的文件名,不論是系統(tǒng)管理,還是用戶使用文件都使用文件名。文件名是一個有限長度的字符串。 DOS、WINDOWS系統(tǒng)中文件名: 文件名 文件擴(kuò)展名文件名是一個不大于8個字符的字符串,但WINDOWS系統(tǒng)中允許超長文件名,最多可有256個字符,不區(qū)分英文字母的大小寫。69.1 文件系統(tǒng)的概念9.1.2 文
2、件文件擴(kuò)展名:不大于3個字符,一般用來表示文件的類型。例如:C C語言源程序文件COM 可執(zhí)行文件(小模式)EXE 可執(zhí)行文件(大模式)BAT 批處理文件OBJ 目標(biāo)文件hust.txt ll.c ll.obj ll.exe 操作系統(tǒng)教學(xué)片91.ppt79.1 文件系統(tǒng)的概念9.1.2 文件UNIX系統(tǒng)中的文件名:文件名是一個不大于14個字符的字符串。并且區(qū)分英文字母的大小寫。例如:unix linux ll.c a .out aa AA 注意:在UNIX系統(tǒng)中文件名就是一個字符串,沒有文件名和文件擴(kuò)展名之分,文件的類型由用戶命名時確定。例如,li.c,UNIX系統(tǒng)認(rèn)為這個文件名的長度是4個字
3、符。而在DOS、WINDOWS系統(tǒng)中則解釋這個文件名,li是文件名,c是文件擴(kuò)展名,表示該文件是一個C語言的源程序文件,而是文件名和文件擴(kuò)展名的分隔符。89.1 文件系統(tǒng)的概念9.1.2 文件三。文件的分類教材講了三種文件分類的方法,下面介紹UNIX系統(tǒng)文件分類方法:1、普通文件普通文件是無結(jié)構(gòu)的字符的集合。2、目錄文件目錄文件是由文件的目錄項(xiàng)組成的文件。3、特別文件特別文件就是設(shè)備。99.1 文件系統(tǒng)的概念9.1.2 文件四、文件的屬性文件屬性反映文件的類型、存取控制、等UNIX系統(tǒng)中文件屬性: 普通文件 d 目錄文件 p 管道文件 c 字符型設(shè)備文件b 塊設(shè)備文件 109.1.3 文件系統(tǒng)
4、9.1.3 文件系統(tǒng)文件系統(tǒng)是操作系統(tǒng)中負(fù)責(zé)管理和存取文件信息的軟件機(jī)構(gòu),它是由管理文件所需的數(shù)據(jù)結(jié)構(gòu)和相應(yīng)的管理軟件以及訪問文件的一組操作組成。從系統(tǒng)的角度看:文件系統(tǒng)是一個負(fù)責(zé)文件存儲空間管理的機(jī)構(gòu)。從用戶的角度看:文件系統(tǒng)是用戶在計(jì)算機(jī)上存儲信息、和使用信息的接口。119.1.3 文件系統(tǒng)通用文件系統(tǒng)應(yīng)具有以下功能:1、提供用戶對文件操作的命令;2、提供用戶共享文件的機(jī)制;3、管理文件的存儲介質(zhì);4、提供文件的存取控制的機(jī)制,保障文件及文件系統(tǒng)的 安全性;5、提供文件及文件系統(tǒng)的備份和恢復(fù)功能;6、提供對文件的加密和解密功能。129.2 文件的邏輯組織與存取方法9.2.1 文件的組織可以
5、用兩種不同的觀點(diǎn)去進(jìn)行研究文件結(jié)構(gòu)用戶觀點(diǎn)用戶觀點(diǎn): 是研究用戶“思維思維”中的抽象文件,或稱邏輯文件,其研究的側(cè)重點(diǎn)在于為用戶提供一種邏輯結(jié)構(gòu)清晰、使用簡便的邏輯文件形式。用戶將按照這種形式去存儲、檢索和加工有關(guān)文件中的信息。實(shí)現(xiàn)觀點(diǎn)實(shí)現(xiàn)觀點(diǎn):是研究駐留在設(shè)備“介質(zhì)”中的實(shí)際文件,或稱物理文件。它研究的側(cè)重點(diǎn)是選擇一些工作性能良好、設(shè)備利用率高的物理文件形式。系統(tǒng)將按照這種形式同外部設(shè)備打交道并控制信息的傳輸139.2 文件的邏輯組織與存取方法9.2.1 文件的組織文件的組織有兩種:文件的邏輯結(jié)構(gòu):文件的邏輯結(jié)構(gòu)是指用戶思維中文件的結(jié)構(gòu)。文件的物理結(jié)構(gòu):文件的物理結(jié)構(gòu)是指文件在存儲介質(zhì)上的結(jié)
6、構(gòu)(或稱組織)。在當(dāng)代,文件的存儲介質(zhì)是磁盤,包括軟盤、硬盤和光盤、磁帶,早期還有磁鼓。由于目前的磁帶是模擬磁盤的結(jié)構(gòu),所以文件的物理結(jié)構(gòu)主要是指磁盤上文件的結(jié)構(gòu)。149.2.2 文件的邏輯結(jié)構(gòu)和存取方法一、文件的邏輯結(jié)構(gòu)文件的邏輯結(jié)構(gòu):結(jié)構(gòu)文件記錄式文件。無結(jié)構(gòu)文件流式文件1、流式文件無結(jié)構(gòu)的流式文件是相關(guān)的有序字符的集合。文件的長度為所含字符數(shù)。UNIX、DOS、WINDOWS系統(tǒng)中的普通文件都是流式文件。159.2.2 文件的邏輯結(jié)構(gòu)和存取方法2、記錄式文件 記錄式文件是一種結(jié)構(gòu)式文件,文件是記錄的集合. 每個記錄由彼此相關(guān)的域構(gòu)成。記錄可按順序編號為記錄1,記錄2,記錄n。如果文件中所
7、有記錄的長度都相同,則這種文件為定長記錄文件。定長記錄文件的長度 = 記錄個數(shù)x記錄長度。變長記錄文件的長度為各記錄長度之和。例如:學(xué)生登記表文件 xsdjb.dbf姓名 學(xué)號 籍貫 通信地址 郵政編碼李銘 925678 武昌 武昌關(guān)山街125號 430074司馬樂 925679 北京 北京海軍路88號 100034169.2.2 文件的邏輯結(jié)構(gòu)和存取方法3、兩種文件的比較流式文件就象給一張白紙給用戶,用戶可將他的信息任意地寫到紙上,沒有任何格式上的限制。記錄式文件就象給一張表格給用戶,用戶要按表規(guī)定的格式填信息。顯然,結(jié)構(gòu)式文件對用戶的限制很大,使用起來就不方便,所以記錄式文件被淘汰是理所當(dāng)
8、然的。179.2.2 文件的邏輯結(jié)構(gòu)和存取方法二、存取方法順序存?。汉笠淮未嫒】偸窃谇按未嫒〉幕A(chǔ)上進(jìn)行的。每次存取不必給出存取開始的位置。隨機(jī)存?。好看未嫒〔僮鞫家付ù嫒〔僮鞯拈_始位置。在系統(tǒng)中提供文件存取操作有:n = read(fd,buffer,size);m = write(fd,buffer,size);這兩個操作總是從當(dāng)前位置開始讀(或?qū)懀?,?zhí)行順序存取操作。189.2.2 文件的邏輯結(jié)構(gòu)和存取方法leek(fd,offset,mode)調(diào)整文件的讀寫起始位置的系統(tǒng)調(diào)用,若在read、write之前執(zhí)行l(wèi)eek操作,就調(diào)整了文件的讀寫指針(讀寫開始的位置),實(shí)現(xiàn)了隨機(jī)存取。19
9、9.3 文件的物理結(jié)構(gòu)一個文件存儲介質(zhì),格式化后就分成許多大小相等的單位存儲塊(物理盤塊),在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,一般來說,每個物理塊是一個磁盤的扇區(qū),512字節(jié)。并給每個存儲塊有個編號,稱為物理塊號。文件的物理結(jié)構(gòu)指文件在存儲介質(zhì)上質(zhì)結(jié)構(gòu),目前有三種基本結(jié)構(gòu),即連續(xù)文件結(jié)構(gòu)、串聯(lián)文件結(jié)構(gòu)和索引文件結(jié)構(gòu)。209.3 文件的物理結(jié)構(gòu)219.3 文件的物理結(jié)構(gòu) 9.3.1 連續(xù)文件229.3 文件的物理結(jié)構(gòu) 9.3.1 連續(xù)文件評價(jià):優(yōu)點(diǎn):結(jié)構(gòu)簡單,實(shí)現(xiàn)容易,不需要額外的開銷。缺點(diǎn):用戶創(chuàng)建文件時要給出文件的大??; 不利于文件的動態(tài)增加和修改; 連續(xù)文件是一種連續(xù)結(jié)構(gòu)的文件,對每個文件 要求存放在存
10、儲介質(zhì)上的連續(xù)的物理塊中,存 儲空間利用率不高。類似于存儲管理中的分區(qū)適用于變化不大的順序訪問的文件,在流行的UNIX系統(tǒng)中仍保留了連續(xù)文件結(jié)構(gòu)。239.3.2 串聯(lián)文件一個串聯(lián)文件結(jié)構(gòu)是按順序由串聯(lián)的塊組成的,即文件的信息按存儲介質(zhì)的物理特性存于若干塊中。每個物理塊的最末一個字(或第一個字)作為鏈接字,它指出后繼塊的物理地址。鏈?zhǔn)字羔槾娣旁谠撐募夸浿?。文件的結(jié)尾塊的指針為“”。這種文件結(jié)構(gòu)不要求連續(xù)存放。對于記錄式文件一塊中可包含一個邏輯記錄或多個邏輯記錄,也可以若干物理塊包含一個邏輯記錄。249.3.2 串聯(lián)文件259.3.2 串聯(lián)文件評價(jià):1.存儲空間利用率高;2.文件創(chuàng)建時用戶不必指
11、出文件的大小;3.文件動態(tài)擴(kuò)充和修改容易。4.順序存取效率高,隨機(jī)存取效率太低,如果訪問文件的最后的內(nèi)容,實(shí)際上是要訪問整個文件。類似于存儲管理中的頁式269.3.3 文件照映為了克服鏈接文件的存取效率太低的問題,人們提出文件映照的技術(shù),即把鏈接文件中的鏈接字集中在一結(jié)構(gòu)中,這樣既保持了鏈接文件的優(yōu)點(diǎn),也克服了其缺點(diǎn),DOS、WINDOWS系統(tǒng)就采用了這樣結(jié)構(gòu)。279.3.3 文件照映FAT:文件分配表,磁盤格式化后建立,從磁盤的第二個開始,有兩個相同的FAT。磁盤的類型 : FDF,雙面,F(xiàn)CH,單面(9扇區(qū)/磁道)F8H,硬盤000H:空閑簇FFFH:文件的結(jié)尾簇XXXH:文件的下一簇28
12、9.3.4 隨機(jī)文件隨機(jī)文件結(jié)構(gòu)是另一種形式的非連續(xù)文件,文件數(shù)據(jù)存放的存儲介質(zhì)上的物理塊號與文件的邏輯塊號一一對應(yīng),并建立這樣對應(yīng)關(guān)系的數(shù)據(jù)結(jié)構(gòu)文件索引表。訪問文件時,根據(jù)文件的邏輯塊號查文件索引表,找到對應(yīng)的物理塊號,然后,進(jìn)行訪問。隨機(jī)文件有三種形式的結(jié)構(gòu):直接地址結(jié)構(gòu)、索引結(jié)構(gòu)、計(jì)算尋址結(jié)構(gòu)。索引結(jié)構(gòu)是當(dāng)代計(jì)算機(jī)操作系統(tǒng)中普遍采用的結(jié)構(gòu),如UNIX系統(tǒng)、LINUX系統(tǒng)。299.3.4 隨機(jī)文件索引文件結(jié)構(gòu) 這種文件結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)是文件的索引表,每個文件有一個索引表,表中每個表目包括:邏輯塊號,物理塊號。索引表位置:文件目錄中,文件的開頭等。索引表大小:固定大小,非固定大小。309.3.
13、4 隨機(jī)文件UNIX系統(tǒng)采用索引文件結(jié)構(gòu),UNIX系統(tǒng)采用多級間接索引結(jié)構(gòu),對小型文件采用直接索引,對大型文件采用間接索引,從而,既保證絕大多數(shù)的文件有高的存取效率,又能適應(yīng)存取一些大型文件。(既保證了文件系統(tǒng)的高效率,又使其有很寬的適應(yīng)面)。3132339.3.5 文件物理結(jié)構(gòu)的比較連續(xù)文件的優(yōu)點(diǎn)是不需要額外的空間開銷,只要在文件目錄中指出文件的大小和首塊的塊號即可,對順序的訪問效率很高。適應(yīng)于順序存取。缺點(diǎn)是動態(tài)地增長和縮小系統(tǒng)開銷很大;文件創(chuàng)建時要求用戶提供文件的大?。淮鎯臻g浪費(fèi)較大。串聯(lián)文件克服了連續(xù)文件的不足之處,但文件的隨機(jī)訪問系統(tǒng)開銷較大。適應(yīng)于順序訪問的文件。DOS系統(tǒng)中改造
14、了串聯(lián)文件的結(jié)構(gòu),使其克服了串聯(lián)文件的不足,但增加了系統(tǒng)的危險(xiǎn)性。349.3.5 文件物理結(jié)構(gòu)的比較索引文件既適應(yīng)于順序存訪問,也適應(yīng)于隨機(jī)訪問,是一種比較 好的文件物理結(jié)構(gòu),但要有用于索引表的空間開銷和文件索引的時間開銷。UNIX系統(tǒng)是使用索引結(jié)構(gòu)成功的例子。在當(dāng)前流行的一些UNIX操作系統(tǒng)的版本中,同時支持連續(xù)文件結(jié)構(gòu)和索引文件結(jié)構(gòu)。DOS、WINDOWS系統(tǒng)支撐類似于文件映照結(jié)構(gòu)359.4 存儲技術(shù)(自學(xué))369.5 文件存儲空間管理 教材上講了幾機(jī)文件存儲空間管理的方法:空白文件、空閑塊鏈和位圖。(自學(xué))379.5 文件存儲空間管理UNIX系統(tǒng)的空閑塊的管理在UNIX系統(tǒng)中每個子文件系
15、統(tǒng)(一片軟盤、一個硬盤的分區(qū),一卷磁帶)格式化后的結(jié)構(gòu)如圖所不,其中特別塊是存放該子文件系統(tǒng)的管理信息,其中,包括空閑塊管理信息。 s-nfree :空閑塊數(shù)s_free100:空閑塊塊號s_flock:鎖位389.5 文件存儲空間管理 UNIX系統(tǒng)的空閑塊的管理399.5 文件存儲空間管理 UNIX系統(tǒng)的空閑塊的管理409.6 文件目錄9.6.1 文件目錄及內(nèi)容文件目錄:文件目錄即文件名址錄。它是一張記錄所有文件名及其存放地址、文件的說明和控制信息的表格。一般情況下,每個文件占用一個表目,即每個文件有一個文件的目錄項(xiàng)。419.6 文件目錄9.6.1 文件目錄及內(nèi)容文件目錄項(xiàng):1.文件名2.文
16、件的大小,單位:字節(jié)3.文件在物理存儲介質(zhì)中的位置。取決于文件的物理結(jié)構(gòu) 。 對于連續(xù)文件:文件起始塊號(即文件的第一個物理塊塊號);對于串聯(lián)文件:指向第一個物理塊的指針;對于索引文件:索引表。4.存取控制信息文件主和其它用戶對該文件的訪問權(quán)限。5.管理信息包含文件創(chuàng)建的日期和時間,最近修改該文件的日期和時間等。6.文件的類型429.6.2 一級目錄結(jié)構(gòu)一級文件目錄最簡單的文件目錄結(jié)構(gòu)是在系統(tǒng)中建立一張線性表,每個文件占一表目,由文件名和文件的說明和管理信息組成。這樣的表稱為一級文件目錄.一級文件目錄的主要功能是實(shí)現(xiàn)“按名存取”, 并且實(shí)現(xiàn)容易。主要問題是主要問題是 重名重名 問題問題所謂“重
17、名”是指不同用戶對不同文件起了相同的名字,即兩個或多個文件只有一個相同的符號名439.6.2 一級目錄結(jié)構(gòu)449.6.3 二級目錄結(jié)構(gòu)(自學(xué))45目錄文件由文件的目錄項(xiàng)組成的文件稱為目錄文件。系統(tǒng)中有一個根目錄(或根目錄文件),在這個目錄中可登記一般文件,也可以登記目錄文件,在每個目錄文件中可以登記一般文件,也可以登記目錄文件。根據(jù)這個遞歸定義就形成了一個倒立的樹的結(jié)構(gòu)。對于一棵樹,它有一個樹根(只有一個,根目錄),在樹根上可以長樹葉(一般文件),也可以長樹枝(子目錄文件);對于每個樹技又可以長樹枝,也可以長樹葉。9.6.4 多級目錄結(jié)構(gòu)(樹型目錄結(jié)構(gòu))469.6.4 多級目錄結(jié)構(gòu)路徑名路徑名
18、:一個文件的路徑名是由根目錄到該文件的通路上所有目錄文件名和該文件的符號名組成的。DOS WINDOWS系統(tǒng)中文件路徑名 ART BIUID BPNIX系統(tǒng)中文件路徑名/A/R/T /B/IU/I/D /B/P 47489.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu)一、三種文件類型UNIX系統(tǒng)中有普通文件、目錄文件和特別文件。目錄文件是由文件目錄項(xiàng)組成的文件。文件目錄項(xiàng)由文件名和文件I節(jié)點(diǎn)號組成 I節(jié)點(diǎn)號(2) 文件名(14)UNIX系統(tǒng)中文件目錄項(xiàng)只包括文件名和I節(jié)點(diǎn)號,把通常目錄項(xiàng)中的信息放在一個叫索引節(jié)點(diǎn)(I節(jié)點(diǎn))的結(jié)構(gòu)中,有兩個優(yōu)點(diǎn):其一是便于文件的共享,即不同的用戶可以通過不同
19、的文件路徑名來共享一個文件;其二是加快文件檢索的速度。499.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu)509.10.1文件的靜態(tài)結(jié)構(gòu)特別塊(管理塊)結(jié)構(gòu):特別塊是在磁盤格式化時建立的,當(dāng)一個文件子系統(tǒng)安裝到系統(tǒng)中時,系統(tǒng)將申請一個內(nèi)存緩沖區(qū)來存放特別塊。519.10.1文件的靜態(tài)結(jié)構(gòu)529.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu)三、文件的靜態(tài)結(jié)構(gòu)UNIX系統(tǒng)中,一個文件存在要占用如下資源:至少占用一個文件目錄項(xiàng);僅占用一磁盤I節(jié)點(diǎn);占用一個或多個磁盤塊(物理塊)。539.10 UNIX文件系統(tǒng)9.10.1文件的靜態(tài)結(jié)構(gòu)i_uid:文件主的用戶名 i-gid:用戶組名i-mod
20、e:文件的類型和文件的存取控制權(quán)限IALLOC:此I節(jié)點(diǎn)被占用IFDIR目錄文件IFCHR字符文件IFBLK塊文件IREAD讀IWRITE寫IEXEC執(zhí)行共分三組,表示文件主、同組用戶和其它用戶的權(quán)限i_mode0表示該I節(jié)點(diǎn)空閑i_nlink文件的聯(lián)接數(shù),在UNIX系統(tǒng)中一個文件可以登記在不同的目錄文件中,目的是為不同的用戶共享文件提供支持。i_atime最近使用時間i_mtime最近修改時間i_addr文件索引表542.文件的索引結(jié)構(gòu)。559.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu)569.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu)在結(jié)構(gòu)中的索引表有個表目,前10個表目存放文件數(shù)據(jù)塊的地
21、址,采用直接索引;如果文件的長度超過10個數(shù)據(jù)塊;第11個表目登記的是一次間接索引塊的物理塊號,該塊存放索引表,而不是文件的內(nèi)容,采用一次間接索引;第12個表目登記二次間接索引塊的物理塊號,該塊存放二次間接索引表,每個表目中登記的是一次間索引表的物理塊號;579.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu)第13個表目登記的是三次間接索引塊的物理塊號,該塊存放三次間接索引表,每個表目中登記的是存放二次間接索引表的物理塊號。這種結(jié)構(gòu)對于小于等于10個物理塊的文件采用直接索引,可從結(jié)構(gòu)的索引表中直接取到文件數(shù)據(jù)塊的物理塊號,不需要進(jìn)行任何轉(zhuǎn)換和計(jì)算,加快文件存取的速度,提高文件系統(tǒng)的使用效率;對于一
22、些大型文件或巨型文件,系統(tǒng)采用間接索引的方法也可以方便的管理和使用,只不過要付出些代價(jià)。因此,不論是幾仍至幾個字節(jié)的文件,還是幾十、甚至更大的文件都能存在于系統(tǒng)中。589.10.1文件的靜態(tài)結(jié)構(gòu) 2.文件的索引結(jié)構(gòu)系統(tǒng)中采用這種方法主要是照顧小型文件,保證對小型文件的存取高效快速,同時又兼顧大型文件和巨型文件。這與系統(tǒng)的環(huán)境有關(guān),系統(tǒng)的設(shè)計(jì)者提供以下的統(tǒng)計(jì)資料說明他采用這種結(jié)構(gòu)的理由。其統(tǒng)計(jì)資料說:在系統(tǒng)的環(huán)境下,小于個物理塊的文件約占所有使用文件的,其它文件約占,其中巨型文件不到。在實(shí)際應(yīng)用中的文件大小的分布情況與這個統(tǒng)計(jì)結(jié)果是相符的。59609.10.2 UNIX樹型目錄結(jié)構(gòu)一、UNIX系
23、統(tǒng)目錄結(jié)構(gòu)整個系統(tǒng)有個根目錄文件(DOS、WINDOWS系統(tǒng)中有一個根目錄區(qū)),相當(dāng)于一棵樹的樹根,并有多級目錄文件(與DOS概念相同,WINDOWS中叫做文件夾),相當(dāng)于樹枝。還有許多文件(普通文件和特別文件),相當(dāng)于樹葉。619.10.2 UNIX樹型目錄結(jié)構(gòu)二、文件的安裝和拆卸UNIX系統(tǒng)采用樹型目錄結(jié)構(gòu),整個文件系統(tǒng)由根文件系統(tǒng)和若干個子文件系統(tǒng)所組成 。根文件系統(tǒng)是基本文件系統(tǒng),在系統(tǒng)生成時產(chǎn)生。子文件系統(tǒng)是駐留其它文件存儲介質(zhì)上的文件系統(tǒng),例如,一片軟盤、一盤的邏輯分區(qū)、一卷磁帶、一個磁鼓等,在UNIX環(huán)境下格式化后成為一個子文件系統(tǒng),經(jīng)過UNIX系統(tǒng)提供的安裝命令裝到系統(tǒng)中,與根
24、文件系統(tǒng)和已經(jīng)安裝在系統(tǒng)中的其它子文件系統(tǒng)一起形成一個完整的文件系統(tǒng),當(dāng)某個子系統(tǒng)不再使用時,用拆卸命令將該子文件系統(tǒng)拆卸下來。蹤上所述,在UNIX環(huán)境下總只有一個完整的樹型目錄結(jié)構(gòu)。所以,在UNIX系統(tǒng)環(huán)境下使用文件只要給出文件的路徑名即可。629.10.2 UNIX樹型目錄結(jié)構(gòu)三、文件的聯(lián)接 UNIX系統(tǒng)是一個多用戶的操作系統(tǒng),為了使多個用戶能方便地共享系統(tǒng)中的某些文件,UNIX系統(tǒng)提供文件的聯(lián)接操作(取別名),方法見用戶手冊。639.10.3 打開文件的結(jié)構(gòu)用戶在使用文件之前必須要使打開文件操作,為什么?文件是存放在磁盤上的。磁盤屬于外存儲器,它是CPU不能直接訪問的存儲器,當(dāng)然,用戶就
25、不能直接存取存放在磁盤上的文件。但用戶又要使用文件,這樣,在使用文件之前,就要在內(nèi)存中建立存取文件的結(jié)構(gòu),然后,通過對這個結(jié)構(gòu)的訪問來達(dá)到對文件的訪問。649.10.3 打開文件的結(jié)構(gòu)內(nèi)存中建立的存取文件的結(jié)構(gòu),稱為文件控制塊(FCB),包含文件目錄的信息和對文件存取的有關(guān)信息。該結(jié)構(gòu)是在打開文件操作中建立的,并向用戶返回FCB的首地址,用戶以后使用文件(如讀、寫)就使用FCB首址。顯然,用戶要使用具體的內(nèi)存地址,這對用戶來說是非常困難的。UNIX系統(tǒng)中打開文件的結(jié)構(gòu)包括活動I節(jié)點(diǎn)表,系統(tǒng)打開文件表和用戶文件描述符表659.10.3 打開文件的結(jié)構(gòu)一、活動I節(jié)點(diǎn)i_flag打開文件的標(biāo)志ILO
26、CK:鎖位IUPD:修改標(biāo)志IMOUNT:安裝點(diǎn)IWANT:有進(jìn)程等待ITEXT:純正文段i_count:訪問計(jì)數(shù)i_dev:文件所在設(shè)備號i_number:I節(jié)點(diǎn)號669.10.3 打開文件的結(jié)構(gòu)二、打開文件表f_flag:標(biāo)志FREAD:讀FWRITE:寫FPIPE:管道f_count:訪問計(jì)數(shù)f_inode:指向活動I節(jié)點(diǎn)指針f_offset:讀寫指針679.10.3 打開文件的結(jié)構(gòu)三、用戶文件描述符表(進(jìn)程打開文件表)每個進(jìn)程有一個用戶文件描述符表,存放在進(jìn)程的user結(jié)構(gòu)中,u.u_ofileNOFILE。NOFILE15是一常數(shù),表示一個進(jìn)程最多能同時打開15個文件。這一個結(jié)構(gòu)類似
27、于一般操作系統(tǒng)中的FCB。689.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系699.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系文件共享的三個層次:1.父子進(jìn)程共享同一文件,子進(jìn)程在創(chuàng)建時繼承了父進(jìn)程的所有打開的文件,體現(xiàn)在對某個打開文件表目的共享;709.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)系2.不同的用戶打開了同一個文件(以不同的文件名)進(jìn)程2 open(“/unix/li.c”,READ) 進(jìn)程3 open(“/user/ll.i”,WRITE) 文件/unix/li.c和/user/ll.i是同一個文件;719.10.3 打開文件的結(jié)構(gòu)四、打開文件結(jié)構(gòu)之間的關(guān)
28、系3.不同的進(jìn)程以不同的用途打開同一個文件進(jìn)程1open(“/user1/ll”,READ)進(jìn)程3 open(“/user1/ll”,WRITE)729.10.4 文件操作系統(tǒng)調(diào)用一、文件系統(tǒng)調(diào)用及其它算法的關(guān)系739.10.4 文件操作系統(tǒng)調(diào)用二.系統(tǒng)調(diào)用 oprn使用文件之前必須使打開文件操作,UNIX系統(tǒng)中打開文件的系統(tǒng)調(diào)用是open,其調(diào)用格式是:fd=open(pathname,flags);功能:打開一個指定的文件;輸入?yún)?shù):pathname 要打開文件的路徑名 flags 指示打開文件的類型(讀或?qū)懀┓祷貐?shù):fd 文件描述符(一個小的正整數(shù)) 若fd=-1則表示系統(tǒng)調(diào)用失敗,對所有系統(tǒng) 調(diào)用都是。74執(zhí)行過程:調(diào)用namei()將文件的路徑名轉(zhuǎn)換成I節(jié)點(diǎn);文件不存在或非法訪問,返回1;申請打開文件表項(xiàng),f_count+;f_offset置0; f_inode指向I節(jié)點(diǎn);分配用戶文件描述表項(xiàng),將打開文件表首地址填入;若打開文件的類型是清文件,則釋放該文件占用的所有磁盤塊;返回用戶描述表項(xiàng)的編號。 9.10.4 文件操作系統(tǒng)調(diào)用 二.系統(tǒng)調(diào)用 oprn759.10.4 文件操作系統(tǒng)調(diào)用
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高中政治第二單元文化傳承與創(chuàng)新第四課第1課時傳統(tǒng)文化的繼承作業(yè)含解析新人教版必修3
- 出售電廠配煤合同范本
- 勞動合同范本免
- 企業(yè)管道施工合同范本
- 醫(yī)療美容股東合同范本
- 醫(yī)院入職合同范本
- 倉儲承諾合同范本
- 三年級口算題庫匯編1000道
- 二年級口算題目全集100道
- 2025云南省安全員C證考試題庫
- 校園食品安全和膳食經(jīng)費(fèi)管理方案3篇
- TSGD7002-2023-壓力管道元件型式試驗(yàn)規(guī)則
- 九年級化學(xué)下冊 第12單元 化學(xué)與生活教案 (新版)新人教版
- 金融服務(wù)消費(fèi)糾紛調(diào)解工作規(guī)范
- 后腹腔鏡下輸尿管切開取石術(shù)
- 二手車購買收據(jù)合同范本
- 《國際貿(mào)易實(shí)務(wù)(英文版)》(英文課件) - Ch 1 Introduction to International Trade Practices-Ch 5 Price
- 2022版義務(wù)教育英語課程標(biāo)準(zhǔn)整體解讀課件
- 2024精美復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 01 H5入門知識課件
- 神經(jīng)重癥氣管切開患者氣道功能康復(fù)與管理專家共識(2024)解讀
評論
0/150
提交評論