-
文件定義
文件是計(jì)算機(jī)信息存取的一種重要的組織形式
文件由若干信息項(xiàng)有序構(gòu)成饼丘,信息項(xiàng)可以是字節(jié)昼牛,也可以是結(jié)構(gòu)化數(shù)據(jù)
用戶通過讀寫指針來存取文件的信息項(xiàng)
文件具有文件名虽缕,用戶通過文件名存取文件
文件讀寫 文件分類
分類標(biāo)準(zhǔn):文件用途(系統(tǒng)文件台妆,庫(kù)文件础锐,用戶文件)
操作權(quán)限(只讀文件扶叉、讀寫文件勿锅、不保護(hù)文件)
文件性質(zhì)(普通文件、目錄文件枣氧、設(shè)備文件)-
文件的屬性
指定文件的類型溢十、操作特性和存取保護(hù)等以組信息
文件屬性存放在文件所在目錄的目錄文件中
MS-DOS系統(tǒng)中,文件屬性占目錄項(xiàng)的一個(gè)字節(jié)达吞,00000001為只讀张弛,00000010為隱藏屬性。
Google文件屬性 文件系統(tǒng)
負(fù)責(zé)管理文件的機(jī)構(gòu)稱為文件系統(tǒng)酪劫,其功能是負(fù)責(zé)文件的創(chuàng)立吞鸭、撤銷、讀寫覆糟、修改刻剥、復(fù)制和存取控制等,并管理存放文件的存儲(chǔ)設(shè)備滩字。文件系統(tǒng)的目標(biāo)是讓用戶以文件名的方式來存取文件文件的結(jié)構(gòu)
邏輯結(jié)構(gòu) | 物理結(jié)構(gòu) |
---|---|
用戶觀點(diǎn) | 系統(tǒng)觀點(diǎn) |
為用戶提供邏輯結(jié)構(gòu)清晰造虏、方便使用的文件 強(qiáng)調(diào)文件信息項(xiàng)的構(gòu)成方式和用戶的存取方式 |
文件在存儲(chǔ)設(shè)備上的存儲(chǔ)結(jié)構(gòu) 強(qiáng)調(diào)合理利用儲(chǔ)存空間,縮短I/O存取時(shí)間 |
- 文件的邏輯結(jié)構(gòu)
記錄式文件 | 流式文件 |
---|---|
信息項(xiàng)是記錄(結(jié)構(gòu)化數(shù)據(jù)) | 信息項(xiàng)是字節(jié)麦箍,文件長(zhǎng)度就是字節(jié)數(shù)量 |
如學(xué)生花名冊(cè)包含若干學(xué)生記錄 每條記錄包含姓名酗电、學(xué)號(hào)等 文件需要保存記錄長(zhǎng)度和數(shù)量等說明信息,記錄這些額外信息浪費(fèi)存儲(chǔ)空間 |
文件無需額外說明信息内列,節(jié)省存儲(chǔ)空間 |
現(xiàn)代操作系統(tǒng)中所有文件都是流式文件撵术,由應(yīng)用程序解釋和處理文件
- 文件存取方法
順序存取 | 隨機(jī)存取 |
---|---|
按文件信息項(xiàng)排列順序依次存取 | 直接存取,需要指定存取位置 |
文件打開時(shí)话瞧,讀寫指針指向第一個(gè)信息項(xiàng) 每存取一個(gè)信息項(xiàng)嫩与,讀寫指針自動(dòng)加1而指向下一個(gè)信息項(xiàng) |
對(duì)流式文件或記錄為定長(zhǎng)的記錄式文件容易缺點(diǎn)存取位置 對(duì)記錄不定長(zhǎng)的記錄式文件比較定位較麻煩,需從第一條記錄開始查詢交排,可建立索引進(jìn)行改善 |
- 文件的物理結(jié)構(gòu)
指文件在存儲(chǔ)設(shè)備上的存儲(chǔ)方式划滋,強(qiáng)調(diào)合理利用儲(chǔ)存空間,縮短I/O存取時(shí)間
類型 | 連續(xù)文件 | 索引文件 | 串聯(lián)文件 |
---|---|---|---|
概念 | 文件按邏輯塊的順序存放在硬盤的連續(xù)物理存儲(chǔ)塊中埃篓,文件目錄記錄文件長(zhǎng)度(塊數(shù))和第一個(gè)存取塊的塊號(hào) | 文件存放在不連續(xù)的存儲(chǔ)塊中处坪,通過建立索引表記錄邏輯塊和物理存儲(chǔ)塊的對(duì)應(yīng)關(guān)系,索引表單獨(dú)放在存儲(chǔ)塊中 | 文件存放再不連續(xù)的存儲(chǔ)塊中,每個(gè)存儲(chǔ)塊有一個(gè)指針同窘,指向下一個(gè)存儲(chǔ)塊 |
特點(diǎn) | 文件建立時(shí)給出文件最大長(zhǎng)度并登記文件起始位置 | 文件=索引區(qū)+數(shù)據(jù)區(qū) 先訪問索引玄帕,再訪問數(shù)據(jù) |
文件目錄指明文件名和第一個(gè)存儲(chǔ)塊的塊號(hào) |
優(yōu)點(diǎn) | 實(shí)現(xiàn)簡(jiǎn)單 支持順序存取和隨機(jī)存取 順序存取速度快,所需磁盤尋道次數(shù)和尋道時(shí)間短 |
支持順序存取和隨機(jī)存取 支持文件動(dòng)態(tài)增長(zhǎng)想邦、插入和刪除 |
適用于順序存取 提高磁盤空間利用率裤纹,不存在外部碎片 有利于文件動(dòng)態(tài)擴(kuò)充、插入和刪除 |
缺點(diǎn) | 文件不易動(dòng)態(tài)增長(zhǎng)丧没,需要預(yù)留空間针炉,大了浪費(fèi)歼跟,少了需要重新分配和移動(dòng) 不利于文件插入和刪除 外部碎片問題 |
存取速度慢倘潜,不適合隨機(jī)存取 可靠性差意蛀,若指針出錯(cuò)則文件訪問失敗 指針占用一定空間 |
FAT文件系統(tǒng)(File Allocation Table)
串聯(lián)文件系統(tǒng),F(xiàn)AT12夺饲,F(xiàn)AT16灿椅,F(xiàn)AT32
FAT將指針有序集中放到FAT表中,文件訪問過程:
訪問文件目錄钞支,找到第0塊的塊號(hào)i->訪問FAT找到下一塊的塊號(hào):FAT(i)-> FAT(i)=FFFF則文件結(jié)束FAT的缺點(diǎn)
讀文件時(shí),先讀FAT操刀,影響使用效率
FAT要占存儲(chǔ)空間烁挟,存儲(chǔ)容量越大,存取塊越多骨坑,F(xiàn)AT元素越多撼嗓,且元素位寬越長(zhǎng),占用更多額外的存儲(chǔ)空間
存取塊為2N塊欢唾,F(xiàn)AT有2N個(gè)元素且警,每個(gè)項(xiàng)至少需要N位的寬度
扇區(qū)是磁盤上最小可尋址存儲(chǔ)單元(512字節(jié))
簇(存取塊)是設(shè)備的最小存取單元,具有固定數(shù)量的扇區(qū)
360KB的磁盤礁遣,簇=2個(gè)扇區(qū)
10MB的磁盤斑芜,簇=8個(gè)扇區(qū)
2G的硬盤,簇=64個(gè)扇區(qū)
FAT元素?cái)?shù)目和簇的數(shù)目一樣多
FAT元素寬度至少為N才能標(biāo)識(shí)全部的簇(2N)
磁盤容量=FAT長(zhǎng)度*簇容量=FAT長(zhǎng)度*簇扇區(qū)數(shù)*512字節(jié)FAT16文件系統(tǒng)
以簇為單位管理磁盤
簇是扇區(qū)的倍數(shù)祟霍,是2的次冪杏头,最大64扇區(qū)
FAT元素寬度為2字節(jié),16Bit沸呐,最大分區(qū)為2GB
FAT16格式化的磁盤
啟動(dòng)扇區(qū) | FAT1 | FAT2 | 根目錄 | 其他目錄和文件 |
---|
- 存取空間管理是記錄磁盤使用情況醇王,管理和分配,回收存儲(chǔ)空間
- 空閑文件崭添,把連續(xù)空閑區(qū)看出一種特殊文件寓娩,由多個(gè)連續(xù)空閑塊組成
空閑文件目錄 | 空閑塊鏈 | 位示圖 |
---|---|---|
索引空閑文件代表存儲(chǔ)設(shè)備全部空閑空間 為空閑文件建立的專門目錄,稱為空閑文件目錄 每個(gè)表項(xiàng)對(duì)應(yīng)一個(gè)空閑文件,包含第一個(gè)空閑塊號(hào)棘伴,連續(xù)空閑塊個(gè)數(shù) |
把所有空閑塊鏈接在一起 當(dāng)申請(qǐng)者需要空閑塊時(shí)寞埠,鏈頭開始搜索所需空閑塊 當(dāng)回收空閑塊時(shí),把釋放的空閑塊逐個(gè)加在鏈尾 |
從內(nèi)存中劃出若干個(gè)字節(jié)排嫌,每個(gè)bit標(biāo)識(shí)1個(gè)存儲(chǔ)塊空閑(1)或占用(0)狀態(tài) |
文件目錄
也稱文件名址錄畸裳,記錄文件名和存放地址的目錄表
具有將文件名轉(zhuǎn)換為外存物理位置功能
文件屬性也記錄在目錄中目錄文件
文件目錄以文件形式存于外存的文件-
目錄結(jié)構(gòu)
主要包括單極目錄、二級(jí)目錄和多級(jí)目錄(樹型目錄)
不同系統(tǒng)的文件目錄的組織不完全相同
DOS系統(tǒng)(32字節(jié))
DOS系統(tǒng)的目錄結(jié)構(gòu)
Unix淳地,文件目錄項(xiàng)中的文件名和其他屬性信息分開怖糊,后者單獨(dú)組成一個(gè)定長(zhǎng)數(shù)據(jù)結(jié)構(gòu),索引結(jié)點(diǎn)i_node
- 文件全名
包含從根目錄開始到文件為止的通路上所有子目錄路徑
子目錄之間用"/"或"\"隔開
子目錄名組成的部分又稱為路徑名颇象,每個(gè)文件都有唯一的路徑名
路徑名的形式包括絕對(duì)路徑名(從根目錄到指定文件)伍伤,相對(duì)路徑名(從當(dāng)前目錄到指定文件)
- 文件的保護(hù)
對(duì)文件的訪問系統(tǒng)首先要檢查訪問權(quán)限
操作 | 標(biāo)識(shí) | 操作 | 標(biāo)識(shí) |
---|---|---|---|
僅允許執(zhí)行 | E | 僅允許讀 | R |
僅允許寫 | W | 僅允許在文件尾寫 | A |
僅允許對(duì)文件進(jìn)行修改 | U | 允許改變文件的存取權(quán)限 | C |
允許取消文件 | U |
文件操作 | 目錄操作 | 相關(guān)常見API | 典型文件系統(tǒng) |
---|---|---|---|
創(chuàng)建文件 寫文件 讀文件 文件定位 刪除文件 截短文件 屬性設(shè)置和讀取 |
創(chuàng)建目錄 刪除目錄 |
Create Delete Rename File_attribute Open Close Write Read DIR_read DISK_space Link Unlink File_date |
FAT16 FAT32 NTFS EXT2 EXT3 EXT4 |