Linux操作系统中文件系统的逻辑结构
http://tech.ddvip.com 2007年03月10日 社区交流
本文详细介绍Linux操作系统中文件系统的逻辑结构
Linux系统中每个进程都有两个数据结构用来描述进程与文件相关的信息,其中一个是fs_struct结构,它包含两个指向VFS索引节点的指针,分别指向root(即根目录节点)和pwd(即当前目录节点);
另一个是files_struct结构,它保存该进程打开文件的有关信息。每个进程能够同时打开的文件至多是256个,分别由fd[0]~fd[255]所表示的指针指向对应的file结构。前面在I/O重定向中用到的文件描述字(如0、1、2等)其实就是fd指针数组的索引下标。
在file结构中,f_mode是文件打开的模式,如“只读”、“只写”、“读写”等;f_pos是文件当前的读写位置;
f_flag包含许多标志位,用以表示文件的一些属性;f_count表示对该文件的共享计数;f_inode指向VFS中该文件的索引节点;f_op是指向file_operations结构的指针,该结构中包含了对该文件进行操作的各种例程。利用f_op可以针对不同的文件定义不同的操作函数。
Linux系统进程启动时自动打开三个文件,即标准输入、标准输出和标准错误输出,它们的文件描述字分别是0、1和2。如果在进程运行时进行输入输出重定向,则这些文件描述字就指向给定的文件,而不是标准的终端输入/输出。
每当进程打开一个文件时,就从files_struct结构中找一个空闲的文件描述字,使它指向打开文件的描述结构file。对文件的操作要通过file结构中定义的文件操作例程和VFS索引节点的信息来完成。
责编:豆豆技术应用
正在加载评论...
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……