大約20年前,微軟公布了new technology file system(ntfs)檔案系統,作為windows nt的一部分出現。從那時起,ntfs就沉澱下很多特性,這些特性可能當時看起來不錯,但實際上是不怎麼樣的想法。同時,尖端技術不斷發展,與ntfs架 構也就不再相容了。經過幾次失敗的嘗試之後,微軟現在承諾提供乙個全新的檔案系統。
該檔案系統被稱為refs或「彈性檔案系統」,其設計目的是要提公升可靠性,特別是發生電源斷電或是媒介故障的時候(比如磁碟的老化)。可靠性部分來自底層的變化,比如檔案元資料的儲存和更新。現在元資料的更新使用寫時分配(allocate-on-write)方式,而不是以前的結合日誌即時更新方式。
refs相容storage spaces跨 區卷技術。storage spaces自身有多種提公升效能和可靠性的方式,特別是出現災難性的磁碟失敗情況時。然而,可能發生某種很微妙形式的資料毀壞情況。refs使用校驗和系 統,可以檢測到這些錯誤的發生。出現錯誤時,refs會查詢所有的storage spaces驅動器,判斷誰有檔案的正確拷貝。
為了主動確保驅動器和檔案的完整性,refs會執行後台程序,不時抽測檔案。該程序會對比與元資料和檔案每份拷貝的內容,正如上例,該程序會使用正確拷貝修復其他錯誤拷貝。這對於很少訪問的檔案很重要,因為除非其他拷貝也出錯,否則乙份拷貝中的錯誤可能很難發現。
另一種可靠保障機制被稱為「完整性流(integrity streams)」。與元資料類似,完整性流會使用寫時分配方式來降低錯誤發生機率,這種錯誤發生在向磁碟寫入時,有可能導致檔案內容唯一乙份正確拷貝出 錯。完整性流不適用所有檔案型別,需要控制物理檔案結構的應用(比如資料庫)應該禁止該功能。
為了提公升相容性,在實現refs時,保證它可以在ntfs api下執行,只是替換了一些最底層的api。不過還是有一些ntfs的功能refs無法支援:
「bitlocker加密、安全訪問控制列表、usn日誌、變更通知、符號鏈結、接點、掛載點、重解析點、卷快照、檔案id、oplocks」等其他特性仍得到支援。
refs的早期版本將定位於檔案伺服器。也就是說只能在windows 8 server版中才能使用,而且不支援可啟動驅動器。將來,refs將可以提供給客戶機版本的windows,最終將可用作啟動驅動器。考慮到檔案系統缺 陷的危險程度,微軟認為這種緩慢的方式更加審慎。
不過ntfs格式檔案系統還是不能直接轉換為refs,必須建立新的驅動器,然後把資料拷貝過去。
檢視英文原文:introducing windows new file system: refs
微軟最新檔案系統ExFAT
微軟檔案系統經歷了fat12 fat16 fat32 ntfs幾個階段,ntfs檔案系統以其非常好的安全性及可恢復性得到廣泛認可,也是微軟力推的一種檔案系統。目前,微軟又對fat系列檔案系統做了進一步發展,推出了exfat extended file allocation table file sy...
《海思製作新檔案系統》
因為我的海思板卡是64m的,所以對應的是0x10000。針對不同的板卡要進行修改。可以通過uboot列印看到自己的板卡是什麼flash以及多大和塊大小 在海思的sdk裡面的package中有已經製作好的檔案系統,我就拿這個用,然後拷貝新的檔案進去。然後執行下面的命令。osdrv pub bin pc...
Linux sync命令 重新整理檔案系統緩衝區
當我們在計算機上儲存資料的時候,其實是先在記憶體中儲存一定時間,再寫入硬碟。這其實是一種快取機制,當在記憶體中儲存的資料需要被讀取的時候,從記憶體中讀取要比從硬碟中讀取快得多。不過,這也會帶來一些問題,如果資料還沒有來得及儲存到硬碟中,就發生了突然岩機 比如斷電 的情況,資料就會丟失。sync 命令...