基于嵌入式視頻存儲的專用文件系統(tǒng)設計
2.1 磁盤信息區(qū)
磁盤信息區(qū)的位置固定,用于保存當前磁盤信息和文件系統(tǒng)基本信息,如記錄每個區(qū)域的具體位置和大小、信息區(qū)的使用情況、最后數(shù)據(jù)塊位置等。下面為典型的磁盤信息結構:
typedef STruct {
UInt32 Formatted;/*格式化標志*/
UInt32 DBN_Num;/*總數(shù)據(jù)塊數(shù)*/
UInt32 DBN_Size;/*數(shù)據(jù)塊的大小*/
UInt32 DBN_Begin;/*當前可用數(shù)據(jù)塊開始地址*/
UInt32 CurrentFAT;/*當前所用的分區(qū)*/
UInt32 OtherInfoBlockAddr; /*保留信息區(qū)開始扇區(qū)*/
UInt32 OtherInfoBlockSize;/*保留信息區(qū)大小*/
UInt32 FileInfoBlockAddr[2][MAX_CHANNEL]; /*文件信息塊開始扇區(qū)*/
UInt32 FileInfoBlockSize;/*文件信息區(qū)大小*/
UInt32 IndexInfoBlockAddr[2][ MAX_CHANNEL];/*索引信息塊開始扇區(qū)*/
UInt32 IndexInfoBlockSize;/*索引信息區(qū)大小*/
} DiskInfo;
2.2 保留信息區(qū)
保留信息區(qū)用于保存其他系統(tǒng)信息,如操作日志信息、系統(tǒng)設置信息等,此區(qū)域大小可自由設定。
2.3 文件信息區(qū)
文件信息區(qū)用于保存錄像文件的文件信息,如錄像開始和結束時間,第一個數(shù)據(jù)塊和最后一個數(shù)據(jù)塊的位置,索引信息的位置和其他文件信息。每個文件的數(shù)據(jù)結構和大小固定。通過文件序號就可以準確定位文件信息的具體位置。
文件信息區(qū)分兩個部分,分別為分區(qū)一和分區(qū)二,用于描述覆蓋前的文件信息和覆蓋后的文件信息。每個分區(qū)根據(jù)最大文件數(shù)按錄像路數(shù)順序分配存儲空間。
每個文件信息包含以下信息:文件開始時間和結束時間,文件開始索引塊地址和結束索引塊地址,文件開始數(shù)據(jù)塊地址和結束數(shù)據(jù)塊地址等。下面為典型的文件信息結構:
typedef struct {
UInt32 FileID;/*文件序號*/
time_t FileStartTime;/*錄像開始時間*/
time_t FileEndTime;/*錄像結束時間*/
UInt32 FileStartDBN;/*文件開始DBN*/
UInt32 FileEndDBN;/*文件結束DBN*/
IndexInfoAddr IndexInfoStart;/*索引信息開始地址*/
IndexInfoAddr IndexInfoEnd;/*索引信息結束地址*/
} FileInfo;
2.4 索引信息區(qū)
索引信息區(qū)用于保存錄像文件所使用數(shù)據(jù)塊的索引信息。索引信息也分為兩部分,分別為分區(qū)一和分區(qū)二,用于描述覆蓋前和覆蓋后的索引信息。每個分區(qū)根據(jù)最大文件數(shù)按錄像路數(shù)順序分配存儲空間。
DIY機械鍵盤相關社區(qū):機械鍵盤DIY
評論