华的专栏

讨论与进步

把块存放在页高速缓存中

VFS(映射层)和各种文件系统以叫做“块”的逻辑单位组织磁盘数据。在Linux内核的旧版本中,主要有两种不同的磁盘高速缓存:页高速缓存和缓冲区高速缓存,前者用来存放访问磁盘文件内容时生成的磁盘数据页,后者把通过VFS(管理磁盘文件系统)访问的块的内容保留在内存中。   从2.4.10的...

2016-09-27 09:56:00

阅读数:264

评论数:0

do_mpage_readpage函数详细分析

/*   * This is the worker routine which does all the work of mapping the disk   * blocks and constructs largest possible bios, submits them for IO ...

2016-08-18 10:08:13

阅读数:708

评论数:0

EXT2的文件系统装载之内核函数ext2_fill_super分析

在安装ext2fs的时候,存放ext2文件系统的磁盘分区上的大部分数据结构的信息都会被拷贝到RAM(操作系统内存)中,从而使得内核避免了许多后续的操作,变得简单。由于ext2磁盘数据结构都保存在ext2磁盘分区的块中,所以当需要经常更新一些数据结构时,内核会利用页高速缓存来实现。 在实际mo...

2016-08-16 09:26:08

阅读数:591

评论数:0

Linux虚拟文件系统小结

1.inode 1).inode简介 inode 是 UNIX/Linux 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息,例如文件及目录的基本信息,包含时间、档名、使用者及群组等。在 UNIX/Linux中创建文件系统时,同时将会创建大量的 ...

2016-08-15 21:36:36

阅读数:313

评论数:0

Linux ext2文件系统小结

1.ext2文件系统整体布局 一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如某种mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息。下图是一个磁盘分区格式化成ext2文件系统后的存储布局。 文件系统中存储的最...

2016-08-15 21:35:35

阅读数:313

评论数:0

深入解析 ext2 文件系统

很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作原因,好长时间没看学习Linux kernel 相关的东西,感觉面目可憎。扯远了,开始我...

2016-08-15 11:16:40

阅读数:1884

评论数:0

我所认识的EXT2(二)

Ø  EXT2中块组的划分 块组是非常重要的概念,首先请朋友们弄清楚分区和块组是完全不同的概念,分区至多只能有4个(3个主分区和1个扩展分区,如果4个分区不够用,只能用逻辑分区),分区的作用就是对磁盘进行分割,分区之后才能用文件系统对分区进行格式化;块组是基于文件系统的概念,EXT2在分区的基础...

2016-08-15 11:15:08

阅读数:404

评论数:0

我所认识的EXT2(一)

前言: 本文是笔者自己在学习文件系统中的一些体会,写出来和大家分享一下。本文首先是介绍了下文件系统的一些理论概念,然后分析了ext2文件系统的原理和部分源码。   文件系统是什么:          人们在认识一件陌生事物时一开始总是从事物的定义、作用和结构入手的。那么首先文件系统的定义是...

2016-08-15 11:14:27

阅读数:2164

评论数:0

EXT2 文件系统

认识ext文件系统 硬盘组成与分割 文件系统特性 Linux 的 EXT2 文件系统(inode) 与目录树的关系 EXT2/EXT3 文件的存取与日志式文件系统的功能 Linux 文件系统的运行 挂载点的意义 其他 Linux 支持的文件系统与 V...

2016-08-15 09:05:19

阅读数:234

评论数:0

linux文件系统初识

文件系统是linux的一个十分基础的知识,同时也是学习linux的必备知识。     本文将站在一个较高的视图来了解linux的文件系统,主要包括了linux磁盘分区和目录、挂载基本原理、文件存储结构、软链接硬链接、和常见目录的介绍。相信有了这些知识对于深入的学习linux会有一定的帮助。文...

2016-08-10 10:40:26

阅读数:288

评论数:0

linux文件系统之mount流程分析

本质上,Ext3 mount的过程实际上是inode被替代的过程。例如,/dev/sdb块设备被mount到/mnt/alan目录。那么mount这个过程所需要解决的问题就是将/mnt/alan的dentry目录项所指向的inode屏蔽掉,然后重新定位到/dev/sdb所表示的inode索引节点。...

2016-08-10 09:54:29

阅读数:373

评论数:0

关于vfsmount的理解

struct vfsmount {  struct list_head mnt_hash;  struct vfsmount *mnt_parent; /* fs we are mounted on */       struct dentry *mnt_mountpoint; /* d...

2016-08-10 09:43:04

阅读数:473

评论数:0

linux内核装载vfs过程

linux虚拟文件系统是设备驱动程序的之上的一个抽象层,致力于提供给应用程序一个统一的操作文件的接口。虚拟文件系统的各个数据结构之间的关系比较复杂,画了一张各个数据结构之间的关系图在 http://download.csdn.net/detail/lonewolfxw/4588935,这个清晰的给...

2016-02-21 17:34:40

阅读数:886

评论数:0

关于VFS文件系统中的superblock、inode、d_entry和file数据结构

Linux下的文件系统中宏观上主要分为三层:一是上层的文件系统的系统调用;二是虚拟文件系统VFS(Virtual File System)层,三是挂载到VFS中的各种实际文件系统。          VFS是一种软件机制,只存在于内存中,每次系统初始化期间Linux都会先在内存中构造一棵VF...

2016-02-19 14:54:20

阅读数:556

评论数:0

Linux虚拟文件系统之文件读取(sys_read())

在文件成功打开之后,进程将使用内核提供的read和write系统调用,来读取或修改文件的数据。内核中文件读写操作的系统调用实现基本都一样,下面我们看看文件的读取。 [cpp] view plain copy  print? /*sys_read()...

2016-02-15 17:56:31

阅读数:826

评论数:0

Linux虚拟文件系统之文件打开(sys_open())

在文件读写之前,我们必须先打开文件。从应用程序的角度来看,这是通过标准库的open函数完成的,该函数返回一个文件描述符。内核中是由系统调用sys_open()函数完成。 [cpp] view plain copy  print? /*sys_open*/ ...

2016-02-15 17:55:16

阅读数:340

评论数:0

Linux虚拟文件系统之文件系统卸载(sys_umount())

Linux中卸载文件系统由umount系统调用实现,入口函数为sys_umount()。较于文件系统的安装较为简单,下面是具体的实现。 [cpp] view plain copy  print? /*sys_umont系统调用*/   SYSCALL_D...

2016-02-15 17:54:11

阅读数:358

评论数:0

Linux虚拟文件系统之文件系统安装(sys_mount())

对于前面的根目录文件系统的安装中涉及到了mount系统调用的调用,这里我们考虑一个文件系统将被安装在一个已经安装文件系统之上的情形,即调用mount系统调用实现。mount系统调用被用来安装一个普通文件系统,他的服务例程为sys_mount()。  [cpp] view plain cop...

2016-02-15 17:53:13

阅读数:382

评论数:0

Linux虚拟文件系统(安装根文件系统)

安装根文件系统式系统初始化的关键部分。Linux内核允许根文件系统放在很多不同的地方,比如硬盘分区、软盘、通过NFS共享的远程文件系统以及保存在ramdisk中。内核要在变量ROOT_DEV中寻找包含根文件系统的磁盘主设备号。当编译内核时,或者像最初的启动装入程序传递一个合适的“root”选项时,...

2016-02-15 17:52:12

阅读数:399

评论数:0

Linux虚拟文件系统(内核初始化<二>)

这部分主要对linux虚拟文件系统内核初始化部分做些补充。 关于shrinker,inode和dentry cache初始化阶段都需要注册自己的shrinker,用于缩减cache。两个操作原理类似。 shrinker数据结构介绍 [cpp] view plain copy  ...

2016-02-15 17:51:16

阅读数:315

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭