操作系統為什麼用文件管理數據
1. 操作系統是以什麼為單位對數據進行管理的
操作系統是以文件為單位對數據進行管理的。
1、「文件」方式其實只是人為地給它取了個名字,實際上它是個索引。就像一本小說的前面也會有個索引,標明哪一章在多少頁開始一樣。簡潔有序,便於操作和管理
2、如果是以位元組管理,操作系統會過於繁雜,用戶的數據在文件中符合局部性原理,體現了模塊化思想,以位元組為單位會使得系統調度極其復雜,不容易實現。
2. 為什麼操作系統以文件而不是數據項、記錄等為單位管理數據
操作系統是給所有人用的,操作方式肯定得符合大部分人的操作習慣。
如果是以位元組管理,估計操作系統得累死,用戶的數據在文件中符合局部性原理,體現了模塊化思想,以位元組為單位會使得系統調度極其復雜,不容易實現。
3. 操作系統文件管理的主要功能是
在操作系統中文件管理的主要作用是實現文件的虛擬存取和高速存取。操作系統是用戶和計算機的介面,同時也是計算機硬體和其他軟體的介面。操作系統的功能包括管理計算機系統的硬體、軟體及數據資源、控製程序運行、改善人機界面、為其他應用軟體提供支持等。
在操作系統中文件管理的主要作用是實現文件的虛擬存取和高速存取。操作系統是用戶和計算機的介面,同時也是計算機硬體和其他軟體的介面。操作系統的功能包括管理計算機系統的硬體、軟體及數據資源、控製程序運行、改善人機界面、為其它應用軟體提供支持等。
4. 操作系統文件管理的主要功能是
在操作系統中文件管理的主要作用是實現文件的虛擬存取和高速存取。操作系統是用戶和計算機的介面,同時也是計算機硬體和其他軟體的介面。操作系統的功能包括管理計算機系統的硬體、軟體及數據資源、控製程序運行、改善人機界面、為其它應用軟體提供支持等。
使計算機系統所有資源最大限度地發揮作用,提供了各種形式的用戶界面,使用戶有一個好的工作環境,為其它軟體的開發提供必要的服務和相應的介面。實際上,用戶是不用接觸操作系統的,操作系統管理著計算機硬體資源,同時按著應用程序的資源請求,為其分配資源,如:劃分CPU時間,內存空間的開辟,調用列印機等。
5. 利用文件系統處理數據與資料庫系統處理數據有什麼不同各有何優缺點
一、文件系統有明顯的缺點:
1、編寫應用程序很不方便。
2、文件的設計很難滿足多種應用程序的不同要求,數據冗餘經常是不可避免的。
3、文件結構的修改將導致應用程序的修改,應用程序的維護量將很大。
4、文件系統不支持對文件的並發訪問(concurrent access)。
二、優點:
1、提供高級的用戶介面。
2、查詢處理和優化。
3、數據目錄管理。
4、並發控制。
5、恢復功能。
6、完整性約束檢查。
7、訪問控制。
6. 操作系統(四)文件管理
文件—就是一組有意義的信息/數據集合
文件屬於抽象數據類型。為了恰當地定義文件,需要考慮有關文件的操作。操作系統提供系統調用,它對文件進行創建、寫、讀、重定位、搠除和截斷等操作。
所謂的「邏輯結構」,就是指在用戶看來,文件內部的數據應該是如何組織起來的。而「物理結構」指的是在操作系統看來,文件的數據是如何存放在外存中的。
無結構文件:文件內部的數據就是一系列二進制流或字元流組成。又稱「流式文件」
文件內部的數據其實就是一系列字元流,沒有明顯的結構特性。因此也不用探討無結構文件的「邏輯結構」問題。
有結構文件:由一組相似的記錄組成,又稱「記錄式文件」。每條記錄又若干個數據項組成。 [1] 一般來說,每條記錄有一個數據項可作為關鍵字。根據各條記錄的長度(佔用的存儲空間)是否相等,又可分為定長記錄和可變長記錄兩種。有結構文件按記錄的組織形式可以分為:
對於含有N條記錄的順序文件,查找某關鍵字值的記錄時,平均需要查找N/2次。在索引順序文件中,假設N條記錄分為√N組,索引表中有√N個表項,每組有√N條記錄,在查找某關鍵字值的記錄時,先順序查找索引表,需要查找√N /2次,然後在主文件中對應的組中順序查找,也需要查找√N/2次,因此共需查找√N/2+√N/2=√N次。顯然,索引順序文件提高了查找效率,若記錄數很多,則可採用兩級或多級索引
FCB的有序集合稱為「文件目錄」,一個FCB就是一個文件目錄項。FCB中包含了文件的基本信息(文件名、物理地址、邏輯結構、物理結構等),存取控制信息(是否可讀/可寫、禁止訪問的用戶名單等),使用信息(如文件的建立時間、修改時間等)。最重要,最基本的還是文件名、文件存放的物理地址。
對目錄的操作如下:
操作的時候,可以有以下幾種目錄結構:
早期操作系統並不支持多級目錄,整個系統中只建立一張目錄表,每個文件佔一個目錄項。
單級目錄實現了「按名存取」,但是不允許文件重名。在創建一個文件時,需要先檢查目錄表中有沒有重名文件,確定不重名後才能允許建立文件,並將新文件對應的目錄項插入目錄表中。顯然, 單級目錄結構不適用於多用戶操作系統。
早期的多用戶操作系統,採用兩級目錄結構。分為主文件目錄(MFD,Master File Directory)和用戶文件目錄(UFD,User Flie Directory)。
允許不同用戶的文件重名。文件名雖然相同,但是對應的其實是不同的文件。兩級目錄結構允許不同用戶的文件重名,也可以在目錄上實現實現訪問限制(檢查此時登錄的用戶名是否匹配)。但是兩級目錄結構依然缺乏靈活性,用戶不能對自己的文件進行分類
用戶(或用戶進程)要訪問某個文件時要用文件路徑名標識文件,文件路徑名是個字元串。各級目錄之間用「/」隔開。從根目錄出發的路徑稱為絕對路徑。
系統根據絕對路徑一層一層地找到下一級目錄。剛開始從外存讀入根目錄的目錄表;找到目錄的存放位置後,從外存讀入對應的目錄表;再找到目錄的存放位置,再從外存讀入對應目錄表;最後才找到文件的存放位置。整個過程需要3次讀磁碟I/O操作。
很多時候,用戶會連續訪問同一目錄內的多個文件,顯然,每次都從根目錄開始查找,是很低效的。因此可以設置一個「當前目錄」。此時已經打開了的目錄文件,也就是說,這張目錄表已調入內存,那麼可以把它設置為「當前目錄」。當用戶想要訪問某個文件時,可以使用從當前目錄出發的「相對路徑」
可見,引入「當前目錄」和「相對路徑」後,磁碟I/O的次數減少了。這就提升了訪問文件的效率。
樹形目錄結構可以很方便地對文件進行分類,層次結構清晰,也能夠更有效地進行文件的管理和保護。但是,樹形結構不便於實現文件的共享。為此,提出了「無環圖目錄結構」。
可以用不同的文件名指向同一個文件,甚至可以指向同一個目錄(共享同一目錄下的所有內容)。需要為每個共享結點設置一個共享計數器,用於記錄此時有多少個地方在共享該結點。用戶提出刪除結點的請求時,只是刪除該用戶的FCB、並使共享計數器減1,並不會直接刪除共享結點。只有共享計數器減為0時,才刪除結點。
其實在查找各級目錄的過程中只需要用到「文件名」這個信息,只有文件名匹配時,才需要讀出文件的其他信息。因此可以考慮讓目錄表「瘦身」來提升效率。
當找到文件名對應的目錄項時,才需要將索引結點調入內存,索引結點中記錄了文件的各種信息,包括文件在外存中的存放位置,根據「存放位置」即可找到文件。存放在外存中的索引結點稱為「磁碟索引結點」,當索引結點放入內存後稱為「內存索引結點」。相比之下內存索引結點中需要增加一些信息,比如:文件是否被修改、此時有幾個進程正在訪問該文件等。
為文件設置一個「口令」(如:abc112233),用戶請求訪問該文件時必須提供「口令」。
優點:保存口令的空間開銷不多,驗證口令的時間開銷也很小。
缺點:正確的「口令」存放在系統內部,不夠安全。
使用某個「密碼」對文件進行加密,在訪問文件時需要提供正確的「密碼」才能對文件進行正確的解密。 [3]
優點:保密性強,不需要在系統中存儲「密碼」
缺點:編碼/解碼,或者說加密/解密要花費一定時間。
在每個文件的FCB(或索引結點)中增加一個訪問控制列表(Access-Control List, ACL),該表中記錄了各個用戶可以對該文件執行哪些操作。
有的計算機可能會有很多個用戶,因此訪問控制列表可能會很大,可以用精簡的訪問列表解決這個問題
精簡的訪問列表:以「組」為單位,標記各「組」用戶可以對文件執行哪些操作。當某用戶想要訪問文件時,系統會檢查該用戶所屬的分組是否有相應的訪問許可權。
索引結點,是一種文件目錄瘦身策略。由於檢索文件時只需用到文件名,因此可以將除了文件名之外的其他信息放到索引結點中。這樣目錄項就只需要包含文件名、索引結點指針。
索引結點中設置一個鏈接計數變數count,用於表示鏈接到本索引結點上的用戶目錄項數。
當User3訪問「ccc」時,操作系統判斷文件「ccc」屬於Link類型文件,於是會根據其中記錄的路徑層層查找目錄,最終找到User1的目錄表中的「aaa」表項,於是就找到了文件1的索引結點。
類似於內存分頁,磁碟中的存儲單元也會被分為一個個「塊/磁碟塊/物理塊」。很多操作系統中,磁碟塊的大小與內存塊、頁面的大小相同
內存與磁碟之間的數據交換(即讀/寫操作、磁碟I/O)都是以「塊」為單位進行的。即每次讀入一塊,或每次寫出一塊
在內存管理中,進程的邏輯地址空間被分為一個一個頁面同樣的,在外存管理中,為了方便對文件數據的管理,文件的邏輯地址空間也被分為了一個一個的文件「塊」。於是文件的邏輯地址也可以表示為(邏輯塊號,塊內地址)的形式。用戶通過邏輯地址來操作自己的文件,操作系統要負責實現從邏輯地址到物理地址的映射
連續分配方式要求每個文件在磁碟上佔有一組連續的塊。用戶給出要訪問的邏輯塊號,操作系統找到該文件對應的目錄項(FCB)——可以直接算出邏輯塊號對應的物理塊號,物理塊號=起始塊號+邏輯塊號。還需要檢查用戶提供的邏輯塊號是否合法(邏輯塊號≥ 長度就不合法)因此 連續分配支持順序訪問和直接訪問 (即隨機訪問)
讀取某個磁碟塊時,需要移動磁頭。訪問的兩個磁碟塊相隔越遠,移動磁頭所需時間就越長。 連續分配的文件在順序讀/寫時速度最快,物理上採用連續分配的文件不方便拓展,且存儲空間利用率低,會產生難以利用的磁碟碎片可以用緊湊來處理碎片,但是需要耗費很大的時間代價。。
鏈接分配採取離散分配的方式,可以為文件分配離散的磁碟塊。分為隱式鏈接和顯式鏈接兩種。
用戶給出要訪問的邏輯塊號i,操作系統找到該文件對應的目錄項(FCB)…從目錄項中找到起始塊號(即0號塊),將0號邏輯塊讀入內存,由此知道1號邏輯塊存放的物理塊號,於是讀入1號邏輯塊,再找到2號邏輯塊的存放位置……以此類推。因此,讀入i號邏輯塊,總共需要i+1次磁碟I/O。
採用鏈式分配(隱式鏈接)方式的文件,只支持順序訪問,不支持隨機訪問,查找效率低。另外,指向下一個盤塊的指針也需要耗費少量的存儲空間。但是,採用隱式鏈接的鏈接分配方式,很方便文件拓展。另外,所有的空閑磁碟塊都可以被利用,不會有碎片問題,外存利用率高。
把用於鏈接文件各物理塊的指針顯式地存放在一張表中。即文件分配表(FAT,File Allocation Table)
一個磁碟僅設置一張FAT 。開機時,將FAT讀入內存,並常駐內存。FAT的各個表項在物理上連續存儲,且每一個表項長度相同,因此「物理塊號」欄位可以是隱含的。
從目錄項中找到起始塊號,若i>0,則查詢內存中的文件分配表FAT,往後找到i號邏輯塊對應的物理塊號。 邏輯塊號轉換成物理塊號的過程不需要讀磁碟操作。
採用鏈式分配(顯式鏈接)方式的文件,支持順序訪問,也支持隨機訪問 (想訪問i號邏輯塊時,並不需要依次訪問之前的0 ~ i-1號邏輯塊), 由於塊號轉換的過程不需要訪問磁碟,因此相比於隱式鏈接來說,訪問速度快很多。顯然,顯式鏈接也不會產生外部碎片,也可以很方便地對文件進行拓展。
索引分配允許文件離散地分配在各個磁碟塊中,系統會為每個文件建立一張索引表,索引表中記錄了文件的各個邏輯塊對應的物理塊(索引表的功能類似於內存管理中的頁表——建立邏輯頁面到物理頁之間的映射關系)。索引表存放的磁碟塊稱為索引塊。文件數據存放的磁碟塊稱為數據塊。
在顯式鏈接的鏈式分配方式中,文件分配表FAT是一個磁碟對應一張。而索引分配方式中,索引表是一個文件對應一張。可以用固定的長度表示物理塊號 [4] ,因此,索引表中的「邏輯塊號」可以是隱含的。
用戶給出要訪問的邏輯塊號i,操作系統找到該文件對應的目錄項(FCB)…從目錄項中可知索引表存放位置,將索引表從外存讀入內存,並查找索引表即可只i號邏輯塊在外存中的存放位置。
可見, 索引分配方式可以支持隨機訪問。文件拓展也很容易實現 (只需要給文件分配一個空閑塊,並增加一個索引表項即可)但是 索引表需要佔用一定的存儲空間
索引塊的大小是一個重要的問題,每個文件必須有一個索引塊,因此索引塊應盡可能小,但索引塊太小就無法支持大文件,可以採用以下機制:
空閑表法適用於「連續分配方式」。分配磁碟塊:與內存管理中的動態分區分配很類似,為一個文件分配連續的存儲空間。同樣可採用首次適應、最佳適應、最壞適應等演算法來決定要為文件分配哪個區間。回收磁碟塊:與內存管理中的動態分區分配很類似,當回收某個存儲區時需要有四種情況——①回收區的前後都沒有相鄰空閑區;②回收區的前後都是空閑區;③回收區前面是空閑區;④回收區後面是空閑區。總之,回收時需要注意表項的合並問題。
操作系統保存著鏈頭、鏈尾指針。如何分配:若某文件申請K個盤塊,則從鏈頭開始依次摘下K個盤塊分配,並修改空閑鏈的鏈頭指針。如何回收:回收的盤塊依次掛到鏈尾,並修改空閑鏈的鏈尾指針。適用於離散分配的物理結構。為文件分配多個盤塊時可能要重復多次操作
操作系統保存著鏈頭、鏈尾指針。如何分配:若某文件申請K個盤塊,則可以採用首次適應、最佳適應等演算法,從鏈頭開始檢索,按照演算法規則找到一個大小符合要求的空閑盤區,分配給文件。若沒有合適的連續空閑塊,也可以將不同盤區的盤塊同時分配給一個文件,注意分配後可能要修改相應的鏈指針、盤區大小等數據。如何回收:若回收區和某個空閑盤區相鄰,則需要將回收區合並到空閑盤區中。若回收區沒有和任何空閑區相鄰,將回收區作為單獨的一個空閑盤區掛到鏈尾。 離散分配、連續分配都適用。為一個文件分配多個盤塊時效率更高
位示圖:每個二進制位對應一個盤塊。在本例中,「0」代表盤塊空閑,「1」代表盤塊已分配。位示圖一般用連續的「字」來表示,如本例中一個字的字長是16位,字中的每一位對應一個盤塊。因此可以用(字型大小,位號)對應一個盤塊號。當然有的題目中也描述為(行號,列號)
盤塊號、字型大小、位號從0開始,若n表示字長,則
如何分配:若文件需要K個塊,①順序掃描位示圖,找到K個相鄰或不相鄰的「0」;②根據字型大小、位號算出對應的盤塊號,將相應盤塊分配給文件;③將相應位設置為「1」。如何回收:①根據回收的盤塊號計算出對應的字型大小、位號;②將相應二進制位設為「0」
空閑表法、空閑鏈表法不適用於大型文件系統,因為空閑表或空閑鏈表可能過大。UNIX系統中採用了成組鏈接法對磁碟空閑塊進行管理。文件卷的目錄區中專門用一個磁碟塊作為「超級塊」,當系統啟動時需要將超級塊讀入內存。並且要保證內存與外存中的「超級塊」數據一致。
進行Create系統調用時,需要提供的幾個主要參數:
操作系統在處理Create系統調用時,主要做了兩件事:
進行Delete系統調用時,需要提供的幾個主要參數:
操作系統在處理Delete系統調用時,主要做了幾件
事:
在很多操作系統中,在對文件進行操作之前,要求用戶先使用open系統調用「打開文件」,需要提供的幾個主要參數:
操作系統在處理open系統調用時,主要做了幾件事:
進程使用完文件後,要「關閉文件」
操作系統在處理Close系統調用時,主要做了幾件事:
進程使用read系統調用完成寫操作。需要指明是哪個文件(在支持「打開文件」操作的系統中,只需要提供文件在打開文件表中的索引號即可),還需要指明要讀入多少數據(如:讀入1KB)、指明讀入的數據要放在內存中的什麼位置。操作系統在處理read系統調用時,會從讀指針指向的外存中,將用戶指定大小的數據讀入用戶指定的內存區域中。
進程使用write系統調用完成寫操作,需要指明是哪個文件(在支持「打開文件」操作的系統中,只需要提供文件在打開文件表中的索引號即可),還需要指明要寫出多少數據(如:寫出1KB)、寫回外存的數據放在內存中的什麼位置操作系統在處理write系統調用時,會從用戶指定的內存區域中,將指定大小的數據寫回寫指針指向的外存。
尋找時間(尋道時間)T S :在讀/寫數據前,將磁頭移動到指定磁軌所花的時間。
延遲時間T R :通過旋轉磁碟,使磁頭定位到目標扇區所需要的時間。設磁碟轉速為r(單位:轉/秒,或轉/分),則平均所需的延遲時間
傳輸時間T t :從磁碟讀出或向磁碟寫入數據所經歷的時間,假設磁碟轉速為r,此次讀/寫的位元組數為b,每個磁軌上的位元組數為N。則
總的平均存取時間Ta
延遲時間和傳輸時間都與磁碟轉速相關,且為線性相關。而轉速是硬體的固有屬性,因此操作系統也無法優化延遲時間和傳輸時間,但是操作系統的磁碟調度演算法會直接影響尋道時間
根據進程請求訪問磁碟的先後順序進行調度。
優點:公平;如果請求訪問的磁軌比較集中的話,演算法性能還算過的去
缺點:如果有大量進程競爭使用磁碟,請求訪問的磁軌很分散,則FCFS在性能上很差,尋道時間長。
SSTF演算法會優先處理的磁軌是與當前磁頭最近的磁軌。可以保證每次的尋道時間最短,但是並不能保證總的尋道時間最短。(其實就是貪心演算法的思想,只是選擇眼前最優,但是總體未必最優)
優點:性能較好,平均尋道時間短
缺點:可能產生「飢餓」現象
SSTF演算法會產生飢餓的原因在於:磁頭有可能在一個小區域內來回來去地移動。為了防止這個問題,可以規定,只有磁頭移動到最外側磁軌的時候才能往內移動,移動到最內側磁軌的時候才能往外移動。這就是掃描演算法(SCAN)的思想。由於磁頭移動的方式很像電梯,因此也叫電梯演算法。
優點:性能較好,平均尋道時間較短,不會產生飢餓現象
缺點:①只有到達最邊上的磁軌時才能改變磁頭移動方向②SCAN演算法對於各個位置磁軌的響應頻率不平均
掃描演算法(SCAN)中,只有到達最邊上的磁軌時才能改變磁頭移動方向,事實上,處理了184號磁軌的訪問請求之後就不需要再往右移動磁頭了。LOOK調度演算法就是為了解決這個問題,如果在磁頭移動方向上已經沒有別的請求,就可以立即改變磁頭移動方向。(邊移動邊觀察,因此叫LOOK)
優點:比起SCAN演算法來,不需要每次都移動到最外側或最內側才改變磁頭方向,使尋道時間進一步縮短
SCAN演算法對於各個位置磁軌的響應頻率不平均,而C-SCAN演算法就是為了解決這個問題。規定只有磁頭朝某個特定方向移動時才處理磁軌訪問請求,而返回時直接快速移動至起始端而不處理任何請求。
優點:比起SCAN來,對於各個位置磁軌的響應頻率很平均。
缺點:只有到達最邊上的磁軌時才能改變磁頭移動方向,另外,比起SCAN演算法來,平均尋道時間更長。
C-SCAN演算法的主要缺點是只有到達最邊上的磁軌時才能改變磁頭移動方向,並且磁頭返回時不一定需要返回到最邊緣的磁軌上。C-LOOK演算法就是為了解決這個問題。如果磁頭移動的方向上已經沒有磁軌訪問請求了,就可以立即讓磁頭返回,並且磁頭只需要返回到有磁軌訪問請求的位置即可。
優點:比起C-SCAN演算法來,不需要每次都移動到最外側或最內側才改變磁頭方向,使尋道時間進一步縮短
磁碟地址結構的設計:
Q:磁碟的物理地址是(柱面號,盤面號,扇區號)而不是(盤面號,柱面號,扇區號)
A:讀取地址連續的磁碟塊時,採用(柱面號,盤面號,扇區號)的地址結構可以減少磁頭移動消耗的時間
減少延遲時間的方法:
Step 1:進行低級格式化(物理格式化),將磁碟的各個磁軌劃分為扇區。一個扇區通常可分為頭、數據區域(如512B大小)、尾三個部分組成。管理扇區所需要的各種數據結構一般存放在頭、尾兩個部分,包括扇區校驗碼(如奇偶校驗、CRC循環冗餘校驗碼等,校驗碼用於校驗扇區中的數據是否發生錯誤)
Step 2:將磁碟分區,每個分區由若干柱面組成(即分為我們熟悉的C盤、D盤、E盤)
Step 3:進行邏輯格式化,創建文件系統。包括創建文件系統的根目錄、初始化存儲空間管理所用的數據結構(如位示圖、空閑分區表)
計算機開機時需要進行一系列初始化的工作,這些初始化工作是通過執行初始化程序(自舉程序)完成的
初始化程序可以放在ROM(只讀存儲器)中。ROM中的數據在出廠時就寫入了,並且以後不能再修改。ROM中只存放很小的「自舉裝入程序」,完整的自舉程序放在磁碟的啟動塊(即引導塊/啟動分區)上,啟動塊位於磁碟的固定位置,開機時計算機先運行「自舉裝入程序」,通過執行該程序就可找到引導塊,並將完整的「自舉程序」讀入內存,完成初始化。擁有啟動分區的磁碟稱為啟動磁碟或系統磁碟(C:盤)
對於簡單的磁碟,可以在邏輯格式化時(建立文件系統時)對整個磁碟進行壞塊檢查,標明哪些扇區是壞扇區,比如:在FAT表上標明。(在這種方式中,壞塊對操作系統不透明)。
對於復雜的磁碟,磁碟控制器(磁碟設備內部的一個硬體部件)會維護一個壞塊鏈表。在磁碟出廠前進行低級格式化(物理格式化)時就將壞塊鏈進行初始化。會保留一些「備用扇區」,用於替換壞塊。這種方案稱為扇區備用。且這種處理方式中,壞塊對操作系統透明
7. 操作系統--文件管理
文件系統:是操作系統中與文件管理相關的軟體和數據的集合
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:邏輯格式化。創建文件系統(根目錄,管理塊的初始化)
8. 操作系統中的文件管理系統為用戶提供的功能是
1、集中存儲,統一的文檔共享;大數據時代銀行監控的集中存儲是在網點監控分中心的基礎上,在總行設立統一的監控中心進行集中存儲,從而節省人手,建立網點-支行-總行間的應急快速反應體系。
2、許可權管理,可針對用戶、部門及崗位進行細粒度的許可權控制,控制用戶的管理、瀏覽、閱讀、編輯、下載、刪除、列印、訂閱等操作。
3、全文索引,可以索引Office、PDF等文件內容,快速從海量資料中精準查找所需文件。
4、文檔審計,描述了文檔生命周期全過程中的每一個動作,包括操作人、動作、日期時間等信息,通過審計跟蹤可以全局掌握系統內部所有文件的操作情況。
5、版本管理,文檔關聯多版本,避免錯誤版本的使用,同時支持歷史版本的查看、回退與下載。
6、自動編號,可自由組合設計編號規則。
7、鎖定保護,文檔作者和管理權用戶可將文檔鎖定,確保文檔不被隨意修改。當文檔需要修改或刪除時,可以解鎖,保證文檔的正常操作。
8、規則應用,系統支持為目錄設定規則,指定動作、條件和操作,當動作觸發符合設定的條件,系統則自動執行規則的操作。
9、存儲加密,文件採用加密存儲,防止文件擴散,全面保證企業級數據的安全性和可靠性。
10、數據備份,支持資料庫備份和完整數據備份雙重保護,全面保障系統內部數據安全性。用戶可自行設定備份時間及位置,到達指定時刻,系統自動執行備份操作。
11、文檔借閱,借出過程中可控制用戶訪問許可權。被借閱用戶會收到系統發送的即時消息通知。系統支持根據時間對借出的文檔自動進行收回處理。
12、審批流程,可自定義審批流程,實現流程固化,解決企業內部流程審批混亂的問題。
13、統計報表,自動統計人員、部門文檔使用情況和文檔的存儲情況。
(8)操作系統為什麼用文件管理數據擴展閱讀
國內外很多有名的企業針對文檔管理提出了眾多的解決方案,如三品軟體EDM、PTC、SIEMENS,思普軟體等,通過有效的文檔管理,企事業單位可以快速地保管公司已有的圖文檔資料,輕輕鬆鬆地通過任務流程管理散落在工作中的圖文檔工作成果。
利用目視化工作看板和領導工作看板有條不紊地管理工作;自由自在地查詢、瀏覽、下載文檔信息。通過文檔管理信息系統,企業可以積淀知識,分享、參考或者重用這些知識,以降低和避免工作中重復的質量問題,提高工作效率和創新能力。
9. 操作系統為什麼用「文件」方式管理數據
要弄明白這個問題需要了解磁碟存貯原理。以下內容都是出自本人理解然後手打,非復制。
數據的基本單位是0和1,這個大家都知道。磁鐵具有兩極性大家也知道。然後在磁存貯中,一塊碟片就是一個用磁鐵鋪成的平原,但是這個磁鐵非常非常小,小到肉眼看不見。然後以磁鐵的南北極來對應數據的0和1。這是磁存貯的原理。
把一個磁碟想像成一張一平方米的白紙,你在開頭的地方畫了一個5平方厘米的圖片,後面依序都畫其它內容的文字或圖片。過後,你覺得前面5厘米的那個圖片沒用了,把它刪掉。-----於是這里就有了一個5平方厘米的空洞,對吧?然後你有一個10平方厘米的圖片要畫到這張大紙上,可是這5平方厘米的空間顯然容不下這10平方厘米的圖片。於是,就把10平方厘米的圖片分成幾個小部份,一部份就存在5平方厘米的空間里,剩下的部份就放到其他地方去了。按這樣下來,一塊硬碟用得久了,就會產生無數的大大小小「空洞」,同時一個稍大一點的文件也有可能被拆分成幾百個或更多的小塊,分別存放在幾百個不同的地方(磁碟工具裡面有個「磁碟碎片整理」,就是整理這些東西了)。這種情況如果沒個有效的方式來登記,估計全人類都沒一個人能搞得清楚硬碟上成千上萬個文件了。這個有效的登記方式,就是「文件」式管理了。首先一個一個的文件比較貼近日常工作中一份一份紙質文件的管理與稱呼方式,其次是一個一個清單也方便計算機管理。
說白了,一塊硬碟其實就是一個沒有任何堆放規則的超級大倉庫,所有貨物全都拆散了亂扔在里邊。因為貨物與物流方面太雜太亂,根本沒有可能把它分門別類地按順序放好——那會大大拖慢貨物進出速度(也就是磁碟讀寫速度)。「文件」系統則是對這個雜亂的大倉庫編寫的一個超級精確的地圖與目錄,上面詳細地描述了倉庫里在任意一個零件的准確存放地點。「磁碟碎片整理」其實就是把這個大倉庫裡面的貨物分門別類地整理一遍。
「文件」方式其實只是人為地給它取了個名字,實際上它是個索引。就像一本小說的前面也會有個索引,標明哪一章在多少頁開始一樣。大家在電腦上看到的一個一個的文件,其實只是看到了這本小說的索引頁。
10. 計算機中為什麼採用文件管理機制
咨詢記錄 · 回答於2021-10-12