您的位置:首页 > 其它

与进程联系的文件结构的关系示意图

2014-09-04 23:20 134 查看
与进程联系的文件结构的关系示意图



struct file

{

struct list_head        f_list;    /*所有打开的文件形成一个链表*/

struct dentry           *f_dentry; /*指向相关目录项的指针*/

struct vfsmount         *f_vfsmnt; /*指向VFS安装点的指针*/

struct file_operations  *f_op;     /*指向文件操作表的指针*/

mode_t f_mode;                                  /*文件的打开模式*/

loff_t f_pos;                                   /*文件的当前位置*/

unsigned short f_flags;                         /*打开文件时所指定的标志*/

unsigned short f_count;                           /*使用该结构的进程数*/

unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;

/*预读标志、要预读的最多页面数、上次预读后的文件指针、预读的字节数以及

预读的页面数*/

int f_owner;                  /* 通过信号进行异步I/O数据的传送*/

unsigned int         f_uid, f_gid;  /*用户的UID和GID*/

int                 f_error;       /*网络写操作的错误码*/

unsigned long f_version;           /*版本号*/

void *private_data;                      /* tty驱动程序所需 */

};


struct files_struct {

atomic_t count;        /* 共享该表的进程数 */

rwlock_t file_lock;     /* 保护以下的所有域,以免在

tsk->alloc_lock中的嵌套*/

int max_fds;           /*当前文件对象的最大数*/

int max_fdset;        /*当前文件描述符的最大数*/

int next_fd;          /*已分配的文件描述符加1*/

struct file ** fd;      /* 指向文件对象指针数组的指针 */

fd_set *close_on_exec;  /*指向执行exec(  )时需要关闭的文件描述符*/

fd_set *open_fds;     /*指向打开文件描述符的指针*/

fd_set close_on_exec_init;/* 执行exec(  )时需要关闭的文件描述符的初            值集合*/

fd_set open_fds_init;  /*文件描述符的初值集合*/

struct file * fd_array[32];/* 文件对象指针的初始化数组*/

};


struct fs_struct {

atomic_t count;

rwlock_t lock;

int umask;

struct dentry * root, * pwd, * altroot;

struct vfsmount * rootmnt, * pwdmnt, * altrootmnt;

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: