檔案管理
作業系統對計算機的管理包括兩個方面:硬體資源和軟體資源。硬體資源的管理包括cpu 的管理、儲存器的管理、裝置管理等,主要解決硬體資源的有效和合理利用問題。
軟體資源包括各種系統程式、各種應用程式、各種使用者程式,也包括大量的文件材料、庫函式等。每一種軟體資源本身都是具有一定邏輯意義的相關資訊的集合,在作業系統中它們以檔案形式儲存。
計算機系統的重要作用之一是能快速處理大量資訊,因此資料的組織、訪問和保護成為乙個極重要的內容。檔案系統是作業系統中組織、訪問和保護資料的乙個重要部分。
檔案管理的功能包括:建立、修改、刪除檔案;按檔名訪問檔案;決定檔案資訊的存放位置、存放形式及訪問許可權;管理檔案間的聯絡及提供對檔案的共享、保護和保密等。允許多個使用者協同工作又不引起混亂。檔案的共享是指乙個檔案可以讓多個使用者共同使用,它可以減少使用者的重複性勞動,節省檔案的儲存空間,減少輸入/輸出檔案的次數等。檔案的保護主要是為防止由於錯誤操作而對檔案造成的破壞。檔案的保密是為了防止未經授權的使用者對檔案進行訪問。
檔案的保護、保密實際上是使用者對檔案的訪問許可權控制問題。一般為檔案的訪問設定兩級控制:第 1 級是訪問者的識別,即規定哪些人可以訪問;第 2 級是訪問許可權的識別,即有權參與訪問者可對檔案執行何種操作。
1.檔案的邏輯結構
檔案的結構是指檔案的組織形式,從使用者角度所看到的檔案組織形式,稱為檔案的邏輯結構。
檔案的邏輯組織是為了方便使用者使用。一般檔案的邏輯結構可以分為兩種:無結構的字元流檔案和有結構的記錄檔案。記錄檔案由記錄組成,即檔案內的資訊劃分成多個記錄,以記錄為單位組織和使用資訊。
記錄檔案有順序檔案、索引順序檔案、索引檔案和直接檔案。
(1)順序檔案。大多數檔案是順序檔案。順序檔案的記錄定長,記錄中的資料項的型別長度與次序固定,一般還有乙個可以唯一標識記錄的資料項,稱為鍵(key),記錄是按鍵值的約定次序組織的。順序檔案常用於批處理應用,對於查詢或更新某個記錄的處理效能不太好。
(2)索引順序檔案。索引順序檔案是基於鍵的約定次序組織的,而且維護鍵的索引和溢位區域。鍵的索引也可以是多級索引。索引順序檔案既適用於互動方式應用,也適用於批處理方式應用。
(3)索引檔案。索引檔案是基於記錄的乙個鍵資料項組織的。許多應用需按照別的資料項訪問檔案,為此,常採用索引檔案方法,即對主檔案中的記錄按需要的資料項(乙個或幾個)建索引,索引檔案本身是順序檔案組織。
(4)直接檔案。直接檔案又稱雜湊(hash)檔案。記錄以它們在直接訪問儲存裝置上的實體地址直接(隨機地)訪問。直接檔案常用 於需要高速訪問檔案而且每次僅訪問一條記錄的應用中。
2.檔案的物理結構
檔案的物理結構是指檔案在儲存裝置上的存放方法。檔案的物理結構側重於提高儲存器的利用效率和降低訪問時間。檔案的儲存裝置通常劃分為大小相同的物理塊,物理塊是分配和傳輸資訊的基本單位。檔案的物理結構涉及檔案儲存裝置的組塊策略和檔案分配策略,決定檔案資訊在儲存裝置上的儲存位置。常用的檔案分配策略有:
(1)順序分配(連續分配)。這是最簡單的分配方法。在檔案建立時預先分配一組連續的物理塊,然後,按照邏輯檔案中的資訊(或記錄)順序,依次把資訊(或記錄)按順序儲存到物理塊中。這樣,只需知道檔案在檔案儲存裝置上的起始位置和檔案長度,就能進行訪問,這種分配方法適合於順序訪問,在連續訪問相鄰資訊時,訪問速度快。其缺點是在檔案建立時必須指定檔案的首席資訊官度,以後不能動態增長,一般不宜用於需要經常修改的檔案。
(2)鏈結分配(串聯分配)。這是按單個物理塊逐個進行的。每個物理塊中(一般是最後乙個單元)設有乙個指標,指向其後續連線的下乙個物理塊的位址,這樣,所有的物理塊都被鏈結起來,形成乙個鏈結佇列。在建立鏈結檔案時,不需要指定檔案的長度,在檔案的說明資訊中,只需指出該檔案的第乙個物理塊塊號,而且鏈結檔案的檔案長度可以動態地增長。只調整物理塊間的指標就可以插入或刪除乙個資訊塊。
鏈結分配的優點是可以解決儲存器的碎片問題,提高儲存空間利用率。由於鏈結檔案只能按照佇列中的鏈結指標順序查詢,因此搜尋效率低,一般只適用於順序訪問,不適用於隨機訪問。
(3)索引分配。這是另一種對檔案儲存不連續分配的方法。採用索引分配方法的系統,為每乙個檔案建立一張索引表,索引表中每一表項指出檔案資訊所在的邏輯塊號和與之對應的物理塊號。
索引分配既可以滿足檔案動態增長的要求,又可以方便而迅速地實現隨機訪問。對一些大的檔案,當索引表的大小超過乙個物理塊時,會發生索引表的分配問題。一般採用多級(間接索引)技術,這時在由索引表指出的物理塊中存放的不是檔案存放處而是存放檔案資訊的物理塊位址。這樣,如果乙個物理塊能儲存 n 個位址,則一級間接索引將使可定址的檔案長度變成 n2 塊,對於更大的檔案可以採用二級甚至**間接索引(例如,unix 作業系統採用**索引結構,如圖 2-9 所示)。
索引檔案的優點是既適用於順序訪問,又適用於隨機訪問。缺點是索引表增加了儲存 空間的開銷。另外,在訪問檔案時需要訪問兩次磁碟,一次是訪問索引表,另一次是根據索引表提供的物理塊號訪問檔案資訊。為了提高效率,一種改進的方法是,在對某個檔案進行操作之前,預先把索引表調入記憶體。這樣,檔案的訪問就能直接從記憶體的索引表中確定相應的物理塊號,從而只需要訪問一次磁碟。
3.檔案儲存裝置管理
檔案儲存裝置管理,就是作業系統要有效地進行儲存空間的管理。由於檔案儲存裝置是分成許多大小相同的物理塊,並以塊為單位交換資訊,因此,檔案儲存裝置的管理實質上是對空閒塊的組織和管理問題。它包括空閒塊的組織,空閒塊的分配與空閒塊的**等問題。有3種不同的空閒塊管理方法,它們分別是索引法、鏈結法和位示圖法。
(1)索引法。索引法把空閒塊作為檔案並採用索引技術。為了有效,索引對應於乙個 或由幾個空閒塊構成的空閒區。這樣,磁碟上每乙個空閒塊區都對應於索引表中乙個條目,這個方法能有效地支援每一種檔案分配方法。
(2)鏈結法。鏈結法使用鍊錶把空閒塊組織在一起,當申請者需要空閒塊時,分配程 序從鏈首開始摘取所需的空閒塊。反之,管理程式把**的空閒塊逐個掛入隊尾,這個方 法適用於每一種檔案分配方法。空閒塊的鏈結方法可以按釋放的先後順序鏈結,也可以按 空閒塊區的大小順序鏈結。後者有利於獲得連續的空閒塊的請求,但在分配請求和**空閒塊時系統開銷多一點。
(3)位示圖法。該方法是在外存上建立一張位示圖(bitmap),記錄檔案儲存器的使 用情況。每一位僅對應檔案儲存器上的乙個物理塊,取值0 和1 分別表示空閒和占用。檔案儲存器上的物理塊依次編號為:0、1、2、…。假如系統中字長為32位,有4096個物
理塊,那麼在位示圖中的第1個字對應檔案儲存器上的0、1、2、…、31號物理塊;第2 個字對應檔案儲存器上的32、33、34、…、63號物理塊;第128字對應檔案儲存器上的4064、4065、…、4095號物理塊。這樣位示圖的大小為32字。
位示圖是利用二進位制的一位來表示磁碟中乙個盤塊的使用情況,如圖2-10 所示。當其 值為「0」時,表示對應的盤塊空閒;為「1」時表示已分配。由所有盤塊對應的位構成乙個集合,稱為位示圖。位示圖也可描述為乙個二維陣列map:varmap:array[1.…m,1.…n]of bit;
4.樹型目錄結構
在計算機的檔案系統中,一般採用樹型目錄結構。在樹型目錄結構中,樹的根結點為根目錄,資料檔案作為樹葉,其他所有目錄均作為樹的結點。
根目錄隱含於乙個硬碟的乙個分割槽中,根目錄在最頂層。它包含的子目錄是一級子目錄。每乙個一級子目錄又可以包含若干二級子目錄,…,這樣的組織結構就叫作目錄樹。
當前盤和當前目錄是系統預設的操作物件。如果使用者沒有指明操作物件,系統就將使用者命令指向當前盤和當前目錄。
路徑是指從根目錄或者當前目錄開始到訪問物件(目錄或者檔案),在目錄樹中路經的所有目錄的序列。例如「c:\dos\lmouse\mouse」就是 windows 系統中的一條路徑。在樹型目錄結構中,從根目錄到任何資料檔案之間,只有一條唯一的通路,從樹根開始,把全部目錄檔名與資料檔名,依次用「/」(unix/linux 系統)或「\」(windows 系統)連線起來,構成該資料檔案的路徑名,且每個資料檔案的路徑名是唯一的。這樣,便可以解決檔案重名問題。
從樹根開始的路徑為絕對路徑,如果檔案系統有很多級時,使用不是很方便,所以引入相對路徑,即從當前目錄開始,再逐級通過中間的目錄檔案,最後到達所要訪問的資料檔案。
絕對路徑給出檔案或目錄位置的完全描述,通常由層次結構的頂端開始(根目錄),通常第乙個字元是「/」(unix/linux 系統)或者是碟符(windows 系統)。相對路徑通常由目錄結構中的當前位置開始,一般都比絕對路徑要短。
父目錄是指當前路徑的上一層目錄。每個目錄下都有代表當前目錄的「.」檔案和代表當前目錄父目錄的「..」檔案,相對路徑名一般就是從「..」開始的。
作業系統基本原理 作業管理
作業管理 從使用者的角度看,作業是系統為完成乙個使用者的計算任務 或一次事務處理 所做的工作總和。例如,對於使用者編制的源程式,需經過對源程式的編譯 連線編輯或連線裝入及執行產生計算結果。這其中的每乙個步驟,常稱為作業步,作業步的順序執行即完成了乙個作業。從系統的角度看,作業則是乙個比程式更廣的概念...
軟考 作業系統基本原理
考試佔到5 7分 1.作業系統概述 管理整個系統的軟硬體資源的 控制程式執行 人機介面 應用軟體與硬體之間的介面。程序管理 儲存管理 檔案管理 作業管理 裝置管理 2.1 程序管理 程序狀態 就緒 缺少cpu資源 執行 等待 不只是缺少cpu資源 2 前驅圖 完成一項工作,按照順序邏輯結構約束的圖,...
作業系統 10 I O 基本原理
引言 什麼是i o i o包含兩部分,i o裝置和i o介面以及如何管理i o裝置,i o裝置就是我們常見的磁碟 網絡卡 滑鼠鍵盤 印表機和顯示器等。接下來的文章就要學習i o裝置 i o模型和i o 中斷處理和錯誤處理。i o硬體原理 io裝置 字元裝置 傳送和接收乙個字元流,不可定址。例如印表機...