免费注册 查看新帖 |

Chinaunix

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

[文件系统] 内核空间和用户空间同时对一个文件进行读写,需要自己枷锁吗? [复制链接]

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-22 22:11 |只看该作者 |正序浏览
假设 一个文件a.txt, 我在用户空间通过 open 打开,然后通过read ,write进行读写,
同时我在内核空间中有个线程用 filp_open 打开,通过相应的fp->f_op->read/write来读写,
这样的话会是这个文件错位吗?需要加锁吗?要是加锁应该怎么加?

论坛徽章:
2
申猴
日期:2013-12-26 22:11:31天秤座
日期:2014-12-23 10:23:19
20 [报告]
发表于 2013-09-29 15:05 |只看该作者
爱的枷锁,肯定是需要的

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
19 [报告]
发表于 2013-09-29 12:38 |只看该作者
回复 18# goingstudy

前面都有人解释了。

要看你具体的想怎么同时操作文件了,你得说的更具体一些了。

   

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
18 [报告]
发表于 2013-09-28 10:05 |只看该作者
回复 17# unbutun

那你的意思是需不需要加锁呢?
   

论坛徽章:
0
17 [报告]
发表于 2013-09-28 07:05 |只看该作者
那肯定呀


回复 16# goingstudy


   

论坛徽章:
1
IT运维版块每日发帖之星
日期:2015-12-20 06:20:00
16 [报告]
发表于 2013-09-25 21:34 |只看该作者
回复 14# unbutun
下到内核是什么意思?你是说open 在内核里还是调用的filp是吗?

   

论坛徽章:
0
15 [报告]
发表于 2013-09-25 20:19 |只看该作者
正解回复 14# unbutun


   

论坛徽章:
0
14 [报告]
发表于 2013-09-25 19:30 |只看该作者
用户空间open不是下到内核的么,下到内核和在内核走filp_open有啥区别

论坛徽章:
2
酉鸡
日期:2013-09-26 11:11:15摩羯座
日期:2014-01-08 13:45:19
13 [报告]
发表于 2013-09-24 10:26 |只看该作者
看你用什么标志了,O_APPEND 保证r/w的原子性,但是只能在末尾,如果是中间修改的话,考虑锁或者
类似syslog的方式,各个client发消息到daemon,把并行转顺序执行rw

论坛徽章:
3
亥猪
日期:2013-08-28 12:50:23白羊座
日期:2013-11-25 12:55:50酉鸡
日期:2014-02-12 10:46:13
12 [报告]
发表于 2013-09-23 17:46 |只看该作者
goingstudy

兄弟,你怎么在内核空间开一个线程
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP