一、什么是共享内存顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由...
分类:
其他好文 时间:
2014-05-26 15:50:13
阅读次数:
183
Linux系统通过软限制和硬限制,制约了打开文件的最大个数,而且每个端口侦听的连接数受限于/etc/sytctl.conf中的ip_local_port_range的范围,那么nginx是如何做到轻量级和高并发的。
Nginx的进程模型
各个work进程间通过accept_mutex互斥锁进行连接的获取,以防止惊群现象的发生(即所有进程都收到通知,却...
分类:
其他好文 时间:
2014-05-22 17:11:39
阅读次数:
364
unix domain socket
是IPC通信的一种方式,可用于与管理进程间通信,同时由和网络socket统一,所以很好管理,使用还是比较多。现举个例子: server.c 1 #include
2 #include 3 #include 4 #include 5 #include ...
分类:
其他好文 时间:
2014-05-22 14:40:25
阅读次数:
533
共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。
mmap函数
功能:将文件或者设备空间映射到共享内存区。
原型
void *mmap(void *addr, size_t len, int prot, int flags, in...
分类:
其他好文 时间:
2014-05-22 08:04:52
阅读次数:
315
1. Unix IPC(InterProcess
Communication)同一主机的各个进程间的IPC:管道、FIFO、消息队列、信号量、共享存储器不同主机上的各个进程间IPC:socket套接字2.
管道管道进行IPC有两个局限:(1) 半双工,即数据只能在一个方向上流动(2) 只能在具有公共...
分类:
其他好文 时间:
2014-05-21 23:03:50
阅读次数:
394
本文参考《Android系统源代码情景分析》,作者罗升阳
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp
...
分类:
移动开发 时间:
2014-05-21 15:48:09
阅读次数:
507
本文参考《Android系统源代码情景分析》,作者罗升阳
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp...
分类:
移动开发 时间:
2014-05-21 14:47:24
阅读次数:
358
一、什么是共享内存
顾名思义,共享内存就是允许两个不相关的进程访问同一个逻辑内存。共享内存是在两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。进程可以将同一段共享内存连接到它们自己的地址空间中,所有进程都可以访问共享内存中的地址,就好像它们是由用C语言函数malloc分配的内存一样。而如果某个进程向共享内存写入数据,所做的改动将立即影...
分类:
系统相关 时间:
2014-05-21 10:42:26
阅读次数:
626
本文参考《Android系统源代码情景分析》,作者罗升阳
一、测试代码:
~/Android/external/binder/server
----FregServer.cpp
~/Android/external/binder/common
----IFregService.cpp
...
分类:
移动开发 时间:
2014-05-21 08:36:38
阅读次数:
536
IPC进程间通信+数据复制消息WM_COPYDATA
IPC(Inter-Process Communication,进程间通信)。
数据复制消息WM_COPYDATA是Windows中一个特殊的消息,通过这个消息可以在进程间传递数据。
1.WM_COPYDATA:
WM_...
分类:
其他好文 时间:
2014-05-21 07:05:31
阅读次数:
307