免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2127 | 回复: 7
打印 上一主题 下一主题

[文件系统] inode 和file *的区别 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-06-14 21:33 |只看该作者 |倒序浏览
看了static int device_open(struct inode *inode,struct file *file)
其中inode 和file 的区别,inode是指向文件的inode 节点,file 和c中的FILE *的指针的区别,file、FILE 、inode各存放些什么?

论坛徽章:
0
2 [报告]
发表于 2013-06-14 21:40 |只看该作者
本帖最后由 Fleurer 于 2013-06-15 22:09 编辑

一个inode可能有多个file(硬连接)
struct file是内核中打开的文件的表示
每个进程有自己的文件句柄表,每条句柄指向一个struct file,struct file可能对应多个文件句柄
C标准库的FILE是用户态对文件句柄、文件路径等东西的一个封装

论坛徽章:
22
丑牛
日期:2014-08-15 14:32:0015-16赛季CBA联赛之同曦
日期:2017-12-14 15:28:14黑曼巴
日期:2017-08-10 08:14:342017金鸡报晓
日期:2017-02-08 10:39:42黑曼巴
日期:2016-11-15 15:48:38CU十四周年纪念徽章
日期:2016-11-09 13:19:1015-16赛季CBA联赛之同曦
日期:2016-04-08 18:00:03平安夜徽章
日期:2015-12-26 00:06:30程序设计版块每日发帖之星
日期:2015-12-03 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-09 06:20:002015亚冠之吉达阿赫利
日期:2015-07-03 08:39:42
3 [报告]
发表于 2013-06-15 21:05 |只看该作者
可以这么理解,inode是在储存设备(如硬盘)上真实存在的,file是在内存上对文件的表述

论坛徽章:
0
4 [报告]
发表于 2013-06-17 11:54 |只看该作者
file面向上层应用, inode 主要给底层驱动使用。

论坛徽章:
0
5 [报告]
发表于 2013-06-19 01:24 来自手机 |只看该作者
inode在内存中也有表示

论坛徽章:
3
双鱼座
日期:2013-09-04 19:47:39天蝎座
日期:2013-12-11 20:30:532015年亚洲杯之澳大利亚
日期:2015-04-20 00:28:02
6 [报告]
发表于 2013-06-29 17:08 |只看该作者


    你的进程打开一个文件 就分配一个file object,应用层所说的文件偏移表就是它了,最主要提供进程处理文件的偏移量. 你打开多少个文件就有多少个file object.而inode才是文件的本质.包含了文件的所有属性除了文件名.
  

论坛徽章:
0
7 [报告]
发表于 2013-07-01 16:18 |只看该作者
文件系统,一个文件必对应一个inode;file表示程序打开的文件吧。

个人浅见。

论坛徽章:
20
CU大牛徽章
日期:2013-04-17 11:48:26羊年新春福章
日期:2015-03-10 22:39:202015年中国系统架构师大会
日期:2015-06-29 16:11:282015亚冠之平阳省
日期:2015-07-31 09:19:042015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-09-30 06:20:002015亚冠之柏太阳神
日期:2015-10-19 20:29:5915-16赛季CBA联赛之天津
日期:2016-11-29 14:03:4315-16赛季CBA联赛之北控
日期:2016-12-24 20:51:492015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-12 20:58:532014年中国系统架构师大会
日期:2014-10-14 15:59:00
8 [报告]
发表于 2014-05-06 20:38 |只看该作者
inode是存在于内存和磁盘上,而file只存在于内存中,只有在打开文件时,才有file这个结构体
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP