1、littlefs主要用在微控制器和flash上,是一種嵌入式檔案系統。主要有3個特點:
1)、掉電恢復
在寫入時即使復位或者掉電也可以恢復到上乙個正確的狀態。
2)、擦寫均衡
有效延長flash的使用壽命
3)、有限的ram/rom
節省rom和ram空間
2、已有的檔案系統
1)非掉電恢復,基於block的檔案系統,常見的有fat和ext2。這兩個檔案系統在寫入檔案時是原地更新的,不具備非掉電恢復的特性。
2) 日誌式的檔案系統,比如jffs,yaffs等,具備掉電恢復的特性。但是這幾個系統消耗了太多的ram,且效能較低。
3) ext4和cow型別的btrfs具有良好的恢復性和讀寫效能,但是需要的資源過多,不適合小型的嵌入式系統。
littlefs綜合了日誌式檔案系統和cow檔案系統的優點。從sub-block的角度來看,littlefs是基於日誌的檔案系統,提供了metadata的原子更新;從super-block的角度,littlefs是基於block的cow樹。
littlefs系列 重要的資料結構
1 檔案型別 file types enum lfs type 2 檔案開啟時的標誌 file open flags enum lfs open flags 3 檔案seek時的標誌 file seek flags enum lfs whence flags 4 lfs的配置引數 configura...
arm linux 系列工具介紹
gnu gcc簡介 gnu gcc是一套面向嵌入式領域的交叉編譯工具,支援多種程式語言 多種優化選項並且能夠支援分步編譯 支援多種反彙編方式 支援多種除錯資訊格式,目前支援x86 arm7 strongarm ppc4xx mpc8xx mips r3000等多種cpu。gnu gcc的基本功能包括...
Apache Kafka教程A系列 介紹
在大資料中,使用了大量的資料。關於資料,我們有兩個主要挑戰。第乙個挑戰是如何收集大量資料,第二個挑戰是分析收集的資料。為了克服這些挑戰,您必須使用訊息傳遞系統。卡夫卡專為分布式高吞吐量系統而設計。卡夫卡傾向於非常好地取代傳統的資訊 者。與其他訊息系統相比,kafka具有更好的吞吐量,內建分割槽,複製...