正在加载
请稍等

菜单

红楼飞雪 梦

15526773247

Tag: 虚拟文件系统

Home 标签归档: 虚拟文件系统
Home 标签归档: 虚拟文件系统

fcntl 系统调用

android 嵌入式开发, linux开发学习 by

这个系统调用功能比较多,可以执行多种操作,其内核函数在fs/fcntl.c中定义: 1.入口参数: (1)fd:欲访问文件的文件描述符 (2)cmd:要执行的操作的命令,这个参数定义了10个标志,下面介绍其中的5个, F_DUPFD、F_GETFD、F_SETFD、F_GETFL和 F_SETFL (3)arg:可选,主要根据第二个命令来决定是否需要 2.…

阅读全文

 

27 2015-11

read 系统调用

android 嵌入式开发, linux开发学习 by

如果通过open调用获得一个文件描述符,而且是用O_RDONLY或O_RDWR标志打开的,就可以用read系统调用从该文件中读取字节。其内核函数在fs/read_write.c中定义: Source code   asmlinkage ssize_t sys_read(unsigned int fd, char * buf, size_t count) { ssize_t ret; struct file * f…

阅读全文

 

27 2015-11

open 系统调用

android 嵌入式开发, linux开发学习 by

进程要访问一个文件,必须首先获得一个文件描述符,这是通过open系统调用来完成的。文件描述符是有限的资源,所以在不用时应该及时释放。 该系统调用是用来获得欲访问文件的文件描述符,如果文件并不存在,则还可以用它来创建一个新文件。其函数为sys_open(),在fs/open.c中定义,函数如下: Source code   …

阅读全文

 

27 2015-11

磁盘文件系统BFS

android 嵌入式开发, linux开发学习 by

BFS是Berkeley fast file system的简写,即柏克莱快速文件系统,是一种简单的基于磁盘的文件系统。BFS将磁盘的分区分割为许多的柱面群,每一个柱面群依磁盘的大小,包含了 1 到 32 个相邻的柱面。BFS模块的相关代码在fs/bfs/inode.c中: Source code   static DECLARE_FSTYPE_DEV(bfs_fs_type, "b…

阅读全文

 

27 2015-11

管道文件系统pipefs

android 嵌入式开发, linux开发学习 by

pipefs是一种简单的、虚拟的文件系统类型,因为它没有对应的物理设备,因此其安装时不需要块设备,大部分文件系统是以模块的形成来实现的。该文件系统相关的代码在fs/pipe.c中: Source code   static DECLARE_FSTYPE(pipe_fs_type, "pipefs", pipefs_read_super, FS_…

阅读全文

 

26 2015-11

限额机制

android 嵌入式开发, linux开发学习 by

设想一下,如果对用户不采取某些限制措施,则任一用户可能用完文件系统的所有可用空间,在某些环境中,这种情况是不能接受的。Linux中为了限制 一个用户可获得的文件资源数量,使用了限额机制。限额机制对一个用户可分配的文件数目和可使用的磁盘空间设置了限制。系统管理员能分别为每一用户设置限 额。 限制有软限制和硬…

阅读全文

 

25 2015-11

文件系统的卸载

android 嵌入式开发, linux开发学习 by

如果文件系统中的文件当前正在使用,该文件系统是不能被卸载的。如果文件系统中的文件或目录正在使用,则 VFS 索引节点高速缓存中可能包含相应的 VFS 索引节点。根据文件系统所在设备的标识符,检查在索引节点高速缓存中否有来自该文件系统的 VFS 索引节点,如果有且使用计数大于0,则说明该文件系统正在被使用,因此,该…

阅读全文

 

25 2015-11

文件系统的安装

android 嵌入式开发, linux开发学习 by

要使用一个文件系统,仅仅注册是不行的,还必须安装这个文件系统。在安装Linux时,硬盘上已经有一个分区安装了Ext2文 件系统,它是作为根文件系统的,根文件系统在启动时自动安装。其实,在系统启动后你所看到的文件系统,都是在启动时安装的。如果你需要自己(一般是超级用 户)安装文件系统,则需要指定三种信息:文件系…

阅读全文

 

24 2015-11

文件系统的注册

android 嵌入式开发, linux开发学习 by

当内核被编译时,就已经确定了可以支持哪些文件系统,这些文件系统在系统引导时,在 VFS 中进行注册。如果文件系统是作为内核可装载的模块,则在实际安装时进行注册,并在模块卸载时注销。每个文件系统都有一个初始化例程,它的作用就是在 VFS 中进行注册,即填写一个叫做 file_system_type的数据结构,该结构包含了文件系…

阅读全文

 

22 2015-11

目录高速缓存

android 嵌入式开发, linux开发学习 by

由于从磁盘读入一个目录项并构造相应的目录项对象需要花费大量的时间,所以,在完成对目录项对象的操作后,可能后面还要使用它,因此在内存仍保留它有重要的意义。例如,我们经常需要编辑文件,随后进行编译或编辑,然后打印或拷贝,再进行编辑,诸如此类的情况中,同一个文件需要被反复访问。 每个目录项对象属于以下四…

阅读全文

 

22 2015-11
12