免费注册 查看新帖 |

Chinaunix

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

有关Linux内核中的进程、线程通信问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-06 18:09 |只看该作者 |倒序浏览
本帖最后由 bsdc 于 2014-07-06 19:14 编辑

最近被人问了个问题,不知道怎么回他。他先问过用户态的了,我告诉他:pipe, msg queue, signal, semaphore,socket之类。

然后他又问我“linux或者其他RTOS内核的进程间通信方式”。从我看过的书,总感觉linux内核的所有进程/线程(没有用户态存储空间)应该只有一个共享的存储空间,
也就是clone的地方都带上CLONE_VM标记的(当然,每个进程应该有其自己的task_struct,系统stack),他们之间通信不就是相当于用户态的一个进程内的通信么,
并不需要什么IPC机制,直接调用函数或者引用全局非static变量即可。

还有一个,是不是可以认为内核就是一个”大进程“,其内部通过kernel_thread(再调用do_fork)来产生线程,硬要说通信的话,可能就是这些线程间的通信吧。

我的这个问题,主要是来请各位高人给我纠正下我的上面可能错误的观点。其实从总体上来看,对于linux,进程和线程(用户态进程中模拟的线程如pthread除外)就是一个东西,只不过共享的资源不一样而已。看来看去,我有点迷糊了。非常感谢

论坛徽章:
0
2 [报告]
发表于 2014-07-08 08:36 |只看该作者
没人理我,自己顶下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP