文件系統基礎
文件的概念
1.文件的定義
文件是以計算機硬盤爲載體存儲在計算機上的信息集合,文件可以是文本文檔,圖片,程序等;用戶進行的輸入輸出中,則以文件爲基本單位。
- 數據項:用於描述一個對象的某種屬性的一個值
- 記錄:相關的數據項集合
- 文件:
2.文件的屬性
- 名稱:唯一
- 標識符:標識文件系統內文件的唯一標識,通常爲數字,對人不可讀的內部名稱
- 類型:
- 位置:指向設備和設備上文件的指針
- 大小
- 保護:進行保護的訪問控制信息
- 時間,日期和用戶標識
3.文件的基本操作
- 創建文件
- 寫文件
- 讀文件
- 文件重定位
- 刪除文件
- 截斷文件
4.文件的打開與關閉
- 文件指針:系統跟蹤上次讀寫位置作爲當前文件位置指針,
- 文件打開計數
- 文件磁盤位置
- 訪問權限
文件的邏輯結構
文件的邏輯結構是從用戶觀點出發看到的文件的組織形式,文件的物理結構是從實現觀點出發,又稱爲文件的存儲結構,物理結構與存儲介質的特性有關
1.無結構文件(流式文件)
將數據按順序組織成記錄並積累保存,它是有序相關信息項的集合,以字節(Byte)爲單位。
2.有結構文件(記錄式文件)
- 順序文件:串結構--記錄之間的順序與關鍵字無關,通常按存入時間的現後順序;順序結構,按關鍵字順序排序
- 索引文件:定長記錄文件
- 索引順序文件:順序和索引兩種組合,順序文件上建立一張索引表。
- 直接文件或散列文件:給定記錄的鍵值或通過Hash 函數轉換的鍵值直接決定記錄的物理地址。沒有順序的特性
目錄結構
1.文件控制塊和索引結點
1)文件控制塊:FCB是用來存放控制文件需要的各種信息的數據結構
主要包含:
- 基本信息
- 存取控制信息:存取權限
- 使用信息
2)索引結點
查找文件名與目錄項中文件名匹配
存放在磁盤上的索引結點稱爲磁盤索引結點
- 文件主標識符
- 文件類型
- 文件存取權限
- 文件物理地址
- 文件長度
2.目錄結構
- 搜索
- 創建文件
- 刪除文件
- 顯示目錄
- 修改目錄
文件共享
共享文件,系統中只需保留該文件的一份副本。
1.基於索引結點的共享方式(硬鏈接)
在樹形結構的目錄中,當有兩個或多個用戶要共享一個子目錄或文件時,必須將共享文件或子目錄鏈接到兩個或多個用戶的目錄中,才能方便找到文件
2.利用符號鏈實現文件共享(軟鏈接)
只有擁有者才擁有指向其索引結點的指針,,共享文件的用戶只有該文件的路徑名。
文件保護
通過口令保護,加密保護,訪問控制方式;口令,加密保護是爲了防止用戶文件被他人存取或竊取,而訪問控制則用於控制用戶對文件的訪問方式
1.訪問類型:讀寫執行,添加,刪除,列表清單
2.訪問控制
常用方法是根據用戶身份進行控制,在每個文件和目錄增加一個訪問控制列表 ACL
文件系統實現
文件系統層次結構
文件實現
1.文件分配方式
對應文件的物理結構,是指如何爲文件分配磁盤塊,常用三種:連續分配,鏈接分配,索引分配。
1)連續分配:要求每個文件在磁盤上佔有一組連續的塊
2)鏈接分配:採取離散分配,消除外部碎片,提高了磁盤利用率
3)索引分配:解決了連續分配的外部碎片和文件大小管理的問題,但是不能有效支持直接訪問。
磁盤組織與管理
磁盤的結構
磁盤是由表面塗有磁性物質的金屬或塑料構成的圓形盤片,
磁盤調度算法
磁盤讀寫操作的時間由尋找(尋道)時間,延遲時間和傳輸時間決定:
1)尋找時間Ts:活動頭磁盤在讀寫信息前,將磁頭移動到指定磁道所需的時間。這個時間除跨越n條磁道的時間外,還包括啓動磁臂時間s : Ts=m*n+s (磁臂移動時間0.2ms,s約爲2ms)
2)延遲時間Tr: 磁頭定位到某一磁道的扇區(塊號)所需的時間,設磁盤的旋轉速度爲r
Tr=1/2r
3) 傳輸時間Tt:從磁盤讀出或向磁盤寫入數據所經歷的時間,這個時間取決於每次所讀寫的字節b和磁盤的旋轉速度:
Tt=b/rN (r爲磁盤每秒得轉數,N是每個磁道上的字節數)
- 先來先服務(FCFS):優點具有公平性
- 最短尋找時間優先SSTF:選擇調度處理的磁道是當前磁頭所在磁道距離最近的磁道,使每次的尋找時間最短。會產生飢餓
- 掃描(SCAN)(電梯)算法:不但知道磁頭的當前位置,還要知道磁頭的移動方向
- 循環掃描C-SCAN:單向移動,到達請求最遠的一端即可,不需到達磁盤端點。