科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Linux操作系统中文件系统的逻辑结构

Linux操作系统中文件系统的逻辑结构

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Linux系统中每个进程都有两个数据结构用来描述进程与文件相关的信息,其中一个是fs_struct结构,它包含两个指向VFS索引节点的指针,分别指向root(即根目录节点)和pwd(即当前目录节点)

作者:heheha 来源:赛迪网技术社区 2007年11月18日

关键字: 逻辑结构 文件 操作系统 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索引节点的信息来完成。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章