第七 八章 檔案(一)

2021-09-02 02:34:14 字數 3046 閱讀 3630

把所管理的程式和資料組織成一系列的檔案,並能進行合理的儲存、使用等操作。

資料項:描述物件某種屬性的字符集;是資料組織中可以命名的最小邏輯資料單位。

記錄關鍵字:乙個記錄中的乙個或幾個資料項的集合,用於唯一的標識乙個記錄。

檔案

1)建立/刪除檔案

2)讀、寫

3)設定檔案讀寫位置,實現隨機訪問(尤其適用於記錄檔案)

4)開啟」與「關閉」:檔案讀/寫操作 = 檢索 + 讀/寫。

一次檢索到檔案後就在記憶體中記錄其位置,避免重複檢索。被記錄下位置的檔案就是「開啟」檔案;

5)其他操作:改名、改所屬使用者、改訪問許可權等屬性的操作。     

1、有結構檔案(記錄式)

①定長記錄

②變長記錄

任何組織記錄:

順序檔案。         系統需按該型別記錄「長度」,通常定長。

索引檔案。         系統需為檔案建立索引表。

索引順序檔案。  建索引表,記錄每組記錄的第乙個記錄位置

直接檔案。

定長記錄 適合組織成 順序檔案(順序檔案不等於 定長,變長檔案也可以是順序檔案)

變長記錄 適合組織成 索引檔案

較大檔案可組織成 索引順序檔案

順序檔案:1.1 串結構:按記錄形成的時間順序序列排序

1.1.1 具體的定址過程:

1.2順序結構:按關鍵字排序,可按關鍵字檢索

1.2.1  定長:  結合折半查詢演算法等提高檢索速度

1.2.2 變長:  從第1個記錄開始順序掃瞄,直到掃瞄到要檢索的關鍵字標識的記錄

索引檔案

乙個索引檔案可以有多個索引表

適用於變長記錄,可提高檢索速度,實現直接訪問 索引表增加了儲存開銷

索引順序檔案:

既方便,又要降低儲存索引表的開銷

檢索一條記錄的過程:

先計算記錄是在第幾組,然後再檢索索引確定組在**後,在組內順序查詢。

④直接檔案

給定鍵值(如學號)不需順序檢索直接得到記錄的實體地址

2、無結構檔案(字元流式)

位元組為單位,利用讀寫指標依次訪問。

系統對該類檔案不需格式處理。

6.1:方式

連續分配

鏈結分配(不連續)

索引分配

1)連續分配(適用於變化不大順序訪問的檔案    ep:對換區)

邏輯檔案中的記錄順序與儲存器中檔案占用盤塊的順序一致。

乙個檔案對於乙個fcb

優點:     順序訪問容易,讀寫速度快

缺點: 會產生外存碎片。

建立檔案時要給出檔案大小;

2)鏈結分配

可以為每乙個檔案分配一組不相鄰的盤塊。

設定鏈結指標,將同屬於乙個檔案的多個離散盤塊鏈結成乙個鍊錶

優點: 離散分配,消除外部碎片,提高利用率

同時適用於檔案的動態增長;修改容易

2.1 隱式鏈結    鏈結資訊隱含記錄在外存檔塊資料中;

每個盤塊拿出若干位元組,記錄指向下一盤塊號的指標。

缺點:只能順著盤塊讀取,可靠性低

2.2 顯式鏈結  (fat)

記錄盤塊鏈結的指標顯示地記錄為一張鏈結表

所有已分配的盤塊號都記錄在其中,稱檔案分配表

fat 開始在外存,執行後在記憶體(為了提高檔案系統訪問速度,fat一般常駐記憶體)

外存有多少盤塊,fat就有多少項

表項個數     =  盤塊個數         =  容量 / 盤塊大小

表項大小,決定於盤塊數量編號需要的位數

fat表大小 = 表項個數 * 表項大小

3)索引分配

①單級索引分配     適合大檔案

中、小型檔案用索引分配較浪費,只需若干鏈結即可

②多級索引     若索引盤塊數量較少用指標鏈結的方式即可;

若索引盤塊較多,需對索引盤塊也採用索引方式管理,形成多級索引

③混合組織索引(增量式索引組織方式)

iaddr(0)~iaddr(9)存放直接位址,即存檔案資料的盤塊號;

iaddr(10)存放單級索引的索引盤塊號; 剩餘的用於檔案較大時存放多級索引資料。

iaddr(11)存放二級索引的主索引盤塊號

iaddr(12)存放**索引的主索引盤塊號

6.2 結構

用的磁碟分配方式決定了檔案的  「物理結構」  

順序結構;鏈結式結構;索引式結構。

7.1典型的管理方法:

1)空閒表和空閒鍊錶法 :

空閒表:  常用於連續分配管理方式

空閒鍊錶法: 將所有空閒盤區拉成一條空閒鏈。

根據構成鏈所用基本元素的不同,可把鍊錶分成兩種形式:

空閒盤塊鏈 :將磁碟上的所有空閒空間,以盤塊為單位拉成一條鏈。

空閒盤區鏈:將所有空閒盤區拉成一條鏈

為提高檢索速度,可以採用顯式方法,為空閒盤區建立一張鍊錶放在記憶體中。

2)位示圖法  :

磁碟上的所有盤塊都有乙個二進位制位與之對應,這樣由所有盤塊所對應的位構成乙個集合,稱為位示圖。

優點:從位示圖中很容易找到乙個或一組相鄰接的空閒盤塊。 但限於容量問題,常用於微型機和小型機中。   

3)成組鏈結法

中心思想:

所有盤塊按規定大小劃分為組;

組間建立鏈結;

組內的盤塊借助乙個系統棧可快速處理,且支援離散分配**。

第 七 八章 檔案

為檔案設定用於描述和控制檔案的資料結構,稱之為 檔案控制塊 fcb 檔案與檔案控制塊一一對應 記錄檔名及其存放位址 檔案的說明和控制資訊。檔案管理程式借助於檔案控制塊中的資訊對檔案施以各種操作。把 檔案控制塊的有序集合稱為 檔案目錄。即乙個檔案控制塊就是乙個目錄項。通常乙個檔案目錄也被看作是乙個檔案...

第七八章 ping traceroyte

ping send icmp echo request to network hosts opion abdqr c count i interval i inte ce w deadline w timeout introduction a 跟隨rrt而調整下傳送一次請求的時間。b 允許廣播 d ...

第七 八章 類和物件

第七章 類和物件介紹 1.函式名以小寫字母開頭,之後單詞大寫字母開頭 使用者定義類以大寫字母開頭,之後也是大寫字母開頭 2.介面與實現的分離 3.區域性變數宣告在函式體中,只作用於當前函式,資料成員對類的所有成員函式均可訪問 4.string類的實現 簡單實現 參考 第八章 類的深入剖析 1.等價於...