@(os)
檔案管理有三大部分內容:
目錄管理又細分為:
檔案儲存空間管理主要是四種:
檔案共享和保護主要分為:
個人感覺最重要的是理解目錄管理中的檔案控制塊設計與其優化後得到的索引結點儲存方式。
剩下的,都可以稍加推斷,很容易明白。但是如果fcb這些概念不能理解,後面的就很難打通。
這裡再次總結fcb相關與磁碟訪問計數問題。
檔案控制塊
設計目的:為了對乙個檔案進行正確的訪問,設定了用於描述和控制檔案的資料結構–檔案控制塊(fcb)。
檔案管理程式可以借助檔案控制塊中的資訊,對檔案進行各種操作。
特別需要理解的是:乙個檔案對應乙個檔案控制塊。具體場景(利用場景記憶)是,比如你在桌面上建立了乙個txt文件,這個文件就有乙個自己的fcb,可能這個文件是空的,但是這種格式化檔案需要記錄一些基本描述資訊,假設1kb,而它的fcb呢,大概是64b左右,其實也不是很大,就512個二進位制位而已。
我們常用電腦知道,會新建個資料夾進行組織檔案。這裡也一樣,單個的fcb與檔案一一對應,如何組織這些fcb呢?用的是檔案目錄。
老實說,這個名稱非常容易引起誤會,以為是我們自己新建的資料夾,其實是fcb的集合。因此,檔案目錄下的檔案目錄項就是檔案控制塊,即fcb。關係本身不複雜,只是名字亂。還不止這些,乙個檔案目錄也可以看作是乙個檔案,稱之為目錄檔案。
會問,既然目錄也是檔案,那麼它有沒有fcb?答案是不一定。有些題可以說不設fcb,組織成鏈結檔案。
我們先看普通檔案中fcb儲存了什麼。
訪問控制資訊
使用資訊
值得關注的是fcb中含有檔案起始盤塊號和總共占用的盤塊號數。這是計算訪問磁碟數目的基礎知識。
訪問磁碟次數與索引結點的引入
檔案目錄通常存放在磁碟上。檔案很多時檔案目錄要占用大量的盤塊。查詢目錄的過程是:先將存放目錄檔案的第乙個盤塊中的目錄調入記憶體,然後把使用者給定的檔名與目錄項中的檔名一一比較。若未找到指定檔案,則把下乙個盤塊號中的目錄項調入記憶體。
也就是調入記憶體是以磁碟塊為單位進行。
這簡短的一段話就講明白了訪問磁碟數的計算問題。即:主要計算的是fcb占用的盤塊數,假設是n塊,那麼,查詢乙個目錄項的平均需要調入盤塊數n+
12。
注意,這是查詢乙個檔案的fcb,具體什麼操作是後序的問題。因為fcb中有檔案的起始磁碟塊號,以及占用的磁碟塊數。這還需要根據儲存的物理方式來考慮計算,比如隱式鏈法,索引法等。具體問題具體分析。
加入乙個fcb是64b,盤塊大小為1kb;若乙個檔案目錄中有640個fcb,平均查詢乙個檔案需要啟動磁碟多少次?分析:乙個盤塊1kb,則乙個盤塊可以存16個fcb,那麼640個fcb就需要40個盤塊。平均需要40+
12=20.5
次 ,也即,21次。
引入索引結點。
在上面的過程中,我們主要比較了檔名,那麼用fcb這麼完備的資訊是有些浪費的,尤其是訪問磁碟是很費時的操作。
因此,考慮將檔名與其他fcb中儲存的資訊分開,二者需要某個東西串在一起,這個東西可以在unix下是乙個2b的指標,檔名是14b。那麼剩下的fcb的資訊在哪呢?在索引結點。也叫inode。
因此檔案目錄中存的都是16b的檔案目錄項,相比64b,減少了四分之三。因此,為了找到檔案,啟動磁碟的次數減少到了原來的四分之一,這是很大的進步。
感性認識:索引結點儲存大部分檔案描述資訊。
上面的是思想,具體實現時,分為:
檔案是存在磁碟的。每個檔案有唯一的磁碟索引結點。
磁碟索引結點主要包括:
計算機組成原理 磁碟
磁碟讀取,分為 尋道時間 旋轉延遲 傳輸時間三個部分,三個部分加起來的耗時,就是一場磁碟io的時間。計算機優化,預讀,每次io時,把當前磁碟位址的資料載入到記憶體,同時把相鄰資料載入到記憶體緩衝區。磁碟io,也就是磁碟的輸入輸出,輸入,向磁碟寫入資料,輸出,從磁碟讀取資料。物理結構 扇區和磁軌 每個...
友盟啟動次數的統計原理是什麼?
在每個activity的開始和結束時分別呼叫onresume和onpause方法.當乙個onresume方法與上乙個activity的onpause方法相差30秒,標誌新session的開始 當乙個onpause方法發生後30秒內沒有再觸發任何乙個activity的onresume方法,標誌該ses...
磁碟IOPS(每秒讀寫次數)的計算方法與測量
傳統磁碟本質上一種機械裝置,如fc,sas,sata磁碟,轉速通常為5400 7200 10k 15k rpm不等。影響磁碟的關鍵因素是磁碟服務時間,即磁碟完成乙個i o請求所花費的時間,它由尋道時間 旋轉延遲和資料傳輸時間三部分構成。尋道時間tseek是指將讀寫磁頭移動至正確的磁軌上所需要的時間。...