⑴ 順序文件和連續文件是一回事嗎
順序文件是記錄按其在文件中的邏輯順序依次存入存儲介質而建立的。即順序文件中的物理記錄和邏輯記錄的順序是一致的。順序文件又包括兩種:連續文件和串聯文件。連續文件中次序相繼的兩個記錄在存儲介質上的位置是相鄰的。串聯文件(linked file)中物理記錄的次序是通過指針(pointer)的鏈接表示的。
順序文件是根據記錄的序號或記錄的相對位置來進行存取的文件組織方式。它的特點是:
(1)存取第i個文件,必須先搜索在它之前的i-1個記錄。
(2)插入新的記錄只能加在文件的末尾。
(3)若要更新文件中的某個記錄,則必須將整個文件進行復制。
由於順序文件的優點是連續存取的速度快,因此主要用於只進行順序存取、批量修改的情況。若對應答時間要求不嚴格,也可進行直接存取。
把文件的若干個物理塊用鏈表結構組織起來,稱為鏈接組織,這樣的文件稱為串聯文件
(1)在串聯文件中,每個物理塊有一個鏈接指針,指向下一物理塊,最後一個物理塊的鏈接指針單元為符號「∧」,表示無後繼塊。
(2)優點:不必預先限定文件的長度,增加或減少或插入物理塊相當方便。
(3)缺點:查找鏈表的時間開銷較大,特別當鏈表很長時
隨機文件的概念
隨機存取文件(Random Access File)簡稱隨機文件。
隨機存取文件又稱"直接存取文件"。
⑵ 什麼是文件的邏輯組織和物理組織文件的邏輯組織有幾種形式
1 文件的邏輯組織
文件的邏輯組織通常分為兩種形式,即有結構文件和無結構文件.
1)有結構文件
又稱作記錄式文件,它在邏輯上可被看成一組連續記錄的集合,即文件是由若干個相關的記錄組成.每個記錄是一組相關的數據集合,用於描述一個對象某個方面的屬性.
記錄式文件按其記錄的長度是否相同又可分為:定長記錄文件和變長記錄文件兩種.
(1)定長記錄文件:指文件中所有記錄的長度都相同.文件的長度可用記錄的數目來表示.定長記錄處理方便,開銷小,被廣泛用於數據處理中.
(2)變長記錄文件:指文件中各記錄的長度不相同.在處理之前每個記錄的長度是已知的.
2)無結構文件
無結構文件是指文件內部不再劃分記錄,它是由一組相關信息組成的有序字元流,即流式文件,其長度直接按位元組計算.如大量的源程序、可執行程序、庫函數等採用的文件形式是無結構文件形式.在UNIX系統中,所有的普通文件都被看做是流式文件,系統不對文件進行格式處理.
2 文件的物理組織
幾種基本的文件物理存儲組織形式:
1)連續文件
連續文件(又稱做順序文件)是基於磁帶設備的最簡單的物理文件結構,它是把一個邏輯上連續的文件信息存放在連續編號的物理塊(或物理記錄)中.
連續文件的優點是在順序存取時速度較快,常用於存放系統文件,如操作系統文件、編譯程序文件和其它由系統提供的實用程序文件,因為這類文件往往被從頭至尾依次存取.
但連續文件也存在如下缺點:
(1)要求建立文件時就確定它的長度,依此來分配相應的存儲空間,這往往很難實現.
(2)不便於文件的動態擴充.
(3)可能出現外部碎片,就是在存儲介質上存在很多空閑塊,但它們都不連續,無法被連續的文件使用,從而造成浪費.
2)串連文件
為克服連續文件的缺點,可把一個邏輯上連續的文件分散存放在不同的物理塊中,這些物理塊不要求連續,也不必規則排列.為了使系統能找到下一個邏輯塊所在的物理塊,可在各物理塊中設立一個指針(稱為連接字),它指示該文件的下一個物理塊.
串連文件克服了連續文件的缺點,但它又帶來新的問題:
(1)一般僅適於對信息的順序訪問,而不利於對文件的隨機存取.
(2)每個物理塊上增加一個連接字,為信息管理添加了一些麻煩.
3)FAT文件
串連文件的缺點可通過把連接字放在一個內存表格中的方式加以克服.這種在內存中的表格就稱為文件分配表(FAT,File Allocation Table).
由於連接字保存在FAT表項中,因此整個盤塊都可以用來存放數據.另外,也更容易實現隨機存取了.與串連文件相似,在文件目錄中要添加一個整數,標明該文件的起始盤塊號.
這種方法的主要缺點是整個FAT必須在系統工作期間始終駐留在內存中,從而佔用了較多內存空間.當然,可以把這個表移到分頁內存中,採用調頁方式進行管理.但是,仍然要佔用大量的虛存空間和盤空間,同時也會產生額外缺頁問題.
4)索引文件
索引文件是實現非連續分配的另一種方案:系統為每個文件建立一個索引表.其中的表項指出存放該文件的各個物理塊號,而整個索引表由文件說明項指出.
這種結構除了具備串連文件的優點之外,還克服了它的缺點.它可以方便地進行隨機存取.但是這種組織形式需要增加索引表帶來的空間開銷.如果這些表格僅放在盤上,那麼在存取文件時首先得取出索引表,然後才能查表、得到物理塊號.這樣就至少增加了一次訪盤操作,從而降低了存取文件的速度,加重了 I/O負擔.一種改進辦法是同時把索引表部分或全部地放人內存.這是以內存空間為代價來換取存取速度的改善.
5)多重索引文件
為了用戶使用方便,系統一般不應限制文件的大小.如果文件很大,那麼不僅存放文件信息需要大量盤塊,而且相應的索引表也必然很大.在這種情況下把索引表整個放在內存是不合適的,為此引出多重索引結構(又稱多級索引結構).在這種結構中採用了間接索引方式,即由最初索引項中得到某一盤塊號,該塊中存放的信息是另一組盤塊號;而後者每一塊中又可存放下一組盤塊號(或者是文件本身信息),這樣間接幾級(通常為1~3級),最末尾的盤塊中存放的信息一定是文件內容.例如,UNIX文件系統就採用了多重索引的方式.
這種方法具有一般索引文件的優點,但也存在間接索引需要多次訪盤而影響速度的缺點.由於UNIX分時環境中多數文件都較小,這就大大減弱了其缺點所造成的不利影響。
⑶ 順序訪問磁碟上的物理記錄時效率最高的是什麼文件
順序訪問磁碟上的物理記錄時效率最高的是,連續結構的文件。根據查詢相關資料信息,採用直接存取方法來讀寫磁碟上的物理記錄時,應採用連續結構的文件存儲方式,對於連續結構的文件存儲方式來說,只要知道文件在存儲設備上的起始地址(首塊號)和文件長度(總塊數),就能很快地進行存取。索引結構也是直接存取的,但要訪問索引表。鏈接結構不是直接存取的。連續文件是一種最簡單的物理文件結構,把一個邏輯上連續的文件信息依次存放到物理塊中。連續文件的優點是一旦知道文件在文件存儲設備上的起始位置和文件長度,就能進行存取。連續文件適合於順序存取,在連續存取相鄰數據塊時,存取速度快。其缺點是在文件建立時必須指定文件的信息長度,以後不能動態增長,不適用於需要經常修改的文件。連續文件也適合於直接存取。連續文件的優點是一旦知道文件在文件存儲設備上的起始位置和文件長度,就能進行存取。
⑷ 操作系統--文件管理
文件系統:是操作系統中與文件管理相關的軟體和數據的集合
1.創建文件
2.寫文件
3.讀文件
4.文件重定位
5.刪除文件
6.截斷文件
7. 打開 :大部分操作系統要求在文件使用之前就被顯式地打開,操作open會根據文件名搜索目錄,並將目錄條目復制到 打開文件表
系統打開文件表 打開每個文件時會用一個文件打開計數器記錄多少進程打開了文件,當計數器為0時,表示該文件不再被使用。
8. 關閉
1.無結構文件(流式文件):將數據按順序組織記錄,以位元組為單位
2.有結構文件(記錄式文件)
1)順序文件 :記錄通常定長,可以順序存儲或以鏈表形式存儲
2)索引文件 :索引表本身是定長記錄的順序文件
3)索引順序文件:索引順序文件將順序文件中的所有記錄分為若干組,為順序文件建立一張索引表。
4)直接文件或散列文件:根據鍵值直接決定記錄的物理地址,這種映射結構沒有順序特性。
目錄本身也是一個文件,它是一種管理其他文件的文件。
文件控制塊(FCB):用來存放控制文件需要的各種信息的數據結構,以實現「按名存取」,FCB的有序集合稱為文件目錄,一個FCB就是一個文件目錄項。
FCB=基本信息+存取控制信息+使用信息
文件共享使多個用戶共享同一文件,而系統中只需保留一份副本。分為兩種方式,硬連接與軟連接。
硬鏈接採用索引結點方式,在文件目錄中設置文件名及指向相應索引結點的指針。在索引結點中有一個鏈接計數,用於表示鏈接到本索引結點上的用戶目錄項的數目
利用符號鏈實現文件共享,只有文件的擁有者才擁有指向其索引結點的指針,其他文件都是創建一個只包含到目標文件的路徑名的新文件(win下的快捷方式)。
優點:文件擁有者可以刪除被他人共享的文件
缺點:訪問時需要根據路徑查找,開銷大
1.連續分配:每個文件在磁碟上佔有一組連續的塊,FCB中包含第一塊的磁碟地址和連續塊的數量
2.隱式鏈接分配:每個文件對應一個磁碟快的鏈表,磁碟塊離散分布,目錄包括第一塊的指針和最後一塊指針
3.顯式連接分配:用於鏈接文件各物理塊的指針,顯式地存放在內存的一張鏈接表。該表稱為文件分配表FAT,整個磁碟設置一張
4.索引分配:把文件的所有盤塊號都集中放在一起構成索引表,目錄包含索引塊的地址。
1.先來先服務(FCFS)演算法
2.最短尋找時間優先(SSTF)演算法----->會產生「飢餓」現象
3.掃描(SCAN)演算法(電梯演算法)
4.循環掃描法(C-SCAN)演算法
step1:低級初始化,物理格式化。各個磁軌劃分為扇區,扇區校驗碼
step2:將磁碟分區
step3:邏輯格式化。創建文件系統(根目錄,管理塊的初始化)