linux
_tt_qq_
这个作者很懒,什么都没留下…
展开
-
LINUX共享内存使用常见陷阱与分析
原文: http://davidlu1001.blogbus.com/logs/85182548.html 所谓共享内存就是使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果转载 2014-08-19 10:29:30 · 456 阅读 · 0 评论 -
Linux进程通信之POSIX共享内存
http://www.360doc.com/content/13/0817/11/7377734_307777806.shtml前面已经讨论过Linux下个各种进程间的通信方式:管道,FIFO,消息队列,他们的共同特点就是通过内核来进行通信(假设POSIX消息队列也是在内核中实现的,因为POSIX标准并没有限定它的实现方式)。向管道,FIFO,消息队列写入数据需要把数据从进程复制到内核,从这些转载 2014-08-19 11:21:09 · 348 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存(下)
在共享内存(上)中,主要围绕着系统调用mmap()进行讨论的,本部分将讨论系统V共享内存,并通过实验结果对比来阐述两者的异同。系统V共享内存指的是把所有共享数据放在共享内存区域(IPC shared memory region),所有想要访问该数据的进程都必须在本进程的地址空间新增一块内存区域,用来映射存放共享数据的物理内存页面。系统调用mmap()通过映射一个普通文件实现共享内存。系统V则是转载 2014-08-21 13:34:55 · 427 阅读 · 0 评论 -
Linux环境进程间通信(五): 共享内存(上)
Linux环境进程间通信(五): 共享内存(上)共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。由于多个进程共享同一块内存区域,必然需要某种同步机制,互斥锁和信号量都可以。郑彦兴 (mlinux@163.com)转载 2014-08-21 13:32:41 · 347 阅读 · 0 评论 -
netlink---Linux下基于socket的内核和上层通信机制(上)
我最近有一个项目需求,需要在linux网卡驱动中加入一个自己的驱动,实现在内核态完成一些报文处理(这个过程可以实现一种零COPY的网络报文截获),对于复杂报文COPY下必要的数据交给用户态来完成(因为过于复杂的报文消耗CPU太大,会导致中断占用时间太长)。因此需要一种内核和用户态配合的通信机制,尝试了很多方式都不太理想,最后采用netlink+内存映射的模式很好的解决了这个问题。Netlink是一转载 2015-06-02 10:07:13 · 416 阅读 · 0 评论 -
Linux的IPC命令
进程间通信概述进程间通信有如下的目的:1、数据传输,一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M之间;2、共享数据,多个进程想要操作共享数据,一个进程对数据的修改,其他进程应该立刻看到;3、通知事件,一个进程需要向另一个或一组进程发送消息,通知它们发生了某件事情;4、资源共享,多个进程之间共享同样的资源。为了做到这一点,需要内核提供锁和同步机制;5、进程控制,有些进程希转载 2015-06-09 09:35:37 · 365 阅读 · 0 评论