![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
06-android分区挂
文章平均质量分 90
android 分区的介绍
frank_zyp
一切皆有可能
展开
-
Android fuse文件系统
一、fuse文件系统挂载 从android4.4 以来,第三方应用程序是不能再随便的访问sdcard,sdcard的权限管理是fuse 即用户空间文件系统(Filesystem in Userspace)来实现的,android 7.0版本中的直接在vold中,fork一个进程直接开启sdcard进程挂载fuse文件系统。并且在卸载sd的时候,在vold中卸载fuse文件系统。 在an原创 2017-04-25 17:09:27 · 14402 阅读 · 2 评论 -
F2FS文件系统一 设计背景及框架结构
一、F2FS文件系统简介1、背景: F2FS (Flash Friendly File System)是专门为基于NAND的存储设备设计的新型开源flash文件系统。特别针对NAND闪存存储介质做了友好设计。F2FS于2012年12月进入Linux 3.8内核。目前,F2FS仅支持Linux操作系统。2、解决的问题:(1)LFS(Log-strctured...原创 2019-07-30 13:47:52 · 9792 阅读 · 0 评论 -
linux文件系统四 VFS数据读取vfs_read
一、vfs_read的调用流程:二、VFS层调用流程1、系统调用sys_read会调用到vfs层的__vfs_read接口如下,在vfs层接口会调用大具体的文件系统的操作接口://kernel-4.9/fs/read_write.cssize_t __vfs_read(struct file *file, char __user *buf, size_t count, ...原创 2019-03-29 09:54:51 · 11273 阅读 · 1 评论 -
linux文件系统一 ext4框架结构
一、文件系统框架: 从下图可以看到整个文件系统包含:用户层:用户空间对文件的读写操作open/read/write等; VFS层:虚拟文件系统层,承上启下,为上下层提供接口; 文件系统层:可以存在很多类型的文件系统,VFS层的接口会调用到不同的文件系统层的接口; 缓存层:文件系统底下有缓存,PageCache,加速性能; 块设备驱动层:对硬盘进行读写操作进行管理;二、EX...原创 2019-03-13 18:54:50 · 2784 阅读 · 0 评论 -
linux文件系统三 VFS数据结构体剖析
一、结构体种类:1、超级块对象struct super_block *sb: 超级块代表了整个文件系统,超级块是文件系统的控制块,有整个文件系统信息,一个文件系统所有的inode都要连接到超级块上,可以说,一个超级块就代表了一个文件系统。每次一个实际的文件系统被安装时,内核会从磁盘的特定位置读取一些控制信息来填充内存中的超级块对象。super_block定义在include/...原创 2019-03-25 10:50:14 · 533 阅读 · 0 评论 -
linux文件系统二 VFS读写流程
一、文件系统框架: 从文件系统一种我们了解了linux文件系统的框架,这里我们首先再通过下面简洁的流程图来展示linux文件系统文件读写的大框架: 从上图中可以看出linux文件系统的读写通过调用虚拟文件系统(VFS)的对应接口,从而调用到实际文件系统的读写接口,来进行emmc的操作,这样可以实现多文件系统兼容,如android中的boot/system分区是ext4的...原创 2019-03-21 11:42:44 · 2092 阅读 · 0 评论 -
Android vold进程一 Vold启动和NetlinkManager数据获取
一、vold简介: vold进程接收来自内核的外部设备消息,用于管理和控制Android平台外部存储设备,包括SD插拨、挂载、卸载、格式化等;当外部设备发生变化时,内核通过Netlink发送uEvent格式的消息给用户空间程序,Netlink 是一种基于异步通信机制,在内核与用户应用间进行双向数据传输的特殊 socket,用户态应用使用标准的socket API 就可以使用 netlin原创 2017-01-16 20:17:55 · 1990 阅读 · 0 评论 -
Android vold进程二 VolumeManager和CommandListener简介
一、VolumeManager的启动 Vold使用VolumeManager的过程和NetlinkManager类似,也是三步: system/vold/VolumeManager.cpp 1、vm= VolumeManager::Instance() //创建VolumeManager 2、vm->setBroadcaster((SocketListener *) cl) //原创 2017-02-23 10:33:36 · 1851 阅读 · 0 评论 -
Android vold进程三 MountService介绍
一、MountService的创建 MountService:Android Binder服务端,运行在system_server进程,用于跟Vold进行消息通信,比如MountService向Vold发送挂载SD卡的命令,或者接收到来自Vold的外设热插拔事件。MountService作为Binder服务端,那么相应的Binder客户端便是StorageManager,通过binder IP原创 2017-04-25 17:15:03 · 4173 阅读 · 0 评论 -
F2FS文件系统二 实验分析f2fs文件系统
一、环境准备:1、ubuntu系统安装f2fs-tools:sudo apt-get install -y f2fs-tools2、使用系统loop设备进行实践操作:dd if=/dev/zero of=device bs=4K count=51200 //200Mlosetup /dev/loop0 device //寻址可用的loop设备mkfs.f2fs -l f...原创 2019-08-01 14:41:03 · 4721 阅读 · 3 评论