前面提到的檔案系統都是基於Flash儲存空間的,而本文介紹的這些檔案系統都是利用RAM來作為他們的儲存空間。它們共同的優點都是讀寫的速度非常快(因為是在記憶體中讀寫),而缺點也很明顯,就是當系統複位之後會丟失所有資料。 二、基於RAM的檔案系統 1、Ramdisk檔案系統 Ramdisk是將一部分固定大小的記憶體當做分區來使用。它並非一個實際的檔案系統,而是一種將實際的檔案系統裝入記憶體的機制,並且可以作為根檔案系統。 A、特點 a. 將一些經常訪問但不會修改的檔案通過ramdisk放入記憶體,可明顯提高系統的效能; b. 和CRAMFS、JFFS2相比,壓縮率不高,佔用資源多; c. 存取速度快; d. 唯讀檔案系統,掉電資料丟失。 B、建立方法 a. 核心起來之後建立和掛載方式
查看系統可用的ramdisk
#ls -al /dev/ram*
核心將ramdisk作為一個裝置檔案來管理,未格式化之前還不佔用記憶體空間
#mke2fs /dev/ram0
這個命令就格式化了一個ramdisk,出現以下提示:
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
16384 inodes, 65536 blocks
3276 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67108864
8 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345
This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override. 載入ramdisk #mkdir /mnt/ramdisk #mount /dev/ram0 /mnt/ramdisk 可以查看建立的ramdisk的大小 root@jgf:~/qihuan # df -k /dev/ram0
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/ram0 63461 1289 58896 3% /mnt/ramdisk 卸載 #umount /mnt/ramdisk b. 如何建立ramdisk鏡像檔案 提供一個指令碼用於將準備好的rootfs檔案夾建立為ramdisk.img,可在ubuntu上運行,原來還是利用ubuntu的mke2fs命令格式化一塊ram,在mount到/mnt下面,再將rootfs拷貝到其中,在拷貝出來便成為了ramdisk.img鏡像檔案。 make_ramdisk.sh
#!/bin/bash
# Housekeeping...clean before img
rm -f /tmp/ramdisk.img