首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux内核进程多读/写

Linux内核进程多读/写
EN

Stack Overflow用户
提问于 2012-10-12 23:50:36
回答 1查看 485关注 0票数 1

Linux内核如何处理对procfs的多次读/写?例如,如果两个进程同时写入procfs,是否有一个进程在排队(即内核陷阱实际上阻塞了其中一个进程),或者是否每个内核都有一个内核线程在运行?

令人担忧的是,如果你在一个函数中使用了一个缓冲区(全局空间是静态的),你是必须保护它还是要按顺序运行代码?

EN

回答 1

Stack Overflow用户

发布于 2017-04-21 04:16:02

它依赖于每一个procfs文件的实现。甚至没有人能给你一个明确的答案,因为每个驱动程序都可以实现自己的procfs文件夹和文件(你没有指定任何特定的文件。在http://lxr.free-electrons.com/source/fs/proc/中快速浏览会发现一些文件确实使用了锁)。

无论哪种方式,你都不能使用全局缓冲区,因为上下文切换总是可能发生的,如果不是在内核中,那么它可以在完成读取syscall之后和开始处理读取数据之前立即捕获您的读取器线程。

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

https://stackoverflow.com/questions/12862752

复制
相关文章

相似问题

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