web-dev-qa-db-ja.com

Androidのファイルシステムとは何ですか?

Androidのファイルシステムとは何ですか?

53
Guimo

たとえば、/system/datayaffs2ですが、/sdcardはvfatです。これはマウントの出力です:

rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

サポートされている他のファイルシステムに関しては、これがリストです

nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   binfmt_misc
nodev   sockfs
nodev   pipefs
nodev   anon_inodefs
nodev   tmpfs
nodev   inotifyfs
nodev   devpts
nodev   ramfs
         vfat
         msdos
nodev   nfsd
nodev   smbfs
         yaffs
         yaffs2
nodev   rpc_pipefs
36

デフォルトでは、 [〜#〜] yaffs [〜#〜] -Yet Another Flash File Systemを使用します。

16
Foole

ここでの回答のほとんどはかなり古いものです。

過去にアンマネージナンドが最も一般的なストレージテクノロジーであったとき、yaffs2は最も一般的なファイルシステムでした。現在、管理されていないnandを使用するデバイスはほとんどなく、まだ使用されているデバイスは徐々にubifsに移行しています。

現在、最も一般的なストレージはemmc(マネージナンド)です。このようなデバイスではext4の方がはるかに人気がありますが、このファイルシステムはf2fs(フラッシュフレンドリーfs)への道を徐々に切り開いています。

編集:f2fsはおそらく、フラッシュデバイス(Androidを含む)の一般的なfsにはなりません。

9
dolbi

ヨハンは近いです-それはハードウェアメーカーに依存します。たとえば、Samsung Galaxy S電話はSamsung RFS(独自仕様)を使用します。ただし、Android 2.3のNexus S(Samsung製)はExt4を使用します(おそらくGoogleがNexus Sが現在のGoogle体験電話であるため)。多くのコミュニティ開発者も開始しました)このシフトのためにExt4に移行しています。

7
Brian

使用するハードウェア/プラットフォームに依存します。

AndroidはこのレベルでLinux-kernelを使用するため、Linux-kernelがサポートする任意のファイルシステムを使用できます。

しかし、ほとんどの電話はなんらかのナンドフラッシュを使用しているため、YAFFSを使用していると想定しても安全です。

ただし、一部のベンダーがAndroidネットブック(ハードドライブ付き)を販売したい場合、ext3などを使用できることに注意してください。

4
Johan

ほとんどのデバイスはeMMCを使用しているため、ファイルシステムAndroid useはext4です。ファームウェアを除きます。refer- http://Android-developers.blogspot.com/2010/12/saving-data-safely.html

Galaxy s4のファイルシステムは次のとおりです。

  • / systemext4

  • / dataext4

  • / cacheext4

  • / firmwarevfat

  • / data/media/mnt/Shell/emulatedsdcardfs

詳細な出力は次のとおりです。

/dev/block/platform/msm_sdcc.1/by-name/system/system ext4 ro、seclabel、relatime、data = ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/userdata/data ext4 rw、seclabel、nosuid、no dev、noatime、discard、journal_checksum、journal_async_commit、noauto_da_alloc、data = o rdered 0 0

/dev/block/platform/msm_sdcc.1/by-name/cache/cache ext4 rw、seclabel、nosuid、node v、noatime、discard、journal_checksum、journal_async_commit、noauto_da_alloc、data = ord ered 0 0

/dev/block/platform/msm_sdcc.1/by-name/efs/efs ext4 rw、seclabel、nosuid、nodev、no atime、discard、journal_checksum、journal_async_commit、noauto_da_alloc、errors = panic、data = ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/persdata/persdata/absolute ext4 rw、secla bel、nosuid、nodev、relatime、data = ordered 0 0

/dev/block/platform/msm_sdcc.1/by-name/apnhlos/firmware vfat ro、context = u:objec t_r:firmware:s0、relatime、uid = 1000、gid = 1000、fmask = 0337、dmask = 0227、 codepage = cp437、iocharset = iso8859-1、shortname = lower、errors = remount-ro 0 0

/dev/block/platform/msm_sdcc.1/by-name/mdm/firmware-mdm vfat ro、context = u:objec t_r:firmware:s0、relatime、uid = 1000、gid = 1000、fmask = 0337、dmask = 0227、codepage = cp437、iocharset = iso8859-1、shortname = lower、errors = remount-ro 0 0

/ data/media/mnt/Shell/emulated sdcardfs rw、nosuid、nodev、relatime、uid = 1023、gid = 1 023 0 0

3
rupesh jain

16進エディターでGalaxy Ace 2.2を分析する場合。ヘックスは、ファイルシステムとしてFAT16を使用しているデバイスを指しているようです。これは珍しいと思いました。ただし、Fat 16はLinuxカーネルと互換性があります。

2
Michael

Linuxに類似:

  • /ブート

  • /システム

  • /回復

  • /データ

  • /キャッシュ

  • / misc

0
Mario Pierre