
Linux文件系统
zhuyong006
这个作者很懒,什么都没留下…
展开
-
吴锦华/明鑫: 用户态文件系统(FUSE)框架分析和实战
原贴地址:https://mp.weixin.qq.com/s/QERJ3t1s_AsPaHRFjuZi_A用户态文件系统介绍用户态文件系统(filesystem in userspace,简称FUSE),它能使用户在无需编辑和编译内核代码的情况下,创建用户自定义的文件系统。文件系统是操作系统的重要组成部分,一般在内核层面实现对于文件系统的支持,而通常内核态的代码难以调试,生产率较转载 2018-01-29 10:10:01 · 1469 阅读 · 0 评论 -
如何理解Stand SPI Dual SPI 和Quad SPI
如何理解Stand SPI Dual SPI 和Quad SPI1.首先看一下接口Standard SPI: CLK, /CS, DI, DO, /WP, /Hold这是全双工模式,输入和输出可以同时进行(mosi, miso分别对应的是DI和DO)Dual SPI: CLK, /CS, IO0, IO1, /WP, /Hold这是半双工模式,mosi和miso对应的是IO0和IO1,这...原创 2019-04-18 10:37:20 · 7989 阅读 · 0 评论 -
mtd设备操作、jffs2
安装 手动安装mtd-utils,根据系统自行选择命令# cat /proc/mtddev: size erasesize namemtd0: 00080000 00020000 "boot"mtd1: 00100000 00020000 "kernel"mtd2: 00580000 00020000 "roofs"mtd3: 00900000 00020000 "ap...转载 2019-04-12 18:09:23 · 961 阅读 · 0 评论 -
SPI Nor Flash在Linux下调试
手上有个8MB的SPI接口的Nor Flash芯片,很早之前就想在Linux上调试一把了,今天花了一上午的时间终于搞定了,其实蛮简单的,因为内核已经support了这款芯片,所以也没花多少时间。1.先看SPI Nor Flash的硬件接口:我的板子是标准SPI,那么这里就多出来了2个PIN需要处理...原创 2019-04-12 16:57:04 · 8151 阅读 · 1 评论 -
文件系统和裸块设备的page cache问题
原帖出处:普通文件的address space文件系统读取文件一般会使用do_generic_file_read(),mapping指向普通文件的address space。如果一个文件的某一块不在page cache中,在find_get_page函数中会创建一个page,并将这个page根据index插入到这个普通文件的address space中。这也是我们熟知的过程。static s...转载 2019-03-19 18:23:13 · 254 阅读 · 0 评论 -
高通平台如何新增加一个分区,并mount到android系统中
1.首先需要更改partition.xml文件,在userdata的前面增加一个temp的分区,这里要注意的是userdata的分区大小需要同步的减小,还有一点需要留意,temp分区的UUID需要改一下\MSM8953.LA.2.0\common\config................... <partition label="qpdata2" size_in_kb=&a原创 2018-12-25 16:16:19 · 8740 阅读 · 4 评论 -
Linux的软链接和硬链接
1.创建目录a,在里面创建1 2 3三个文件mkdir acd atouch 1 2 32. ln -s a b ln b c3. ls -li a b c4. unlink b会怎样? unlink c会怎样? unlink a会怎样?结论原创 2018-12-05 11:50:35 · 199 阅读 · 0 评论 -
SimpleFs文件系统初步五(文件的读写)
1.写数据的过程:ssize_t simplefs_write(struct file * filp, const char __user * buf, size_t len, loff_t * ppos){ /* After the commit dd37978c5 in the upstream linux kernel, * we can use just fil...原创 2018-11-01 17:23:39 · 533 阅读 · 0 评论 -
SimpleFs文件系统初步四(Inode的创建过程)
我们在文件系统下面创建一个文件或者目录,毫无疑问,文件系统必须先去检查这个文件或者文件夹是否存在吧,随后如果文件系统检查到文件或者文件夹不存在才会为你新建,否则返回出错。1.文件或者文件夹的检查过程struct dentry *simplefs_lookup(struct inode *parent_inode, struct dentry *child_dentry, u...原创 2018-11-01 11:25:38 · 869 阅读 · 0 评论 -
SimpleFs文件系统初步三(Mount过程分析)
static int simplefs_init(void){ int ret; sfs_inode_cachep = kmem_cache_create("sfs_inode_cache", sizeof(struct simplefs_inode), ...原创 2018-10-19 16:46:45 · 1161 阅读 · 0 评论 -
SimpleFs文件系统初步二(测试用的块设备构建)
1.首先打开我们通过dd命令生成的image文件fd = open(argv[1], O_RDWR);2.写超级块write_superblock(fd)我们详细看看超级块是怎么去写的static int write_superblock(int fd){ struct simplefs_super_block sb = { .version = 1, .magic ...原创 2018-10-19 16:38:11 · 538 阅读 · 0 评论 -
SimpleFs文件系统初步一(编译并挂载)
编译并挂载simplefs文件系统相关的代码链接如下io:simplefs1.首先使用dd命令创建一个文件"image"dd if=/dev/zero of=image bs=1M count=1000在当前目录下会生成一个1000M的image文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源),但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果...原创 2018-10-19 16:34:35 · 790 阅读 · 0 评论 -
块层介绍 第二篇: request层
原帖地址:http://mp.weixin.qq.com/s?__biz=MzAwMDUwNDgxOA==&mid=2652663917&idx=2&sn=2e1efebb3292c76f00357817278106f6&chksm=810f36f0b678bfe674f017bdac57b1e2b94502aa0f1834cd93f2706bf096ae3304b...转载 2018-04-12 19:10:00 · 515 阅读 · 0 评论 -
块层介绍 第一篇: bio层
原帖地址:摘要: 本文翻译自Neil Brown发表在LWN上的两篇介绍块层的文章。Neil是前MD RAID的maintainer,他通过这两篇文章,提纲契领地描绘了块层的主脉络。 操作系统比如Linux关键的价值之一,就是为具体的设备提供了抽象接口。虽然后来出现了各种其它抽象模型比如“网络设备”和“位图显示(bitmap display)”,但是最初的“字符设备”和“块设备”...转载 2018-04-12 19:09:01 · 927 阅读 · 0 评论 -
宋宝华: 文件读写(BIO)波澜壮阔的一生
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/juS3Ve/article/details/79890688点击上方“公众号” 可以订阅哦!前言网上关于BIO和块设备读写流程的文章何止千万,但是能够让你彻底读懂读明白的文章实在难找,可以说是越读越糊涂!我曾经跨过山和大海 也穿过...转载 2019-08-30 17:32:18 · 810 阅读 · 0 评论