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

一種獲取fat文件系統(tǒng)剩余空間的方法及其裝置的制作方法

文檔序號(hào):6651360閱讀:326來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種獲取fat文件系統(tǒng)剩余空間的方法及其裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)原理領(lǐng)域,具體涉及在FAT文件系統(tǒng)中獲取剩余空間的方法以及使用這種方法的裝置。
背景技術(shù)
FAT文件系統(tǒng)定義了硬盤(pán)上的數(shù)據(jù)按照其不同的特點(diǎn)和作用分為5部分MBR區(qū)、DBR區(qū)、FAT區(qū)、DIR區(qū)和DATA區(qū)。
(1)MBR(主引導(dǎo)記錄區(qū)),通常位于整個(gè)硬盤(pán)的0磁道0柱面1扇區(qū),它包含了硬盤(pán)的一系列參數(shù)和一段引導(dǎo)程序,它由分區(qū)程序(如Fdisk.com)所產(chǎn)生的,并不依賴(lài)任何操作系統(tǒng)。
(2)DBR(操作系統(tǒng)引導(dǎo)記錄區(qū)),它通常位于硬盤(pán)的0磁道1柱面1扇區(qū),是操作系統(tǒng)可以直接訪問(wèn)的第一個(gè)扇區(qū)。它的主要任務(wù)是當(dāng)MBR將系統(tǒng)控制權(quán)交給它時(shí),判斷本分區(qū)跟目錄前兩個(gè)文件是不是操作系統(tǒng)的引導(dǎo)文件,如果確定存在,就把其讀入內(nèi)存,并把控制權(quán)交給該文件。
(3)FAT(文件分配表)位于DBR之后,從0磁道1柱面33扇區(qū)開(kāi)始,占據(jù)扇區(qū)的多少由磁盤(pán)類(lèi)型和大小而定。文件分配表是用來(lái)表示磁盤(pán)空間的分配信息。它不表示引導(dǎo)區(qū)、文件目錄的信息,也不真正存儲(chǔ)文件內(nèi)容。
為了實(shí)現(xiàn)文件的鏈?zhǔn)酱鎯?chǔ),硬盤(pán)上必須準(zhǔn)確地記錄哪些簇已經(jīng)被文件占用,還必須為每個(gè)已經(jīng)占用的簇指明存儲(chǔ)后繼內(nèi)容的下一個(gè)簇的簇號(hào),對(duì)一個(gè)文件的最后一簇,則要指明本簇?zé)o后繼簇。這些都是由FAT(文件分配表)來(lái)保存的,表中有很多表項(xiàng)(entry),每項(xiàng)記錄一個(gè)簇的信息。
(4)DIR根目錄區(qū)(Directory),緊接著第二FAT表(即備份的FAT表)之后,記錄著根目錄下每個(gè)文件(目錄)的起始單元,文件的屬性等。定位文件位置時(shí),操作系統(tǒng)根據(jù)DIR中的起始單元,結(jié)合FAT表就可以知道文件在硬盤(pán)中的具體位置和大小了。
(5)數(shù)據(jù)區(qū)是真正意義上的數(shù)據(jù)存儲(chǔ)的地方,位于DIR區(qū)之后,占據(jù)硬盤(pán)上的絕大部分?jǐn)?shù)據(jù)空間FAT文件系統(tǒng)中,獲取磁盤(pán)剩余空間是非常重要的一個(gè)功能,常規(guī)的根本的方法就是遍歷整個(gè)FAT表,統(tǒng)計(jì)全部非零的數(shù)據(jù)部分,以此獲取磁盤(pán)剩余空間。顯然這種操作方法耗時(shí)很大,對(duì)于大容量磁盤(pán)其劣勢(shì)比較明顯。
根據(jù)FAT文件系統(tǒng)的規(guī)則,F(xiàn)AT表前會(huì)有一定數(shù)目的保留區(qū),通常保留區(qū)中第一個(gè)block(塊)存儲(chǔ)整個(gè)FAT系統(tǒng)相關(guān)信息,且格式固定,剩余block就沒(méi)有用及,當(dāng)然FAT16和FAT32對(duì)這些剩余保留區(qū)處理有所不同。

發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題本發(fā)明的目的是要克服目前現(xiàn)有技術(shù)的缺陷,提出一種獲取FAT文件系統(tǒng)剩余空間的方法。
(二)技術(shù)方案本發(fā)明提出一種獲取FAT文件系統(tǒng)剩余空間的方法,在FAT文件系統(tǒng)中添加一個(gè)塊作為磁盤(pán)空間信息記錄區(qū),用于存放磁盤(pán)空間信息,當(dāng)占用或釋放磁盤(pán)空間時(shí),修改這個(gè)記錄區(qū)中的信息;當(dāng)需要獲取磁盤(pán)空間信息時(shí),讀取該記錄區(qū)內(nèi)的信息。
上述的獲取FAT文件系統(tǒng)剩余空間的方法,一種優(yōu)選的方案是用于記錄磁盤(pán)空間信息的記錄區(qū)位于保留區(qū)內(nèi)。
上述的獲取FAT文件系統(tǒng)剩余空間的方法,一種優(yōu)選的方案是記錄了磁盤(pán)空間信息的記錄區(qū)定位為一個(gè)結(jié)構(gòu)體,該結(jié)構(gòu)體包括以下信息磁盤(pán)總空間、剩余空間、已用空間、損壞空間。
上述的獲取FAT文件系統(tǒng)剩余空間的方法,一種優(yōu)選的方案是當(dāng)磁盤(pán)數(shù)據(jù)有讀寫(xiě)操作時(shí),磁盤(pán)空間信息同時(shí)被更新,更新的信息包括磁盤(pán)剩余空間、已用空間。
本發(fā)明還提出一種裝置,該裝置使用了本發(fā)明提出的獲取FAT文件系統(tǒng)剩余空間的方法,該裝置包括CPU和存儲(chǔ)器,存儲(chǔ)器內(nèi)包括一個(gè)FAT文件系統(tǒng),這個(gè)文件系統(tǒng)中有一個(gè)數(shù)據(jù)空間用作磁盤(pán)空間信息記錄區(qū),用于存放磁盤(pán)空間信息,當(dāng)占用或釋放磁盤(pán)空間時(shí),該記錄區(qū)內(nèi)的數(shù)據(jù)會(huì)被更新;當(dāng)需要獲取磁盤(pán)空間信息時(shí),讀取該記錄區(qū)內(nèi)的信息。
上述的裝置,一種優(yōu)選的方案是還包括USB模塊,用于將該裝置與計(jì)算機(jī)相連。
上述的裝置,一種優(yōu)選的方案是裝置的CPU、存儲(chǔ)器之間的通信采用DMA方式進(jìn)行數(shù)據(jù)傳輸。
(三)有益效果采用本發(fā)明的獲取磁盤(pán)剩余空間的方法及其裝置,可以有效、快速的獲取磁盤(pán)的空間信息,縮短了操作耗時(shí)。而且不會(huì)給磁盤(pán)帶來(lái)空間占用上的負(fù)擔(dān),特別適合應(yīng)用到大容量磁盤(pán)或嵌入式系統(tǒng)的開(kāi)發(fā)。


圖1為采用本發(fā)明的FAT文件系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明的實(shí)施例的模塊圖。
其中,1、揚(yáng)聲器;2、MCU系統(tǒng)。
具體實(shí)施例方式
本發(fā)明提出的獲取FAT文件系統(tǒng)剩余空間的方法結(jié)合附圖和實(shí)施例說(shuō)明如下。以下實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專(zhuān)利保護(hù)范圍應(yīng)由各項(xiàng)權(quán)利要求限定。
參照?qǐng)D2,本實(shí)施例中,整個(gè)FAT文件系統(tǒng)放置在一片音頻處理芯片中,這個(gè)音頻處理芯片包括CPU和存儲(chǔ)器部分,其中CPU和存儲(chǔ)器之間的數(shù)據(jù)傳輸采用現(xiàn)有技術(shù)中常用的DMA(直接存儲(chǔ)器存取)傳輸方式。具體在說(shuō),在這片音頻芯片的存儲(chǔ)器中設(shè)置了一個(gè)FAT文件系統(tǒng)。由于這個(gè)FAT文件系統(tǒng),因此通過(guò)它可以完成對(duì)外部存儲(chǔ)介質(zhì)的管理,例如通過(guò)它讀取外部的SD、MMC、NandFlash記憶卡中的數(shù)據(jù)。這種通過(guò)一個(gè)文件系統(tǒng)進(jìn)行對(duì)外部存儲(chǔ)介質(zhì)的管理屬于現(xiàn)有技術(shù),類(lèi)似于在通用計(jì)算機(jī)上通過(guò)操作系統(tǒng)完成對(duì)USB存儲(chǔ)器的管理一樣,在此不作贅述。
在這個(gè)MCU系統(tǒng)中,采用51C型CPU作為中央處理器,通過(guò)DMA方式與存儲(chǔ)器之間通信。本裝置采用現(xiàn)有技術(shù)中常用的音頻處理模塊,支持midi、mp3、wave多種格式的音樂(lè)播放功能,也支持midi+wave、midi+mp3的播放。這些音樂(lè)數(shù)據(jù)會(huì)通過(guò)音頻混音模塊,然后輸出到EQ(智能)模塊、3D模塊,然后輸出到揚(yáng)聲器。
這個(gè)MCU系統(tǒng)中還包括USB模塊,這個(gè)音頻處理芯片可以通過(guò)該模塊與通用計(jì)算機(jī)(PC)之間進(jìn)行數(shù)據(jù)傳輸。
對(duì)于存儲(chǔ)在存儲(chǔ)器中的文件系統(tǒng)而言,這個(gè)文件系統(tǒng)的結(jié)構(gòu)示意圖如圖1所示。在制作常規(guī)的FAT文件系統(tǒng)時(shí),在保留區(qū)添加了一個(gè)block(塊)作為剩余空間記錄區(qū),用于存放磁盤(pán)空間信息。對(duì)于本實(shí)施例,它位于保留區(qū)的尾部。這個(gè)Block由一個(gè)結(jié)構(gòu)體來(lái)定義typdef struct{long total; //磁盤(pán)總空間long used; //已用空間long free; //剩余空間long bad;//損壞空間}disk_space;這樣,系統(tǒng)就定義一個(gè)結(jié)構(gòu)體disk_space,用來(lái)存放磁盤(pán)空間信息,這些空間信息包括磁盤(pán)總空間、磁盤(pán)已用空間、剩余空間、損壞空間。當(dāng)創(chuàng)建文件添加內(nèi)容時(shí),系統(tǒng)會(huì)修改disk_space.used和disk_space.free,也就是說(shuō)disk_space.used會(huì)增加,而disk_space.free會(huì)減少;當(dāng)刪除文件時(shí),系統(tǒng)也會(huì)同時(shí)修改disk_space.used和disk_space.free。這樣,這個(gè)結(jié)構(gòu)體會(huì)同步記錄著磁盤(pán)內(nèi)的空間信息,這個(gè)結(jié)構(gòu)體的內(nèi)容會(huì)隨著磁盤(pán)占用的改變而更新。
當(dāng)系統(tǒng)需要獲取磁盤(pán)剩余空間信息時(shí),采用本發(fā)明提出的技術(shù)的FAT文件系統(tǒng)不需要像現(xiàn)有技術(shù)一樣遍歷整個(gè)磁盤(pán)計(jì)算剩余空間,只需要查詢(xún)這個(gè)block內(nèi)的相關(guān)數(shù)據(jù)即可。用于查詢(xún)這個(gè)block的函數(shù)接口描述為int get_space(disk_space&space);這個(gè)函數(shù)專(zhuān)門(mén)用于讀取結(jié)構(gòu)體disk_space中的數(shù)據(jù),因此當(dāng)需要獲得磁盤(pán)信息時(shí)不再需要遍歷整個(gè)磁盤(pán),可以直接從該結(jié)構(gòu)體中讀取數(shù)據(jù)即可。由于現(xiàn)有技術(shù)的FAT文件系統(tǒng)中獲取磁盤(pán)剩余空間需要遍歷整個(gè)磁盤(pán),這種技術(shù)對(duì)于大的磁盤(pán)空間或處理速度低的處理器是一種負(fù)擔(dān)。
而采用本發(fā)明的獲取磁盤(pán)剩余空間的方法,可以有效、快速的獲取磁盤(pán)的空間信息,不需要采用現(xiàn)有技術(shù)遍歷整個(gè)磁盤(pán)的操作,不但縮短了操作耗時(shí),而且由于減少了遍歷磁盤(pán)的操作,因此可以延長(zhǎng)磁盤(pán)壽命。另一方面,由于這些磁盤(pán)空間信息存儲(chǔ)在保留區(qū)的末尾,而FAT文件系統(tǒng)對(duì)文件的存放有嚴(yán)格的規(guī)定,保留區(qū)的末尾部分通常不占有數(shù)據(jù),因此,增加這部分?jǐn)?shù)據(jù)區(qū)域不會(huì)給磁盤(pán)帶來(lái)空間占用上的負(fù)擔(dān)。這樣的做法,特別適合于小型系統(tǒng)特別是嵌入式系統(tǒng)的開(kāi)發(fā)。
這種采用了本發(fā)明提出的獲取FAT文件系統(tǒng)剩余空間方法的FAT文件系統(tǒng),本領(lǐng)域的技術(shù)人員都可以把它應(yīng)用到其他場(chǎng)合中,例如應(yīng)用到通用計(jì)算機(jī)或其他嵌入式開(kāi)發(fā)中。本實(shí)施例僅用于支持本發(fā)明,本發(fā)明的保護(hù)范圍應(yīng)該由權(quán)利要求書(shū)限定。
權(quán)利要求
1.一種獲取FAT文件系統(tǒng)剩余空間的方法,其特征在于在FAT文件系統(tǒng)中添加一個(gè)塊作為磁盤(pán)空間信息記錄區(qū),用于存放磁盤(pán)空間信息,當(dāng)占用或釋放磁盤(pán)空間時(shí),修改這個(gè)記錄區(qū)中的信息;當(dāng)需要獲取磁盤(pán)空間信息時(shí),讀取該記錄區(qū)內(nèi)的信息。
2.如權(quán)利要求1所述的獲取FAT文件系統(tǒng)剩余空間的方法,其特征在于所述的用于記錄磁盤(pán)空間信息的記錄區(qū)位于保留區(qū)內(nèi)。
3.如權(quán)利要求1所述的獲取FAT文件系統(tǒng)剩余空間的方法,其特征在于所述的記錄了磁盤(pán)空間信息的記錄區(qū)定位為一個(gè)結(jié)構(gòu)體,該結(jié)構(gòu)體包括以下信息磁盤(pán)總空間、剩余空間、已用空間、損壞空間。
4.如權(quán)利要求1所述的獲取FAT文件系統(tǒng)剩余空間的方法,其特征在于當(dāng)磁盤(pán)數(shù)據(jù)有讀寫(xiě)操作時(shí),磁盤(pán)空間信息同時(shí)被更新,更新的信息包括磁盤(pán)剩余空間、已用空間。
5.一種使用如權(quán)利要求1所述的方法的裝置,包括CPU和存儲(chǔ)器,其特征在于存儲(chǔ)器內(nèi)包括一個(gè)FAT文件系統(tǒng),這個(gè)文件系統(tǒng)中有一個(gè)數(shù)據(jù)空間用作磁盤(pán)空間信息記錄區(qū),用于存放磁盤(pán)空間信息,當(dāng)占用或釋放磁盤(pán)空間時(shí),該記錄區(qū)內(nèi)的數(shù)據(jù)會(huì)被更新;當(dāng)需要獲取磁盤(pán)空間信息時(shí),讀取該記錄區(qū)內(nèi)的信息。
6.如權(quán)利要求5所述的裝置,其特征在于還包括USB模塊,用于將該裝置與計(jì)算機(jī)相連。
7.如權(quán)利要求5所述的裝置,其特征在于裝置的CPU、存儲(chǔ)器之間的通信采用DMA方式進(jìn)行數(shù)據(jù)傳輸。
全文摘要
本發(fā)明涉及計(jì)算機(jī)原理領(lǐng)域。本發(fā)明提出一種獲得磁盤(pán)空間信息的方法以及使用這種方法的裝置,它定義一個(gè)結(jié)構(gòu)體用于記錄磁盤(pán)空間信息。當(dāng)需要獲取磁盤(pán)空間信息時(shí),直接讀取這個(gè)結(jié)構(gòu)體內(nèi)的數(shù)據(jù)即可。采用本發(fā)明可以有效、快速的獲取磁盤(pán)的空間信息,縮短了操作耗時(shí)。而且增加磁盤(pán)空間信息不會(huì)給磁盤(pán)帶來(lái)空間占用上的負(fù)擔(dān)。
文檔編號(hào)G06F17/30GK1776648SQ20051013064
公開(kāi)日2006年5月24日 申請(qǐng)日期2005年12月16日 優(yōu)先權(quán)日2005年12月16日
發(fā)明者孫豐強(qiáng) 申請(qǐng)人:北京中星微電子有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1