什么是Android的文件系统? [关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是Android的文件系统? [关闭]相关的知识,希望对你有一定的参考价值。
什么是android的文件系统?
这取决于什么文件系统,例如/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文件系统。
这里的大多数答案都很古老。
在过去,当un-managed nand是最流行的存储技术时,yaffs2是最常用的文件系统。现在很少有设备使用未管理的nand,而那些仍在使用的设备正在慢慢迁移到ubifs。
今天最常见的存储是emmc(托管nand),对于这样的设备,ext4更受欢迎,但是,这个文件系统正在为f2fs(flash friendly fs)慢慢扫清障碍。
编辑:f2fs可能不会使它成为flash设备的常见fs(包括android)
Johan很接近 - 这取决于硬件制造商。例如,三星Galaxy S手机使用三星RFS(专有)。然而,使用Android 2.3的Nexus S(也由三星制造)使用Ext4(可能是因为谷歌告诉他们 - Nexus S是目前的谷歌体验手机)。由于这种转变,许多社区开发人员也开始转向Ext4。
取决于您使用的硬件/平台。
由于Android在此级别使用Linux内核,因此使用Linux内核支持的任何文件系统或多或少都是可能的。
但由于大多数手机使用某种nand闪存,因此可以安全地假设他们使用YAFFS。
但请注意,如果某个供应商想要销售Android上网本(带有硬盘),他们可以使用ext3或类似的东西。
由于大多数设备使用eMMC,因此android使用的文件系统是ext4,除了firmware.refer-http://android-developers.blogspot.com/2010/12/saving-data-safely.html
这是galaxy s4上的文件系统:
- / system text4
- / ext4数据
- / cache ext4
- / firmware 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 = 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
在十六进制编辑器中分析Galaxy Ace 2.2时。 hex似乎指向使用FAT16作为其文件系统的设备。我觉得这很不寻常。但是Fat 16与Linux内核兼容。
与Linux类似
/启动
/系统
/复苏
/数据
/高速缓存
/杂项
Android支持Linux内核支持的所有文件系统。
例如,SD卡的格式为ext3。
以上是关于什么是Android的文件系统? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
任何更改后的 Android Firebase 数据库活动/片段正在关闭
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段
Android App 在片段中创建 ListView 引用时关闭