Linux文件系统
文章平均质量分 83
chenjin_zhong
工程师
展开
-
Linux 文件系统注册过程
1. Linux文件系统的注册包括多种,可以将文件系统编译进内核,在系统启动时注册,也可以将文件系统编译为模块,在加载时注册。以编译进内核为例子,在init/main.c函数中:asmlinkage void __init start_kernel(void){ char * command_line; extern struct kernel_param __star原创 2012-12-27 20:48:17 · 864 阅读 · 0 评论 -
Linux VFS相关结构体
1. 概述Linux 虚拟文件系统是建立在具体文件系统之上,其包括几种主要的对象,分别是超级块对象,目录项对象,索引节点对象,与进程相关的文件对象,安装点对象,文件系统类型对象。在VFS中,多个文件系统可以被安装在同一个目录,例如/dev/sda和/dev/sdb先后被安装在/project目录下,则/dev/sdb会隐藏/dev/sda文件系统。同一个文件系统也可以安装在不同的目录下,此时只原创 2012-12-27 20:12:08 · 1057 阅读 · 0 评论 -
Linux VFS 之mount系统调用
1. 我们知道,在对文件的打开,读和写操作之前,必须挂载文件系统。那么,内核如何挂载文件系统,换句话说,在挂载文件系统时内核都做了哪些事情。这是本文讨论的事情。在挂载文件系统之前,必须格式化文件系统类型,通过mkfs命令实现。在Linux中,一个文件系统类型包括多个文件系统,如/dev/sda, /dev/sdb都可以格式化为ext3类型的文件系统,即它们属于ext3. 每个文件系统都拥有一个超级原创 2012-12-28 20:22:14 · 2772 阅读 · 1 评论 -
Linux open系统调用流程(2)
1. 书结上文,继续分析do_filp_open函数,其传入4个参数:dfd:相对目录tmp:文件路径名,例如要打开/usr/src/kernels/linux-2.6.30flags:打开标志mode:打开模式/* * Note that while the flag value (low two bits) for sys_open means: * 00 -原创 2012-12-30 12:46:15 · 3735 阅读 · 1 评论 -
Linux open系统调用流程(3)
1. 闲言少叙,继续分析__link_path_walk函数:/* * Name resolution. * This is the basic name resolution function, turning a pathname into * the final dentry. We expect 'base' to be positive and a directory原创 2012-12-30 13:57:40 · 1802 阅读 · 1 评论 -
Linux open系统调用流程(1)
1.概述我们知道,Linux把设备看成特殊的文件,称为设备文件。在操作文件之前,首先必须打开文件,打开文件的函数是通过open系统调用来实现的。而简单的文件打开操作,在Linux内核实现却是非常的复杂。open函数打开原理就是将进程files_struct结构体和文件对象file相关联。那么具体是怎么实现的呢?让我们一起走进Linux内核文件打开流程。2. 首先,通过系统调用sys_ope原创 2012-12-30 12:20:28 · 3251 阅读 · 0 评论 -
Linux VFS-通用文件模型相关对象
1.概述在Linux系统,为了隐藏具体文件系统的实现细节,提供了一个虚拟文件系统,VFS支持的文件系统可以划分为以下三个类型:(1)基于磁盘的文件系统Ext2, Ms-Dos(2)网络文件系统,可以通过网络访问其它文件系统上的内容,如NFS,SMB。(3)特殊的文件系统如/proc,存在内存的文件系统,可以通过通用文件系统接口访问相关信息,这类文件系统不占用磁盘空间。2. VF原创 2012-12-21 16:12:19 · 1287 阅读 · 0 评论 -
Linux VFS-硬连接和软连接区别
1.inode节点Linux VFS其中有一个对象是索引节点,它记录了与具体文件相关的信息,存储在磁盘上,与磁盘上的文件控制块相对应。它用索引节点号进行标识,与数据区相对应,两个不同的数据区的inode节点号一定不相同。得用ls -il 可以查看inode节点号,如下所示:425153 drwxr-xr-x 2 root root 4096 07-15 19:18 ATIDriv原创 2012-12-21 16:24:17 · 650 阅读 · 0 评论