新四季網

一種文件系統的目錄項整理方法

2023-10-08 18:11:04 2


專利名稱::一種文件系統的目錄項整理方法
技術領域:
:本發明涉及文件系統,特別涉及文件系統的目錄項整理。
背景技術:
:現在很多嵌入式手持設備如手機,MP3/MP4播放器等都開始支持外部存儲器接口,如SD卡標準接口,NandFlash接口等。這些嵌入式手持設備都使用FAT(fileallocationtable文件分配表)文件系統作為訪問外部存儲器的接口,根據外部存儲器容量不同使用FAT12/FAT16/FAT32文件系統進行文件讀寫等操作。非易失性存儲器上的文件系統一般具有BIOS(基本輸入輸出系統)參數塊、文件分配表(FAT表)、根目錄和數據區,這樣的文件系統一般稱為FAT文件系統,目前包括FAT12、FAT16和FAT32三種,文件系統中以簇作為基本的儲存單位。其中數據區用於存放文件內容的數據。BIOS參數塊記錄了每扇區字節數、每簇扇區數、每個FAT的扇區數、扇區總數、根目錄項數等等參數。根目錄裡記錄著每個文件及目錄的目錄項,也稱為目錄登記項或表項;目錄項中記錄著文件或目錄名、文件或目錄的首簇號,文件大小、文件創建的日期等描述邏輯文件數據結構的數據。根目錄和各層子目錄都有自己的FDT(文件目錄表)用於存放本目錄下各文件及目錄的目錄項。FAT表是記錄每個邏輯文件在數據區的物理存儲位置的鍊表,一般以簇為單位;這裡的邏輯文件包括文件及目錄。FAT表區按1個半字節(FAT12)、2個字節(FAT16)、4個字節(FAT32)劃分為多個區間(也可稱之為單元、元素),每一區間對應於數據區的一個簇,按順序為這些區間編號,稱為簇號,該簇號除了是一個數據外,還對應於FAT表區的某一區間及數據區的一個簇。一個邏輯文件會佔用一個或以上的簇,,文件存放在數據區的簇中的是數據;而目錄存放在數據區的簇中的是目錄項,這些目錄項記錄著該目錄下所有子目錄及文件的信息。當佔用一個以上的簇時,邏輯文件是裝滿一個簇後,再往下一個簇裡裝。由於簇的存放順序在物理地址上未必連續,因此在邏輯文件的FAT表中,每個簇號對應的區間都存放有該邏輯文件數據所在的下一個簇的簇號,即每個簇號都有一個鍊表指針指向該邏輯文件數據所在的下一個簇,從而構成一個鍊表,稱為簇鏈;如果一個簇號的區間中存放的不是下一個簇號而是FF,則表示這個簇是邏輯文件的最後一個簇。這樣,只要知道邏輯文件首簇號,即可找到一個簇鏈,進而得到該邏輯文件所有數據的存儲位置。根目錄和各層子目錄都有各自獨立的簇鏈。隨著用戶進行創建文件、刪除文件操作的增多,外部存儲器中文件系統的目錄項——包括文件和目錄的——也會不斷的增加,直到達到一個目錄下的最大目錄項數目。一個目錄在數據區中對應的存儲空間即該目錄的目錄區,目錄中的目錄項即存放在其目錄區裡。在文件系統的目錄區中,隨著已刪除目錄項和新目錄項的增加,目錄區的結構會越來越龐大,當刪除一個文件或目錄時,除了將其在數據區的數據刪除以外,還會將其目錄項更改,一般是將其目錄項的首字節改為E5,這時其目錄項就成為一個已刪除目錄項,但這個已刪除目錄項實際上還存在於目錄區的原來位置。在進行文件或目錄的查找或創建操作時,需要將目標文件或目錄的名字與目錄區中的各目錄項進行比較,由於目錄項連續存放,比較就是按物理地址依次去比較,因此也會對已刪除目錄項進行比較,如果已刪除目錄項很多,這種無用的查找操作就會越多,造成更多的資源浪費。例如在某個嵌入式系統中的外部存儲設備文件系統中,在一個有用目錄項數目為100,已刪除目錄項數目為0的目錄,創建一個新文件的時間大約是150毫秒;但在一個有用目錄項數目為100,已刪除目錄項數目為6000的目錄,創建一個新文件的時間大約為1400毫秒,所用時間大約相差10倍,在已刪除目錄項上浪費的時間佔用了系統90%的資源。嵌入式系統的資源和性能都比較有限,這種情況下,在進行文件操作如創建、刪除、查找等操作時會非常耗時,導致產品整體性能下降,無法滿足客戶需求。
發明內容針對上述不足,本發明提出了一種文件系統的目錄項整理方法,該方法可以清除指定目錄區裡的已刪除目錄項,使有效目錄項集中存放。本發明採用的技術方案是一種文件系統的目錄項整理方法,其特徵在於,包括(a)確定目標目錄並進入該目標目錄區開始檢查目錄項;(b)判斷目標目錄區中各目錄項為有效目錄項還是已刪除目錄項,當找到的已刪除目錄項夠裝滿一個簇時執行(c);(c)將找到的已刪除目錄項向一個簇裡移動;移動完成後將該簇中所有目錄項的首字節置0,然後將該簇從目標目錄區的簇鏈中刪除;執行(d);(d)如目標目錄區中目錄項未檢查完則返回(b),否則結束整理。進一步地,步驟(b)中,用計數器記錄找到的已刪除目錄項的個數,當該個數與目錄項空間大小的乘積大於或等於一個簇的空間大小時,認為找到的已刪除目錄項夠裝滿一個簇。進一步地,步驟(b)進一步細化為(b1)判斷所檢查的目錄項是否為已刪除目錄項,並執行(b2);(b2)判斷所檢查的目錄項是否為當前簇中的最後一個目錄項,如果是則執行(b3);否則檢查當前簇裡的下一個目錄項並執行(b1);(b3)判斷找到的已刪除目錄項是否夠裝滿一個簇,夠則執行(c),不夠則執行(d)。進一步地,步驟(c)中,將找到的已刪除目錄項向當前簇裡移動,實現方法是將當前簇及目標目錄區的簇鏈中在其之前的簇裡的有效目錄項依次上移,與找到的已刪除目錄項對調位置;當前簇及其之前的簇裡的有效目錄項都上移後,移動完成。進一步地,步驟(c)中,將所述簇從目標目錄區的簇鏈中刪除,其實現方法是在文件分配表中,用所述簇的鍊表指針取代前一個簇的鍊表指針,並將當前簇的鍊表指針置0;所述前一個簇為目標目錄區的簇鏈中在所述簇之前的一個簇。進一步地,步驟(d)中,判斷當前簇是否為目標目錄區的最後一個簇,如果是則目標目錄區中目錄項已檢查完,結束整理;否則目標目錄區中目錄項未檢查完,進入目標目錄區的下一個簇並檢查第一個目錄項,並返回(b1)。進一步地,目標目錄區中各目錄項按其在整個目標目錄區中的排列次序有相應的邏輯編號;當所檢查的目錄項為已刪除目錄項時,使用數組記錄找到的已刪除目錄項的位置;所述記錄方法是將數組元素依次賦值為每個找到的已刪除目錄項的編號;在有效目錄項依次上移,與找到的已刪除目錄項對調位置時,將數組中相應元素的值由已刪除目錄項的編號更改為所上移的有效目錄項上移前的編號。進一步地,確定目標目錄的方法包括由使用者輸入目錄名或預設在系統中。採用本發明的技術方案後,可以根據需要指定目錄區進行目錄項的整理,通過清除該目錄區裡的已刪除目錄項,使有效目錄項可以連續存放,從而減少需要比較的目錄項數目,提高嵌入式系統中FAT文件系統的操作效率,最終提升嵌入式系統的性能;同時還可以將已刪除目錄項所佔用的存儲空間釋放,提高了系統資源的利用率。圖1是本發明的應用實例中目標目錄區的結構示意圖。圖2是本發明的文件系統目錄項整理方法具體實施的流程圖;具體實施方式下面將結合附圖和實施例對本發明的技術方案進行更詳細的說明。為了方便後面的說明,下面再簡單介紹一下目錄區的結構,如圖1所示。一個目錄區佔用一個或以上的簇,這些簇的物理地址不一定連續,簇之間的聯繫及先後順序是根據目錄區在FAT表中的簇鏈決定的,比如該目錄區共佔3個簇1、2和3;蔟鏈裡1的下一個簇是2,即1的鍊表指針指向2;2的下一個簇是3,即2的鍊表指針指向3。根目錄的首簇號記錄在BIOS參數塊中。而子目錄的首簇號記錄在該子目錄的上一層目錄的FDT中。知道了首簇號就等於知道了目錄的入口地址。每個簇裡存放了多個目錄項,簇空間的大小是目錄項空間大小的整數倍,對於同個系統而言,簇和目錄項的大小都是固定值,因此一個系統中,每個簇能裝多少個目錄項也是固定的。除了最後一個簇以外,目錄區中其它簇都是裝滿目錄項的;簇內各目錄項的存放在物理地址上是連續的,對於同一個簇中的目錄項而言,將前面的目錄項的地址直接物理地址累加後就可以得到後面的目錄項的地址。如果目錄項的空間大小為32位元組,則簇中的第一個目錄項就是該簇所對應的數據區的第一個32位元組。由於目錄區所佔空間的大小未必是簇的整數倍,因此最後一個簇中往往留有一些未使用的目錄項,其首字節為0,當遇到這樣的目錄項時,文件系統程序會認為這是目錄區中最後一個目錄項。本發明提供了一種文件系統目錄項的整理方法,應用於嵌入式系統,這裡的FAT文件系統包括FAT12、FAT16和FAT32文件系統;由於實際應用中目錄項的空間大小通常為32位元組,所以本文中均按一個目錄項佔32位元組的情況來說明本發明的技術方案;如果出現目錄項的空間大小不為32位元組的情況,則將表述中的32位元組更改為目錄項的空間大小即可。所述方法包括以下步驟,如圖2所示a0確定目標目錄——即需要對其中的目錄項進行整理的目錄;確定的方式可以根據需要設定,比如由使用者在需要時輸入想整理的目錄的名稱;這裡的目錄指的是存儲器文件系統中的目錄,可以是根目錄,也可以是各層子目錄;再比如,還可以預設在系統的定時任務中,讓系統在到達預定時間後,對預定的目錄進行整理。確定後進入目標目錄區中的第一個簇,同時設置一個計數器並將其初始數值設為0。a1開始檢查目標目錄區裡第一個簇中的第一個目錄項;b1當所檢查的目錄項的首字節為E5時,表示該目錄項為已刪除目錄項,將計數器的值加1,執行b2。否則該目錄項為有效目錄項——即已經使用還未刪除的目錄項,也執行b2。在該步中,可以記錄每個找到的已刪除目錄項。為方便後面的說明,在這裡假設一個簇能裝N個目錄項。簇中目錄項按其在整個目標目錄區中的排列次序有相應的邏輯編號,這裡的邏輯編號實際上是一種虛擬的編號,只為了方便記錄而設定,比如第一個簇中目錄項編號為0,1,...,N-1,第二個簇中目錄項編號為N,N+2,...,2N-1,以此類推。然後定義一個有2N-1個元素的數組變量來記錄所發現的已刪除目錄項的位置,每找到一個已刪除目錄項,就依次將這個數組的一個元素的賦值為所述已刪除目錄項的編號,從而記錄所發現的已刪除目錄項的位置。b2判斷所檢查的目錄項是否為當前簇中的最後一個目錄項,根據a0中的計算,一個簇中能裝N個簇,則每個簇中的第N個目錄項就是該簇的最後一個目錄項;如檢查的是當前簇中第N個目錄項時,執行b3;如果不是則檢查下一個目錄項並返回b1b3判斷找到的已刪除目錄項是否能裝滿一個簇;當計數器的數值大於或等於N時,或是當目錄項的空間大小——即32位元組與計數器的值的乘積大於或等於一個簇的空間大小時,表示找到的已刪除目錄項已經夠裝滿一個簇了,執行c,在這裡或在步驟c裡將計數器的值減去N,所述計數器的值即代表找到的已刪除目錄項的個數;否則執行d。c首先將找到的已刪除目錄項向當前簇裡移動,實現方法是將目標目錄區中當前簇——即目前查到的最後一個簇——及目標目錄區的簇鏈中在其之前的各簇中的全部有效目錄項依次上移。所述「依次」是指上移是按有效目錄項在簇中的排列順序一個個進行的,因為有的長文件名的目錄項不止一個,而是連在一起的兩個或幾個,所以有效目錄項之間的順序不能改變。上移的實際操作是每次用一個有效目錄項取代或者說覆蓋其前面第一個已刪除目錄項——這裡尋找「前面第一個已刪除目錄項」的範圍,是從目標目錄區第一個簇的第一個目錄項到該有效目錄項,也就是說有效目錄項覆蓋的也可能是其它簇裡的已刪除目錄項。如果沒有採用數組記錄,則需要邊移動邊判斷哪些目錄項是已刪除的;如果採用了數組記錄,則在移動時可以直接使用數組中的信息對目錄項進行移動。覆蓋後,如未採用數組記錄則將原有效目錄項的首字節改為E5,如採用了數組記錄,則將數組中相應元素的值由被覆蓋的已刪除目錄項的編號改為所上移的有效目錄項上移前的編號。從效果上可以把每個有效目錄項上移的過程看作是有效目錄項與已刪除目錄項對調位置;接著再對下一個有效目錄項進行相同操作;如果一個有效目錄項前沒有已刪除目錄項時則去對下一個有效目錄項操作,直到將當前簇及其之前各簇中的有效目錄項都上移完。從效果上看,上移的過程就相當於把已刪除目錄項向當前簇裡移動。移動完成後,當前簇中存放就都是已刪除目錄項了,裝不下的已刪除目錄項這時存放在當前簇的前一個簇的最後。當前簇為目標目錄區中的最後一簇並且其存放有未使用目錄項時,情況會有一點不同,因為未使用目錄項不上移,因此移動完成時,該簇中存放的是已刪除目錄項和未使用目錄項。當然,在實際應用中也可以讓未使用目錄項一起上移。這時,對當前簇中所有目錄項進行清0操作,即將它們的首字節置0;清0的結果就是在數據區裡徹底清除這些目錄項,或者說是釋放了這些目錄項所佔用的存儲空間,使其原來的存儲空間可再被利用。然後更新目標目錄區在FAT表中的鍊表指針,將當前簇的簇號從目標目錄區的簇鏈中刪除,步驟是用當前簇在FAT表中對應區間的內容覆蓋前一個簇對應區間的內容,並將當前簇的對應區間置0,或者說是用當前簇的鍊表指針取代前一個簇的鍊表指針,並將當前簇的鍊表指針置0。前一個簇即目標目錄區的簇鏈中在當前簇之前的一個簇。比如原先目標目錄的簇鏈是1的下一個簇為2,2的下一個簇為3,此時2已裝滿已刪除目錄項,那麼改變目標目錄區在FAT表中的鍊表指針,將2對應區間中原本所存的簇號3放進1對應的區間,即將1由指向2改為指向3,其實質就是將2屏蔽。如果不進行屏蔽的話,當文件系統程序遇到該簇中的目錄項時,會誤以為後面沒有其它目錄項,從而造成錯誤操作;屏蔽後當前簇重新成為一個可用簇,也就是說文件系統將可以把新的數據存儲在該簇裡。而且此後當在目標目錄中創建或查找文件需要對目錄項進行比較時,就不會再查找到該簇,從而也就無須對該簇裡的已刪除目錄項再進行比較了。執行d。d如果當前簇是目標目錄區中的最後一個,那麼該簇所對應的區間中存放的不是下個簇的簇號,而是FF,此時結束整理任務;如果不是FF則進入下一個簇開始檢查第一個目錄項,返回b1。結束整理任務後,目標目錄中或許還存在有若干已刪除目錄項,這些目錄項由於不能或不夠裝滿一個簇,所以沒能被刪除;如果有計數器的話,這時計數器的值不為0。但是,這些剩餘的已刪除目錄項已經對系統的影響非常小,基本可以忽略。上述為本發明的最優實施方式,在不背離本發明精神及其實質的情況下,熟悉本領域的技術人員可根據本發明作出各種相應的變形,但這些相應的變形都應屬於本發明所附權利要求及其等效物所保護的範圍內,比如可以每檢查到一個已刪除目錄項就去判斷找到的已刪除目錄項是否夠裝滿一個簇;再比如可以每檢查到一個已刪除目錄項就將其後面所有未檢查的目錄項依次上移;再比如上移時可以除了當前簇及其之前的簇裡的有效目錄項,還把當前簇之後的簇裡的所有目錄項都上移,移完後屏蔽目標目錄區裡的最後一個簇。下面用本發明的一個應用實例進一步加以說明。本實例採用由用戶輸入目錄名的方式來確定目標目錄。在本實例中,實現本發明技術方案的軟體系統包括以下軟體組件組件1,用戶接口應用程式,為用戶提供應用接口,用戶輸入目錄名來指定文件系統中的一個目標目錄區;組件2,目錄清理組件,接收用戶輸入的目錄名,對目標目錄區中的目錄項進行檢查,如果發現已刪除目錄項並積累到目錄項數目之和等於一個簇的大小,就會對這部分相關目錄項進行整理,刪除這些已刪除目錄項,整理其他有用目錄項;組件3,FAT文件系統組件,提供對FAT文件系統的基本操作軟體接口,如目錄訪問接口,文件訪問接口等;及組件4,存儲器控制驅動程序,用於控制存儲器,提供對存儲器進行復位、讀扇區、寫扇區等操作的軟體接口。其中,組件1是面對用戶的應用層面的接口;組件2為組件1服務,提供了具體程序;而組件3為組件2提供了對FAT文件系統操作的接口;組件4是最底層的功能模塊,它為組件3提供了操作物理層的接口。在進行清理目錄項時,上述4個組件作為一個整體,在不同層面共同實現了這一操作。本應用實例中,需要清理的目錄區結構如圖2所示,其中簇1為該目錄區的首簇,簇2是該目錄區的第二個簇,以此類推,簇m是目錄區的最後一個簇;在每個簇裡有若干目錄項,以簇1為例,目錄項1是簇1中的第一個簇,以此類推,目錄項n是簇1中的最後一個簇,即一個簇能存放n個目錄項;假設目錄項1、目錄項2、目錄項3、目錄項6為有效目錄項,目錄項4和目錄項5為已刪除目錄項。在上述目錄區中清理目錄項的步驟如下首先,用戶輸入目錄名,確定要清理的目標目錄區,這部分工作由組件1完成。組件2接收該目錄名,並從BIOS塊中查找到根目錄的首簇號,進入根目錄;如果目標目錄不是根目錄則在根目錄的FDT中查找目標目錄的目錄項,得到目標目錄區的首簇號。在本應用實例中採用數組記錄找到的已刪除目錄項的位置,各目錄項的邏輯編號為簇1中目錄項1的編號為0,以此類推,目錄項n的編號為n-1;簇2中第一個目錄項的編號為n,以此類推,簇m中最後一個簇的編號為m×n-1;然後定義一個有2n-1個元素的數組用來記錄。進入目標目錄區中的首簇,即簇1,開始檢查第一個目錄項,即目錄項1,同時設置一個數值為0的計數器;每檢查一個目錄項後即判斷其是否為簇1中的最後一個目錄項,不是則檢查下一個目錄項。目錄項1為有效目錄項;接著檢查目錄項2;以此類推。當檢查到目錄項4時,發現該目錄項的首字節為E5,這意味著目錄項4為已刪除目錄項;將計數器的值加1並在數組裡記錄目錄項4的位置,記錄方法是將數組中第一個元素賦值為目錄項4的編號3。然後檢查目錄項5;目錄項5也是已刪除目錄項,將計數器的值再加1並記錄目錄項5的位置,即將數組中第二個元素賦值為目錄項5的編號4;接著檢查目錄項6;以此類推,直到檢查完簇1中最後一個目錄項,即目錄項n。這時,判斷找到的已刪除目錄項是否夠裝滿一個簇;如果計數器中的值乘以32位元組的乘積小於一個簇的空間大小,則說明不夠裝滿一個簇,那麼就對簇1是不是目標目錄區的最後一個簇進行判斷,不是則進入簇2檢查第一個目錄項,並重複上述步驟。每檢查完一個簇裡的目錄項,就判斷一次已刪除目錄項是否夠裝滿一個簇,不夠就繼續檢查下面的簇。假設檢查完簇x後,共發現了n+y個已刪除目錄項,即計數器的值為n+y,已經夠裝滿一個簇了,這時執行下面的步驟。將簇1到簇x中的有效目錄項依次上移,根據數組的記錄,第一個找到的已刪除目錄項為目錄項4,則目錄項1、目錄項2和目錄項3不用移動;用下一個有效目錄項,即目錄項6的內容覆蓋目錄項4,然後將數組中第一個元素的值由目錄項4的編號3改為目錄項6的編號5,使原先的目錄項6成為將來準備被覆蓋的「已刪除目錄項」;以此類推,直到將簇x中的有效目錄項都上移完。此時,簇x中就都是已刪除目錄項了,並且簇x-1裡還有y個已刪除目錄項。此時,對簇x進行清0操作,即將其中所有目錄項的首字節置0;然後更改目標目錄區中FAT表中的鍊表指針,將簇x從目標目錄區的簇鏈中刪除,這裡即在蔟鏈中讓簇x-1指向簇x+1,並把簇x的鍊表指針置0。還要將計數器的值減去n,即變為y。由於FAT表中簇x的區間中是下一個簇的簇號,而不是FF,因此按照前面的步驟繼續檢查下一個簇裡的目錄項。如果是FF,則表示已經檢查到了最後一個簇,在本應用實例裡是簇m,這時清理任務完成。此時,可以設定反饋一個「完成」的提示。組件2利用組件3所提供的接口——比如目錄訪問接口等——來完成以上操作;而組件3對存儲器等的操作則通過組件4提供的接口來完成。權利要求1.一種文件系統的目錄項整理方法,其特徵在於,包括(a)確定目標目錄並進入該目標目錄區開始檢查目錄項;(b)判斷目標目錄區中各目錄項為有效目錄項還是已刪除目錄項,當找到的已刪除目錄項夠裝滿一個簇時執行(c);(c)將找到的已刪除目錄項向一個簇裡移動;移動完成後將該簇中所有目錄項的首字節置0,然後將該簇從目標目錄區的簇鏈中刪除;執行(d);(d)如目標目錄區中目錄項未檢查完則返回(b),否則結束整理。2.如權利要求1所述的方法,其特徵在於步驟(b)中,用計數器記錄找到的已刪除目錄項的個數,當該個數與目錄項空間大小的乘積大於或等於一個簇的空間大小時,認為找到的已刪除目錄項夠裝滿一個簇。3.如權利要求1所述的方法,其特徵在於,步驟(b)進一步細化為(b1)判斷所檢查的目錄項是否為已刪除目錄項,並執行(b2);(b2)判斷所檢查的目錄項是否為當前簇中的最後一個目錄項,如果是則執行(b3);否則檢查當前簇裡的下一個目錄項並執行(b1);(b3)判斷找到的已刪除目錄項是否夠裝滿一個簇,夠則執行(c),不夠則執行(d)。4.如權利要求3所述的方法,其特徵在於,步驟(c)中,將找到的已刪除目錄項向當前簇裡移動,實現方法是將當前簇及目標目錄區的簇鏈中在其之前的簇裡的有效目錄項依次上移,與找到的已刪除目錄項對調位置;當前簇及其之前的簇裡的有效目錄項都上移後,移動完成。5.如權利要求1所述的方法,其特徵在於,步驟(c)中,將所述簇從目標目錄區的簇鏈中刪除,其實現方法是在文件分配表中,用所述簇的鍊表指針取代前一個簇的鍊表指針,並將當前簇的鍊表指針置0;所述前一個簇為目標目錄區的簇鏈中在所述簇之前的一個簇。6.如權利要求3所述的方法,其特徵在於,步驟(d)中,判斷當前簇是否為目標目錄區的最後一個簇,如果是則目標目錄區中目錄項已檢查完,結束整理;否則目標目錄區中目錄項未檢查完,進入目標目錄區的下一個簇並檢查第一個目錄項,並返回(b1)。7.如權利要求4所述的方法,其特徵在於,目標目錄區中各目錄項按其在整個目標目錄區中的排列次序有相應的邏輯編號;當所檢查的目錄項為已刪除目錄項時,使用數組記錄找到的已刪除目錄項的位置;所述記錄方法是將數組元素依次賦值為每個找到的已刪除目錄項的編號;在有效目錄項依次上移,與找到的已刪除目錄項對調位置時,將數組中相應元素的值由已刪除目錄項的編號更改為所上移的有效目錄項上移前的編號。8.如權利要求1所述的方法,其特徵在於,確定目標目錄的方法包括由使用者輸入目錄名或預設在系統中。全文摘要一種文件系統的目錄項整理方法,包括確定目標目錄並進入該目標目錄區開始檢查目錄項;判斷目標目錄區中各目錄項為有效目錄項還是已刪除目錄項,當找到的已刪除目錄項夠裝滿一個簇時,將找到的已刪除目錄項向一個簇裡移動;移動完成後將該簇中所有目錄項的首字節置0,然後將該簇從目標目錄區的簇鏈中刪除。採用本發明的技術方案後,可以根據需要指定目錄進行目錄項的整理,通過清理已刪除目錄項,使有效目錄項可以連續存放,從而減少需要比較的目錄項數目,提高嵌入式系統中FAT文件系統的操作效率,最終提升嵌入式系統的性能。文檔編號G06F17/30GK1959677SQ20061014419公開日2007年5月9日申請日期2006年11月29日優先權日2006年11月29日發明者高佔東,蔣長洪申請人:北京中星微電子有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀