首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sysfs的共享访问

sysfs的共享访问
EN

Unix & Linux用户
提问于 2016-08-08 07:06:03
回答 1查看 1.3K关注 0票数 2

程序A定期(20次/S)重写sysfs文件(F)的第一行(也是唯一)行。程序B定期(20次/S)打开同一个sysfs文件(F),读取第一行并关闭它。

因为F是一个共享资源,而且在上面的场景中,两个程序之间没有任何同步,所以B有可能读取文件中不完全写的行。

对于sysfs文件也是这样,还是内核序列化了它的访问?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-08-08 15:27:51

在3.14 (2014)版本中,sysfs代码被部分拆分成一个kernfs公共部分,这将使其他子系统适合拥有虚拟文件系统,因此我们必须查看sysfs和kernfs。

虽然sysfs码中没有明显的序列化,但上面的kernfs层在角轮_文件_直接_朗读角轮_fop_写中使用互斥对象,以确保同一文件一次只能进行一次读或写。使用mmap()时也有一些锁定。

所以你的情况应该是安全的。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/302003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档