![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
文件系统
new_abc
这个作者很懒,什么都没留下…
展开
-
文件系统-- 虚拟文件系统介绍
VFS:Virtual File System虚拟文件系统,或Virtual File Switch虚拟文件转换/开关VFS是Linux和UNIX文件系统中采用的一种技术机制,旨在一个操作系统中支持多个不同类型的文件系统。VFS是操作系统内核中这样一组数据结构与子程序的集合,它位于操作系统系统调用界面与具体类型文件系统之间,负责记录操作系统中可以支持和已经安装有哪些文件系统类型,将相关原创 2012-06-04 11:47:20 · 1191 阅读 · 0 评论 -
mount系统调用
mount命令常用于挂载文件系统,它调用的内核函数是sys_mount,sys_mount主要功能是将用户的命令行参数从用户空间传递到内核空间,并调用do_mount解析参数,完成mount过程。其实现源码如下:SYSCALL_DEFINE5(mount, char __user *, dev_name, char __user *, dir_name, char __user *,原创 2012-07-03 16:58:57 · 7025 阅读 · 0 评论 -
文件系统--mknod系统调用
在前面 介绍android的init进程的时候,我们看到其中有如下代码 mkdir("/dev", 0755); mkdir("/proc", 0755); mkdir("/sys", 0755); mount("tmpfs", "/dev", "tmpfs", 0, "mode=0755"); mkdir("/dev/pts",原创 2012-06-26 22:45:55 · 5294 阅读 · 0 评论 -
有关进程的地址空间
32位机器,每个程序有4G的虚拟地址空间。大致分为4块,从低地址到高地址依次是:NULL区,用户区,隔离区,核心区。用户私有的数据都在用户区(当然这个区里又可以细分,其中也包括一部分可以共享的内容),系统内核等东西都在核心区。总体来说,A进程的虚拟地址空间中的内容和B进程相比,只有各自的用户区不一致。通常用户区中,进程又会将exe文件(由头数据和段数据组成)中定义的代码段、堆栈段、数据段等各个段映转载 2012-10-30 09:44:48 · 1182 阅读 · 0 评论 -
do_lookup()路径名查找
转:http://blog.chinaunix.net/uid-12567959-id-160998.htmldo_lookup()根据父目录的路径,及文件名来找到文件的路径,也就是目录项和vfsmount,回忆一下,do_lookup()的调用环境,在link_path_walk()中有:fs/namei.c nd->flags |= LOO转载 2012-06-25 11:10:46 · 3856 阅读 · 0 评论 -
linux2.6内核initrd机制解析
转:http://womendu.iteye.com/blog/1069948很久之前就分析过这部分内容,但是那个时候不够深入,姑且知道这么个东西存在,到底怎么用,来龙去脉咋回事就不知道了。前段时间工作上遇到了一个initrd的问题,没办法只能再去研究研究,还好,有点眉目,索性整理了一下。网络上流传着很多关于ramdisk、initrd的各种版本的分析,我的这篇源于对他们的转载 2012-06-26 17:07:26 · 1695 阅读 · 0 评论 -
根文件系统挂载
1) 在RamDisk为initramfs时start_kernel()->vfs_caches_init()->mnt_init()->init_rootfs()->init_mount_tree()注册了类型为rootfs的fs 然后:start_kernel 最后 rest_init->kernel_initkernel_init->do_basic_setup->do_in转载 2012-06-23 09:08:19 · 6977 阅读 · 0 评论 -
符号链接的查找
转:http://blog.chinaunix.net/uid-12567959-id-160999.html符号链接是一个普通文件,其中存放的是另一个文件的路径名。路径名可以包含符号链接,且必须由内核来解析。例如,如果/foo/bar是指向(包含路径名)../dir的一个符号链接,那么,/foo/bar/file路径名必须由内核解析为对/dir/file的引用。在这个例子中,内核转载 2012-06-25 11:26:39 · 2029 阅读 · 0 评论 -
link_path_walk()对于路径名最后一个分量的处理
转:http://blog.chinaunix.net/uid-12567959-id-160997.html此时,除了最后一个分量,原路径名的所有分量都已被解析。再来了解一下这时的环境,局部变量inode保存有父路径的目录的inode地址,nd->flags被设置了LOOKUP_CONTINUE标志,已经调用exec_permission(inode)对于父路径目录的执行权限进行了检转载 2012-06-25 11:05:04 · 3292 阅读 · 0 评论 -
文件系统-- 安装根文件系统阶段(安装实际根文件系统)
根文件系统安装操作的第二阶段是由内核在系统初始化即将结束时进行的。根据内核被编译时所选择的选项,和内核装入程序所传递的启动选项,可以有几种方法安装实际根文件系统。为了简单起见,我们只考虑磁盘文件系统的情况,它的设备文件名已通过“root”启动参数传递给内核。同时我们假定除了rootfs文件系统外,没有使用其他初始特殊文件系统。内核主要是通过kernel_init调用prepare_namesp原创 2012-06-23 09:16:46 · 3274 阅读 · 0 评论 -
文件系统-- 标准路径名查找
转:http://blog.chinaunix.net/uid/12567959/frmd/13328.html当进程要使用一个文件时,如open()、mkdir()、rename()或stat()等,就要首先进行路径名查找,即是将人类易于识别的字符串形式路径名,转换为一个文件在内核中的内部表示,也就是目录项、vfsmount和inode等。 执行这一任务的标准过程就是分析路径名并把它拆分转载 2012-06-25 11:02:39 · 7516 阅读 · 0 评论 -
mkdir系统调用
mkdir系统调用用来创建一个目录,对应的系统调用在fs/namei.c中SYSCALL_DEFINE2(mkdir, const char __user *, pathname, int, mode){ return sys_mkdirat(AT_FDCWD, pathname, mode);}我里的AT_FDCWD我的理解是在进行路径查找初始化时如果路径不是绝对路径则设置为从当前原创 2012-07-04 08:57:44 · 5953 阅读 · 0 评论 -
文件系统-- 安装根文件系统阶段(安装rootfs文件系统)
文件系统注册了之后,当我们需要使用的时候,就可以挂载了。在安装普通文件系统之前,必须先挂载根文件系统。根文件系统首先是一种文件系统,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。一般文件系统的注册都是通过 module_原创 2012-06-10 22:23:35 · 3642 阅读 · 0 评论 -
文件系统-- 注册
每个注册的文件系统都用一个类型为file_system_type的对象来表示:struct file_system_type { const char *name;/* 文件系统名 */ int fs_flags; /* 文件系统类型标志 */ int (*get_sb) (struct file_system_type *, int, /* 读超级块的方法 */原创 2012-06-06 22:35:41 · 1062 阅读 · 0 评论 -
文件系统-- 虚拟文件系统相关数据结构
前面看到vfs屏蔽了各种送件系统的差异,为了做到这一点,vfs需要一些数据结构的支持,下面我们来看一下一些主要的相关数据结构。1、 超级块对象超级块对象由super_block结构组成:存放已安装文件系统的有关信息。对基于磁盘的文件系统,这类对象通常对应于存放在磁盘上的文件系统控制块(filesystem control block)struct super_block {原创 2012-06-04 11:48:11 · 2211 阅读 · 0 评论 -
关于Linux系统的硬链接<百科>
硬链接的定义Linux 文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,这样您可以让文件在文件系统中多处被看到。不过,在 Linux 中,链接可以如同原始文件一样来对待。链接可以与普通的文件一样被执行、编辑和访问。对系统中的其他应用程序而言,链接就是它所对应的原始文件。当您通过链接对文件进行编辑时,您编辑的实际上是原始文件。链接不是副本。有两种类型的链接:硬链接和符号链接(软链原创 2013-04-13 07:37:50 · 913 阅读 · 0 评论