Ramdisk簡介以及嵌入式Linux上實現

2021-07-04 17:02:40 字數 1872 閱讀 5962

[email protected]

sam多年前在剛接觸linux時第乙個專案是個dvr專案,此專案當時誰作誰辭職。在sam加入之前,幾乎已經換了3撥人了。sam作為乙個外行加入其中,並最終幾乎重寫了所有模組,雖然現在想來程式架構和**質量相當不好。但總算把東西給作出來了。呵呵,閒話不說,回到主題:在那個專案中,我們一些頻繁修改的檔案,放置於ramdisk中,一方面加快訪問速度,另一方面也防止檔案寫壞。

ramdisk簡單的來說,就是用記憶體模擬為硬碟,並在其上儲存臨時檔案(因為重新啟動後,檔案會消失)

ramdisk技術在windows,linux下均可實現。windows下可選用類似ramdisk4g這樣的軟體實現。linux下,則需要kernel配置。我們主要關注linux下實現。

0. 準備工作:

在linux下建立ramdisk,需要mkfs.ext2。但sam遇到的嵌入式平台並不支援。最簡單的方法當然是重新編譯busybox.

#cd busybox

#make menuconfig

linux system utilities  --->  [*] mkfs_ext2

#make

編譯出busybox.

執行之:

#./busybox mkfs.ext2

發現可用。

1.kernel配置支援ramdisk:

#make menuconfig

device drivers  --->  [*] block devices  --->

ram block device support 

選擇將其編譯為modules.

(4096) default ram disk size (kbytes) 

預設值為4096。所以ramdisk預設為4m.

想要建立150m ramdisk. 設定為:153600(1024*150) kbytes

2.建立ramdisk:

當kernel有ramdisk support支援時,就會有/dev/ramx這樣的裝置。裝置未被格式化時,不佔記憶體,也不能被使用。

#./busybox mkfs.ext2 /dev/ram0

//此時才真正可用,並占用預設大小記憶體。執行此命令時,系統會顯示這個塊裝置具體有多大。

#mount /dev/ram0 /tmp

//將裝置mount到mount 點。此時可以使用df 命令檢視。

3. 建立指定大小的ramdisk:

3.  

其實記憶體檔案系統中最方便的是:tmpfs.

建立方便,也可以隨意改變大小。

用法:先建立掛載點。

#mkdir /data/game

#mountgame_tmpfs/data/game -t tmpfs -o -o size=10m 

建立了乙個名為:game_tmpfs,大小為10m, 掛載點為/data/game的記憶體檔案系統。

給定名字game_tmpfs的優點是,在mount 或df中可以很容易找到自己的記憶體檔案系統。

wget用法:

#cc=arm-hisiv200-linux-gnueabi-gcc ./configure --host=arm-linux --without-ssl

#make

wget username:password@site/dir/filename.ext

wget -rm  --ftp-user=public --ftp-password=3dijoy 

嵌入式系統簡介

僅僅是乙個簡單的整理 硬體 主機板,主機板上有soc system on chip ram,flash,其他晶元,外設。soc,片上系統,裡面有cpu 可能是arm,可能是mips 片內外設,如記憶體控制器,display controller,flash controller,gpio,inter...

嵌入式系統簡介

嵌入式系統是一種 完全嵌入受控器件內部,為特定應用而設計的專用計算機系統 嵌入式系統一般指非pc系統,它包括硬體和軟體兩部分。硬體包括處理器 微處理器 儲存器及外設器件和i o埠 圖形控制器等 軟體部分包括作業系統軟體 os 要求實時和多工操作 和應用程式程式設計。特點1 bootloader 它是...

嵌入式系統簡介

一 嵌入式發展歷程 嵌入式計算機的真正發展是在微處理器問世之後。1971年11月,算術運算器和控制器電路成功的被整合在一起,推出了第一款微處理器,其後各廠家陸續推出了8位 16位微處理器。以這些微處理器為核心所構成的系統廣泛地應用於儀器儀表 醫療裝置 機械人 家用電器等領域。微處理器的廣泛應用形成了...