Что такое файловая система Android?
Что такое файловая система Android?
Ответы (9)
Это зависит от файловой системы, например /system
и /data
это yaffs2
, а /sdcard
это vfat. Это вывод mount:
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
По умолчанию используется YAFFS — еще одна файловая система Flash.
adb shell mount
) подтверждает, что из Gingerbread файловая система ext4, а Froyo и старше - YAFFS.
- person Paul Lammertsma; 05.03.2012
Большинство ответов здесь довольно старые.
В прошлом, когда самой популярной технологией хранения была неуправляемая память nand, самой распространенной файловой системой была yaffs2. В наши дни есть несколько устройств, использующих неуправляемый nand, а те, которые все еще используются, медленно переходят на ubifs.
Сегодня наиболее распространенным хранилищем является emmc (managed nand), для таких устройств гораздо популярнее ext4, но эта файловая система постепенно уступает место f2fs (fs, дружественному к флэш-памяти).
Изменить: f2fs, вероятно, не станет обычной fs для флеш-устройств (включая Android)
Йохан близок - зависит от производителя железа. Например, в телефонах Samsung Galaxy S используется Samsung RFS (проприетарная версия). Однако Nexus S (также сделанный Samsung) с Android 2.3 использует Ext4 (предположительно, потому что Google сказал им - Nexus S - это текущий телефон Google). Многие разработчики сообщества также начали переходить на Ext4 из-за этого перехода.
Зависит от того, какое оборудование/платформу вы используете.
Поскольку Android использует ядро Linux на этом уровне, более или менее возможно использовать любую файловую систему, поддерживаемую ядром Linux.
Но поскольку в большинстве телефонов используется какая-то nand flash, можно с уверенностью предположить, что они используют YAFFS.
Но учтите, что если какой-то поставщик хочет продать нетбук на Android (с жестким диском), он может использовать ext3 или что-то в этом роде.
поскольку большинство устройств используют eMMC, файловая система, которую использует Android, — ext4, за исключением прошивки. /saving-data-safely.html" rel="nofollow">http://android-developers.blogspot.com/2010/12/saving-data-safely.html
Вот файловая система на galaxy s4:
/система ext4
/данные ext4
/кэш ext4
/прошивка vfat
/data/media /mnt/shell/emulated sdcardfs
Подробный вывод выглядит следующим образом:
/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=ordered 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=ordered 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, кодовая страница = cp437, iocharset = iso8859-1, короткое имя = ниже, ошибки = remount-ro 0 0
/data/media /mnt/shell/emulated sdcardfs rw,nosuid,nodev,relatime,uid=1023,gid=1 023 0 0
При анализе Galaxy Ace 2.2 в шестнадцатеричном редакторе. Шестнадцатеричный код указывает на устройство, использующее FAT16 в качестве файловой системы. Я подумал, что это необычно. Однако Fat 16 совместим с ядром Linux.
Похоже на Linux:
/ботинок
/система
/восстановление
/данные
/кэш
/разное
Android поддерживает все файловые системы, поддерживаемые ядром Linux, за исключением нескольких портированных, таких как NTFS.
Например, SD-карта отформатирована как ext3.