注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

BCB-DG's Blog

...

 
 
 

日志

 
 

files_struct 结构  

2013-09-24 10:55:01|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
files_struct结构保存了进程打开的所有文件表数据,描述一个正被打开的文件。Linux中一个进程最多只能同时打开NR_OPEN_DEFAULT个文件,而且前三项分别设为标准输入、标准输出和出错信息输出文件,定义如下。

    struct files_struct {  
        atomic_t        count;                    //自动增量  
        struct fdtable  *fdt;  
        struct fdtable  fdtab;  
        fd_set      close_on_exec_init;     //执行exec时需要关闭的文件描述符初值集合  
        fd_set      open_fds_init;             //当前打开文件的文件描述符屏蔽字  
        struct file         * fd_array[NR_OPEN_DEFAULT];  
        spinlock_t      file_lock;                //Protects concurrent
    writers.  Nests inside tsk->alloc_lock */  
    };

struct fdtable {
 unsigned int max_fds;            //可以代开的最大文件数
 int max_fdset;                        //位图的最大长度
 int next_fd;                             //下一个可用的fd
 struct file ** fd;                        //current fd array 指向files_struct的fd_array
 fd_set *close_on_exec;
 fd_set *open_fds;                   //打开的文件标记,比如第2位为0,则打开了2号文件
 struct rcu_head rcu;
 struct files_struct *free_files;
 struct fdtable *next;
};
  评论这张
 
阅读(410)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017