当前位置: 首页 > news >正文

机票网站制作小白建站

机票网站制作,小白建站,wordpress建站的利弊,百度竞价推广点击器文件描述符fd、文件索引节点inode、文件对象file关系1 VFS对象1.1 超级块对象1.2 索引节点对象1.3 文件对象1.4 进程描述符1.5 files_struct2 如何根据文件描述符fd找到文件#xff1f;1 VFS对象 在说fd、inode和file关系之前#xff0c;我们先了解VFS的几个概念。分别是进程… 文件描述符fd、文件索引节点inode、文件对象file关系1 VFS对象1.1 超级块对象1.2 索引节点对象1.3 文件对象1.4 进程描述符1.5 files_struct2 如何根据文件描述符fd找到文件1 VFS对象 在说fd、inode和file关系之前我们先了解VFS的几个概念。分别是进程描述符、超级块对象、索引节点和文件对象。 1.1 超级块对象 超级块对象代表一个已安装的文件系统由super_block结构体表示定义在文件linux/fs中。 1.2 索引节点对象 索引节点对象代表一个具体文件由struct inode结构体表示定义在linux/fs.h中。 1.3 文件对象 文件对象表示一个进程已经打开的文件。由struct file结构体表示定义在linux/fs.h中。 struct file {...struct inode *f_inode; /* cached value */const struct file_operations *f_op;... };f_inode指向一个具体文件。 1.4 进程描述符 进程描述符来代表一个进程由结构体struct task_struct表示该结构定义在include/linux/sched.h文件中。 struct task_struct {.../* open file information */struct files_struct *files;... };我们要注意files域该域指向一个进程打开的所有文件。 1.5 files_struct files_struct表示一个进程打开的所有文件files_struct结构体定义在文件linux/fdtable.h中。该结构体由进程描述符中的files域指向。所有与每个进程打开的文件及文件描述符都包含在其中其结构体描述如下 struct files_struct {/** read mostly part*/atomic_t count;bool resize_in_progress;wait_queue_head_t resize_wait;struct fdtable __rcu *fdt;struct fdtable fdtab;/** written part on a separate cache line in SMP*/spinlock_t file_lock ____cacheline_aligned_in_smp;unsigned int next_fd;unsigned long close_on_exec_init[1];unsigned long open_fds_init[1];unsigned long full_fds_bits_init[1];struct file __rcu * fd_array[NR_OPEN_DEFAULT]; };struct fdtable结构体如下 struct fdtable {unsigned int max_fds;struct file __rcu **fd; /* current fd array */unsigned long *close_on_exec;unsigned long *open_fds;unsigned long *full_fds_bits;struct rcu_head rcu; };fd域指向的就是进程打开的文件它实际是个数组fd数组指针指向已打开的文件对象链表默认情况下指向fd_array数组NR_OPEN_DEFAULT是个定值当一个进程打开的文件对象超过NR_OPEN_DEFAULT时内核将分配一个新数组并且用fd指针指向它。 文件描述符fd就是索引值在fd数组中找到文件对象。 2 如何根据文件描述符fd找到文件 我们用write的系统调用来分析如何找到文件的 首先会文件文件描述符fd获取结构体类型struct fd struct fd f fdget_pos(fd);struct fd {struct file *file;unsigned int flags; };fdget_pos函数中会调用很多很函数它会先用当前进程current找到files域然后在files中找到struct fdtable类型指针fdt在fdt里面找到指向文件对象的fd数组fd数组根据文件描述符fd索引找到进程打开的文件对象最后返回。 fdget_pos返回的是一个struct fd结构体这个结构体里面就是我们找到的文件对象后面就可以根据这个文件对象找到文件的索引节点。 注意文件对象代表的是进程打开的文件索引节点代表的是真正的文件可能有多个不同进程的文件对象指向同一个索引节点
http://www.pierceye.com/news/23664/

相关文章:

  • 做网站的公司 洛阳wordpress怎么下载文件
  • 有比wordpress更好的吗seo的培训网站哪里好
  • 企业黄页网站源码做外国的网站卖东西
  • 网站建设设计制作培训代做毕业设计网站有哪些
  • 做楼盘网站小说网站需求分析
  • 400元做网站送网推怎样制作印章
  • 合肥市做效果图的网站渗透网站做seo
  • 风景名胜区建设部网站为什么网页在线视频会卡
  • 移动端网站怎么做外链手机制作价格表的软件
  • 网站优化就是搜索引擎优化wordpress修改背景
  • 最简单的网站开发工具线上平面设计兼职
  • seo网站外链专发服务企业是什么
  • 东营专业网站建设南昌公司做网站
  • 可信赖的扬中网站建设沂水网站优化
  • 天宁区建设局网站制作网页要钱
  • 迎访问中国建设银行网站_西安网站seo推广厂家
  • 做网站如何与美工配合个人网站制作体会
  • 常州企业做网站北京网讯百度科技有限公司
  • 运城建设厅官方网站手机制作购物网站
  • 北京网站建设技术部在线玩的网页小游戏
  • 做行程的网站推荐如何制作完整网页
  • 企业网站备案价格wordpress导航菜单加图片
  • 公司建设网站的目的杭州比较有名的设计院
  • 电子商务软件网站建设的核心如何做网络推广赚钱
  • 为什么要加强网站安全建设3万网站建设费会计分录
  • 手机能建网站不网站备案找谁
  • 永州做网站新公司网上核名入口
  • 海外推广工作内容政和网站建设wzjseo
  • 河北网站建设费用电子商务系统的组成
  • 新乡电子商务网站建设济南口碑最好的装修公司