
文件系统
文章平均质量分 89
祚儿疯
向阳而生
展开
-
文件系统学习1——文件系统基本概念
2019.2.27最近准备学习一下文件系统的基本知识,学习路线如下:文件系统基本概念->文件系统磁盘布局->文件系统IO系统->MQ队列机制->IO管控。下面开始简单介绍一下文件系统的一些基本概念,大部分来自于书籍和一些博客上的内容,相关链接如下:Ext4专题文章索引linux文件系统详解鸟哥 Linux 磁盘与文件系统管理Linux 的虚拟文原创 2019-02-28 20:10:58 · 2131 阅读 · 0 评论 -
块设备层request plug/unplug机制
转载至博客:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=14528823&id=4778396一、基本原理Linux块设备层使用了plug/unplug(蓄流/泄流)的机制来提升IO吞吐量。基本原理为:当IO请求提交时,不知直接提交给底层驱动,而是先将其放入一个队列中(相当于水池),待一定时机或周期后再将该队列...转载 2019-03-08 21:21:04 · 674 阅读 · 0 评论 -
文件系统学习7——文件系统队列机制概述
前面几小节讲述linux文件系统是如何操作IO流的,本小节讲述文件系统的队列机制,主要集中在IO调度器这一层的队列调度上。1、队列机制linux中的队列机制主要发生在IO调度器这一层,首先给出IO调度器在整个IO栈的位置,如下图所示。它位于bio块层之下,硬件驱动层之上。pagecache刷新下来的数据会合成对应的bio,同一个任务的多个bio会下发到块层,进行IO调度。在早期的linux...原创 2019-03-03 20:39:21 · 890 阅读 · 0 评论 -
文件系统学习8——文件系统MQ队列机制详解
上一篇已经讲述了MQ多队列的机制,利用cpu的多核,配上多队列机制,并发的处理IO请求,提高效率。本篇详细讲述下从bio下发到IO调度器中,MQ队列机制是如何一步步完成的。1、MQ处理结构流图从整个流程图可以看到,主要是分为三个部分:初始化硬件设备的target参数、初始化请求队列request_queue以及bio请求的处理过程。前面两个过程主要是完成底层存储设备向文件系统的注册,同时完...原创 2019-03-08 21:16:53 · 4432 阅读 · 0 评论 -
文件系统学习6——文件系统IO子系统的补充
在第5小节详细讲述了文件系统IO子系统的相关特性,在阅读完第5小节的文章后,本小节给出自己的一些疑惑,并对上述的疑惑进行补充说明。疑惑1:pagecache、buffer和bufferhead的区别与联系说明:首先需要明确的是linux系统中文件系统的缓冲区主要分为两个page cache和buffer cache,每一个 page cache 包含若干 buffer cache。与pag...原创 2019-03-02 16:38:51 · 366 阅读 · 0 评论 -
文件系统学习5——文件系统IO子系统
关于文件系统IO子系统的介绍,有一篇非常好的博客,详细了从上到下,由浅入深的讲述了IO子系统。这里给出原文的链接,方便大家共同学习。[IO系统]01 IO子系统[IO系统]02 用户态的文件IO操作[IO系统]03 虚拟文件系统(VFS)[IO系统]04 节点路径搜索[IO系统]05 open流程分析[IO系统]06 因OPEN建立的结构体关系[IO系统]07 IO写流程分析[IO...转载 2019-03-02 16:10:38 · 520 阅读 · 0 评论 -
文件系统学习4——日志文件系统的由来
1、日志文件系统的由来之前讲述的都是文件系统的基本功能,但是一直都集中在数据如何存放获取的过程上,那么文件系统对于数据的一致性又是如何保证的呢??同样,我们从一个文件的新建开始说起,类似第三小节,一个文件的新建步骤如下:先确定用户对于欲新增文件的目录是否具有 w 与 x 的权限,若有的话才能新增;根据 inode bitmap 找到没有使用的 inode 号码,并将新文件的权限/属性写入...原创 2019-03-01 20:38:19 · 1294 阅读 · 0 评论 -
文件系统学习3——文件系统相关操作流程
前文中讲到了文件系统有哪几类操作,这里对没类操作文件系统是如何寻址,如果读写的进行一个详细的说明。1、目录树的读取所有对文件的操作,给用户看来第一步就是得知道这个文件的目录,所以首先就需要读取目录。每个目录都是一个文件,该文件存放该目录下所有文件的相关信息,同样该文件也有对应的innode。简答步骤:由于目录树是由根目录开始读起,因此系统透过挂载的信息可以找到挂载点的 inode 号此时就...原创 2019-03-01 20:06:48 · 760 阅读 · 0 评论 -
文件系统学习2——文件系统的布局
说道文件系统的布局,就需要先从磁盘的逻辑结构说起。1、磁盘的逻辑结构这里说的磁盘逻辑结构不是指磁盘的物理结构,诸如磁道、磁臂和旋转这一类,这里的逻辑结构是指,磁盘给了一段物理空间,那么用户总要对这个物理空间进行划分,即所谓的逻辑空间,那么一块磁盘在逻辑空间上布局如下图所示:从图上我们可以总结出,一块磁盘的开始区域是主引导记录又称为MBR表,它由三个部分组成:硬盘主引导程序(BootLoad...原创 2019-02-28 21:04:02 · 1834 阅读 · 0 评论 -
Linux IO barrier
转载博客:https://blog.youkuaiyun.com/younger_china/article/details/51138375I/O顺序问题是一个比较综合的问题,它涉及的层次比较多,从VFS page cache到I/O调度算法,从IO子系统到存储外设。而Linux I/O barrier就是其中重要的一部分。可能很多人认为,在做了文件写操作后,调用fsycn就能保证数据可靠地写入磁盘。大...转载 2019-03-08 21:23:31 · 398 阅读 · 0 评论