亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

利用文件分配表進行磁盤數(shù)據(jù)簇鏈接及尋道的方法

文檔序號:6608770閱讀:482來源:國知局

專利名稱::利用文件分配表進行磁盤數(shù)據(jù)簇鏈接及尋道的方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機的磁盤管理技術(shù),特別是涉及一種利用文件分配表進行磁盤數(shù)據(jù)簇鏈接及尋道的方法。
背景技術(shù)
:FAT(fileallocationtable,文件分配表)是微軟定義的一種管理磁盤數(shù)據(jù)空間的文件系統(tǒng),創(chuàng)建于70年代末80年代初,起初用于MS-DOS操作系統(tǒng),當(dāng)初設(shè)計FAT只把它定位為一種簡單的文件系統(tǒng),只適合于軟盤管理,而當(dāng)時的軟盤也不過1M的存儲范圍而已。隨著新技術(shù)的不斷發(fā)展,磁盤存儲空間不斷變大,最初的FAT設(shè)計已不能滿足,故而微軟在原先的基礎(chǔ)上擴展FAT,即我們現(xiàn)在常見到的FAT12、FAT16、FAT32,這三種文件系統(tǒng)已基本滿足不同存儲空間范圍的空間管理了。一個空白的磁盤數(shù)據(jù)區(qū),可以認為是一塊連續(xù)的空白數(shù)據(jù)區(qū),用戶可以直接在數(shù)據(jù)區(qū)上讀寫數(shù)據(jù)。而FAT文件系統(tǒng),就是在該空白磁盤空間上做了一些定義規(guī)劃,方便對磁盤空間的使用。定義了FAT以后,所有對磁盤空間的直接讀寫對用戶而言是禁止的,只對FAT開放,用戶對磁盤的操作通過FAT定義的接口來實現(xiàn),例如打開文件、讀寫文件、關(guān)閉文件等。從邏輯上看,F(xiàn)AT的邏輯結(jié)構(gòu)包含如下4個層次1)參數(shù)區(qū)及一點保留區(qū)2)FAT表3)目錄區(qū)(FAT12、FAT16有效,F(xiàn)AT32中沒有)4)數(shù)據(jù)區(qū)四個層次的邏輯結(jié)構(gòu)如圖1所示,圖中參數(shù)區(qū)主要記錄整個FAT系統(tǒng)相關(guān)的參數(shù)設(shè)置,例如一個cluster(簇)有幾個block(塊),一個FAT表有多少個block構(gòu)成,一個系統(tǒng)有多少個FAT表構(gòu)成等等。記錄參數(shù)部分通常放在一個block中,另外可能會會有幾個保留block作為其它用途。其中,block是FAT規(guī)定的對磁盤讀寫操作的基本單位,為512個字節(jié),在block的基礎(chǔ)上FAT定義了簇的概念,一個簇會包含1個或多個block,至于具體包含幾個會在參數(shù)區(qū)中告知,block是讀寫磁盤的最小單位。如圖1所示,F(xiàn)AT表位于參數(shù)區(qū)的下一層。FAT文件系統(tǒng)是通過FAT表來管理整個磁盤空間的,F(xiàn)AT表中基本單位為12個bit(比特),16個bit或32個bit,所謂的FAT12、FAT16、FAT32即由此而來,這個基本單位對應(yīng)一個簇,即FAT表中一個基本表項對應(yīng)data(數(shù)據(jù))區(qū)的一個簇,由此就不難明白FAT是怎樣管理磁盤空間的了,簡單說來,就是把磁盤劃分為數(shù)據(jù)區(qū)和標記區(qū),F(xiàn)AT表說白了就是一個做記號的地方,即標記區(qū)。那么這個記號如何應(yīng)用呢?實際上FAT通過FAT表構(gòu)造一個單向鏈表結(jié)構(gòu),就每一個FAT表項而言,它可以蘊含著兩個信息,一是它是第幾個表項,即FAT表項的索引值,這個簡單就是從零開始數(shù);二是表項里存儲的數(shù)據(jù),F(xiàn)AT系統(tǒng)將該數(shù)據(jù)的值定義為下一個FAT表項的索引值。這樣就形成了一個單項鏈表,鏈表結(jié)束處FAT表項的值為零,圖2為一個FAT表的示例圖。由FAT標準可知,F(xiàn)AT表每一個表項中的內(nèi)容為下一個FAT表項的索引值,因為表項的索引值代表的是該表項在數(shù)據(jù)區(qū)的對應(yīng)簇的存放位置,因此FAT表每一個表項中的內(nèi)容代表的是該表項在數(shù)據(jù)區(qū)的對應(yīng)簇的下一個簇的存放位置,從而由FAT表的各項形成一個單項鏈表,用于標記文件或目錄的存放位置。由于FAT文件系統(tǒng)的局限性(FAT表是個單項鏈表),F(xiàn)AT中的文件seek每次總是從文件頭(FAT表的第一項)開始,按照單項鏈表逐個搜索直到找到seek的文件所對應(yīng)的表項,這樣光是定位FAT鏈表就耗時很長。而實際情況中,常常出現(xiàn)這種情況,就是多個簇連續(xù)出現(xiàn),在存放位置上不曾有中斷,此時原有的FAT表中就會對應(yīng)多個表項來存儲這段連續(xù)的簇位置;而實際上,這種情況下只有兩個有效信息,即起始的表項位置和連續(xù)的簇個數(shù)。那么應(yīng)該只存儲這兩個有效數(shù)據(jù)就夠了,而FAT表要存儲連續(xù)的FAT表項實則無用,因此按照現(xiàn)有FAT標準存儲連續(xù)簇的話,不但造成FAT表存儲空間的浪費,而且連續(xù)簇的seek需要連續(xù)讀取FAT表項,也造成了時間和性能上的浪費。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種利用文件分配表進行磁盤數(shù)據(jù)簇鏈接及尋道的方法,解決現(xiàn)有FAT表在存儲連續(xù)簇時所造成的存儲空間浪費的技術(shù)問題。為了實現(xiàn)上述目的,本發(fā)明提供了一種利用文件分配表進行磁盤數(shù)據(jù)簇鏈接的方法,用于包括有第一文件分配表和第二文件分配表的系統(tǒng)架構(gòu),所述第一文件分配表的每個表項都鏈接一個磁盤數(shù)據(jù)區(qū)的數(shù)據(jù)簇,所述第一文件分配表的每個表項在所述第二文件分配表中都具有一個對應(yīng)表項,其中,對于連續(xù)數(shù)據(jù)簇的起始簇所鏈接的第一文件分配表的表項,在該第一文件分配表表項的對應(yīng)表項中存儲所述連續(xù)數(shù)據(jù)簇的數(shù)據(jù)簇個數(shù)。上述的方法,其中,所述起始簇所鏈接的第一文件分配表的表項中存儲的表項值為與所述起始簇連續(xù)的第二數(shù)據(jù)簇所鏈接表項的索引值,所述第二數(shù)據(jù)簇所鏈接表項中存儲的表項值為結(jié)束標識。上述的方法,其中,所述第一文件分配表的每個表項通過以下方式鏈接數(shù)據(jù)簇所述第一文件分配表的每個表項的索引值代表的是該表項在磁盤數(shù)據(jù)區(qū)中鏈接的數(shù)據(jù)簇的存放位置。為了實現(xiàn)本發(fā)明的目的,本發(fā)明還提供了一種利用上述的文件分配表進行文件尋道的方法,其中,包括步驟一,從所述第一文件分配表讀取起始簇在磁盤數(shù)據(jù)區(qū)的存放位置;步驟二,從所述第二文件分配表讀取連續(xù)數(shù)據(jù)簇的個數(shù);步驟三,根據(jù)所述起始簇的存放位置和所述連續(xù)數(shù)據(jù)簇的個數(shù),從磁盤數(shù)據(jù)區(qū)連續(xù)尋道獲得所述連續(xù)數(shù)據(jù)簇。上述的方法,其中,在所述步驟一之前,還包括判斷要尋道的數(shù)據(jù)簇是否為連續(xù)數(shù)據(jù)簇,是則執(zhí)行步驟一,否則按照常規(guī)尋道方式處理。上述的方法,其中,通過以下方式判斷是否為連續(xù)數(shù)據(jù)簇如果所述第一文件分配表的表項在所述第二文件分配表的對應(yīng)表項中存儲有連續(xù)數(shù)據(jù)簇的個數(shù),則為連續(xù)數(shù)據(jù)簇,并且所述第一文件分配表的表項為起始簇所對應(yīng)鏈接的表項。上述的方法,其中,通過以下方式判斷是否為連續(xù)數(shù)據(jù)簇如果所述第一文件分配表的表項中存儲的表項值為與該表項相鄰的鄰接表項的索引值,并且所述鄰接表項中存儲的表項值為結(jié)束標識,則為連續(xù)數(shù)據(jù)簇。本發(fā)明的技術(shù)效果在于本發(fā)明改變了常規(guī)的兩個FAT表的應(yīng)用方法,對第二個FAT表做了重新定義,不再用作第一個FAT表的備份,而表示第一個FAT表對應(yīng)的表項開始有多少個連續(xù)的cluster是連在一起的。因此,本發(fā)明簡化了FAT表,相當(dāng)于擴大了FAT表的空間,在文件seek時,還可以減少FAT表的讀取次數(shù),大大提高了效率。圖1為FAT的四個層次的邏輯結(jié)構(gòu)圖;圖2為FAT表的示例圖;圖3為現(xiàn)有FAT標準存放連續(xù)數(shù)據(jù)簇的情況下FAT表的示例圖;圖4為按照本發(fā)明方法存放連續(xù)數(shù)據(jù)簇時的FAT表的示例圖。具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖及具體實施例對本發(fā)明進行詳細描述。在傳統(tǒng)FAT標準中,第二個FAT表與第一個FAT表的內(nèi)容完全一樣,定義兩個FAT表的目的是為了作備份,之所以如此,是要確保FAT表的安全性,一旦第一個FAT表被損壞,可以用第二個FAT表修復(fù)。實際情況表明第二個FAT表通常情況下意義不大,F(xiàn)AT本身是沒有斷電保護機制的,所以一旦物理性的斷電,即使保存兩個FAT表,也無濟于事。本發(fā)明就是要重新定義FAT表,用第二個FAT表標記連續(xù)簇的個數(shù),以此簡化FAT表,在文件seek時,還可以減少FAT表的讀取次數(shù),大大提高效率。本發(fā)明的方法是一種利用文件分配表進行磁盤數(shù)據(jù)簇鏈接的方法,用于包括有第一文件分配表和第二文件分配表的系統(tǒng)架構(gòu),第一文件分配表的每個表項都鏈接一個磁盤數(shù)據(jù)區(qū)的數(shù)據(jù)簇,第一文件分配表的每個表項在第二文件分配表中都具有一個對應(yīng)表項,其中,對于連續(xù)數(shù)據(jù)簇的起始簇所鏈接的第一文件分配表的表項,在該第一文件分配表表項的對應(yīng)表項中存儲所述連續(xù)數(shù)據(jù)簇的數(shù)據(jù)簇個數(shù)。下面通過與存儲連續(xù)簇的傳統(tǒng)FAT技術(shù)相比較,來說明本發(fā)明方法。參考圖3,為傳統(tǒng)FAT標準存放連續(xù)數(shù)據(jù)簇的情況下FAT表的示例圖,如圖,如果有一個文件的數(shù)據(jù)區(qū)占用cluster2到cluster6,則在傳統(tǒng)FAT表中對應(yīng)占有表項102至表項106,表項102在數(shù)據(jù)區(qū)的對應(yīng)鏈接的數(shù)據(jù)簇為cluster2,依次類推,表項106對應(yīng)鏈接cluster6,其中,表項102中存儲的表項值為“103”,也就是表項103的索引值,也就是每個表項中存儲的表項值為下一個表項的索引值,在連續(xù)簇的最后,因為表項106沒有下一個表項,所以表項106中存儲的為結(jié)束標識,這樣連續(xù)簇cluster2到cluster6至少占有5個表項,而seek過程也必須每次都從FAT表中找到表項,才能得到數(shù)據(jù)區(qū)的對應(yīng)簇。參考圖4,為按照本發(fā)明方法存放連續(xù)數(shù)據(jù)簇時的FAT表的示例圖,如圖,對于連續(xù)簇cluster2到cluster6,起始簇cluster2對應(yīng)FAT表1中的表項202,而表項202在FAT表2中的對應(yīng)表項為表項302,本發(fā)明在表項302中存儲從表項202開始的連續(xù)簇的個數(shù)5,即代表從表項202開始的5個表項對應(yīng)的數(shù)據(jù)簇都是連續(xù)的。而在FAT表1中,表項202存儲的表項值為“203”,也就是與起始簇cluster2連續(xù)的第二數(shù)據(jù)簇cluster3所鏈接表項203的索引值,表項203中存儲的表項值為結(jié)束標識。也就是在FAT表1中只需要兩個表項,就可以表示任意長的連續(xù)簇,這樣本發(fā)明方法大大減小了FAT表表項的使用數(shù)目。對應(yīng)以上實施例,本發(fā)明還提供了一種利用上述的文件分配表進行文件尋道的方法,包括步驟a,從FAT表1的表項202讀取起始簇cluster2在磁盤數(shù)據(jù)區(qū)的存放位置;步驟b,從FAT表2的表項302讀取連續(xù)數(shù)據(jù)簇的個數(shù)5;步驟c,根據(jù)起始簇的存放位置和連續(xù)數(shù)據(jù)簇的個數(shù),從磁盤數(shù)據(jù)區(qū)連續(xù)尋道獲得所述連續(xù)數(shù)據(jù)簇cluster2至cluster6。其中,在所述步驟a之前,還包括判斷要尋道的數(shù)據(jù)簇是否為連續(xù)數(shù)據(jù)簇,是則執(zhí)行步驟a,否則按照常規(guī)尋道方式處理。其中判斷是否為連續(xù)數(shù)據(jù)簇是通過以下方式實現(xiàn)如果表項202的對應(yīng)表項302中存儲有連續(xù)數(shù)據(jù)簇的個數(shù),則為連續(xù)數(shù)據(jù)簇,并且所述表項202為起始簇cluster2所對應(yīng)鏈接的表項。還可通過以下方式實現(xiàn)如果表項202中存儲的表項值為與該表項相鄰的鄰接表項的索引值“203”,并且所述鄰接表項203中存儲的表項值為結(jié)束標識,則為連續(xù)數(shù)據(jù)簇。因此,本發(fā)明在seek連續(xù)簇的過程中,不用連續(xù)讀取FAT表1的表項,只需要讀取起始表項和其在FAT表2的對應(yīng)表項就可以獲得連續(xù)簇,因此大大減少了尋道時間,提高了效率。由上可知,本發(fā)明改變了常規(guī)的兩個FAT表的應(yīng)用方法,對第二個FAT表做了重新定義,不再用作第一個FAT表的備份,而表示第一個FAT表對應(yīng)的表項開始有多少個連續(xù)的cluster是連在一起的。因此,本發(fā)明簡化了FAT表,相當(dāng)于擴大了FAT表的空間,在文件seek時,還可以減少FAT表的讀取次數(shù),大大提高了效率。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。權(quán)利要求1.一種利用文件分配表進行磁盤數(shù)據(jù)簇鏈接的方法,用于包括有第一文件分配表和第二文件分配表的系統(tǒng)架構(gòu),所述第一文件分配表的每個表項都鏈接一個磁盤數(shù)據(jù)區(qū)的數(shù)據(jù)簇,所述第一文件分配表的每個表項在所述第二文件分配表中都具有一個對應(yīng)表項,其特征在于,對于連續(xù)數(shù)據(jù)簇的起始簇所鏈接的第一文件分配表的表項,在該第一文件分配表表項的對應(yīng)表項中存儲所述連續(xù)數(shù)據(jù)簇的數(shù)據(jù)簇個數(shù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述起始簇所鏈接的第一文件分配表的表項中存儲的表項值為與所述起始簇連續(xù)的第二數(shù)據(jù)簇所鏈接表項的索引值,所述第二數(shù)據(jù)簇所鏈接表項中存儲的表項值為結(jié)束標識。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述第一文件分配表的每個表項通過以下方式鏈接數(shù)據(jù)簇所述第一文件分配表的每個表項的索引值代表的是該表項在磁盤數(shù)據(jù)區(qū)中鏈接的數(shù)據(jù)簇的存放位置。4.一種利用權(quán)利要求1所述的文件分配表進行文件尋道的方法,其特征在于,包括步驟一,從所述第一文件分配表讀取起始簇在磁盤數(shù)據(jù)區(qū)的存放位置;步驟二,從所述第二文件分配表讀取連續(xù)數(shù)據(jù)簇的個數(shù);步驟三,根據(jù)所述起始簇的存放位置和所述連續(xù)數(shù)據(jù)簇的個數(shù),從磁盤數(shù)據(jù)區(qū)連續(xù)尋道獲得所述連續(xù)數(shù)據(jù)簇。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述步驟一之前,還包括判斷要尋道的數(shù)據(jù)簇是否為連續(xù)數(shù)據(jù)簇,是則執(zhí)行步驟一,否則按照常規(guī)尋道方式處理。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,通過以下方式判斷是否為連續(xù)數(shù)據(jù)簇如果所述第一文件分配表的表項在所述第二文件分配表的對應(yīng)表項中存儲有連續(xù)數(shù)據(jù)簇的個數(shù),則為連續(xù)數(shù)據(jù)簇,并且所述第一文件分配表的表項為起始簇所對應(yīng)鏈接的表項。7.根據(jù)權(quán)利要求5所述的方法,其特征在于,通過以下方式判斷是否為連續(xù)數(shù)據(jù)簇如果所述第一文件分配表的表項中存儲的表項值為與該表項相鄰的鄰接表項的索引值,并且所述鄰接表項中存儲的表項值為結(jié)束標識,則為連續(xù)數(shù)據(jù)簇。全文摘要本發(fā)明提供一種利用文件分配表進行磁盤數(shù)據(jù)簇鏈接及尋道的方法,用于包括有第一文件分配表和第二文件分配表的系統(tǒng)架構(gòu),所述第一文件分配表的每個表項都鏈接一個磁盤數(shù)據(jù)區(qū)的數(shù)據(jù)簇,所述第一文件分配表的每個表項在所述第二文件分配表中都具有一個對應(yīng)表項,其特征在于,對于連續(xù)數(shù)據(jù)簇的起始簇所鏈接的第一文件分配表的表項,在該第一文件分配表表項的對應(yīng)表項中存儲所述連續(xù)數(shù)據(jù)簇的數(shù)據(jù)簇個數(shù)。本發(fā)明簡化了FAT表,相當(dāng)于擴大了FAT表的空間,在文件尋道時,還可以減少FAT表的讀取次數(shù),大大提高了效率。文檔編號G06F17/30GK101051318SQ200710099119公開日2007年10月10日申請日期2007年5月11日優(yōu)先權(quán)日2007年5月11日發(fā)明者孫豐強申請人:北京中星微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1