嵌入式系統(tǒng)中基于閃存平臺(tái)的存儲(chǔ)管理策略
該系統(tǒng)記錄扇區(qū)的詳細(xì)參數(shù)值如表1所示。本文引用地址:http://butianyuan.cn/article/151786.htm
3 文件管理
文件管理層(FML)封裝了整個(gè)文件系統(tǒng),并且為操作系統(tǒng)和上層的應(yīng)用程序提供統(tǒng)一標(biāo)準(zhǔn)的程序接口(APIs)。用戶操作請(qǐng)求將被APIs移交到文件的邏輯層(FLL),然后將請(qǐng)求發(fā)送到文件的物理層(FPL)。
3.1 文件編輯
文件系統(tǒng)應(yīng)提供友好的用戶界面,用戶可以操作文件,無需考慮文件的結(jié)構(gòu)或物理位置。圖4顯示編輯一個(gè)存儲(chǔ)在閃存的文件流程圖。首先要遍歷文件信息鏈表,根據(jù)文件名來查找存儲(chǔ)此文件信息的節(jié)點(diǎn)。因此,該文件存儲(chǔ)空間的第一個(gè)扇區(qū)可獲取,后續(xù)扇區(qū)依次獲取。然后,每個(gè)扇區(qū)將逐個(gè)讀取,數(shù)據(jù)將被寫入緩沖區(qū)。通過建立一個(gè)雙鏈表顯示數(shù)據(jù),然后通過人機(jī)界面進(jìn)行編輯操作。最后,將修改后的數(shù)據(jù)寫回到閃存,文件信息和系統(tǒng)記錄將自動(dòng)更新。
3.2 文件存儲(chǔ)和文件刪除
連續(xù)的文件存儲(chǔ)結(jié)構(gòu)模式(如圖5中的文件N005和N011)在存儲(chǔ)前,文件通常被劃分成為大小相等的多個(gè)數(shù)據(jù)塊(除最后一個(gè)塊的大小可能小于其他塊)。塊的數(shù)量是由文件和塊大小決定,而塊的大小與存儲(chǔ)介質(zhì)有關(guān)。在本文中,閃存的存儲(chǔ)單元(即扇區(qū))為256 B,因此,該塊的大小建議不超過256 B。在這里,把文件劃分為252 B大小的塊,每個(gè)數(shù)據(jù)塊占用一個(gè)扇區(qū)的存儲(chǔ)空間。因此,塊的數(shù)量(即被占用的扇區(qū)數(shù))可以計(jì)算出,這是最低整數(shù)不少于文件字節(jié)大小除以塊字節(jié)大小所得的商數(shù)。然后未使用的扇區(qū)鏈表的頭節(jié)點(diǎn)作為這個(gè)文件存儲(chǔ)空間的第一個(gè)扇區(qū)。緊隨第一個(gè)扇區(qū),很多未使用的扇區(qū)被取出后,整個(gè)文件的存儲(chǔ)空間可用。因此,該文件成功保存。
評(píng)論