什么是mmap mmap对于c程序员很熟悉,对于java程序员有点陌生。简而言之,将文件直接映射到用户态的内存地址,这样对文件的操作不再是write/read,而是直接对内存地址的操作。 在c中提供了三个函数来实现 [list]mmap 进行映射munmap 取消映射msync 进程在映射空间的对共...
分类:
编程语言 时间:
2014-07-19 16:37:03
阅读次数:
407
如今最经常使用的进程间通信的方式有:信号,信号量,消息队列,共享内存。 所谓进程通信,就是不同进程之间进行一些"接触",这种接触有简单,也有复杂。机制不同,复杂度也不一样。通信是一个广义上的意义,不仅仅指传递一些massege。他们的用法是基本相同的,所以仅仅要掌握了一种的用法,然后记住其他的用.....
分类:
系统相关 时间:
2014-07-18 18:31:13
阅读次数:
305
当前的手机架构使用着多种处理器间通信方式,目前分离式AP、CP流行的接口有SPI、I2C、UART、USB和双端口互联等,SoC式则采用共享内存。控制命令以消息的格式在基带处理器和AP处理器间传送,完成通话、短消息、移动上网等功能,通信协议包括传统AT命令、MBIM等。一般来说,芯片都会支持多种接口,并设计通用的软件驱动平台驱动。...
分类:
其他好文 时间:
2014-07-17 20:29:11
阅读次数:
265
共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存写入了数据,共享这个内存区域的所有进程就可以立即看到其中的内容。共享内存实现分为连个步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去...
分类:
系统相关 时间:
2014-07-14 22:28:41
阅读次数:
334
本文介绍7种结构型模式里的剩下两种:享元模式、代理模式。一、享元模式FlyWeight 享元模式比较简单且重要,在很多场合都被用到,只不过封装起来了用户看不到。其概念:运用共享内存技术最大限度的支持大量细粒度的对象。这个概念给的有些抽象,说白了就是如果内存中存在某个对象A,如果再次需要使用对象A的时候如果内存中有A这个对象就直接使用它,不要再次new了。如果没有,则重新new一个。基于这个特点,享...
分类:
编程语言 时间:
2014-07-12 17:27:16
阅读次数:
180
在java语言中:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值进行对比。
volatile关键字的作用就是提示vm:对于这个成员变量不能保存它的私有拷贝,而应直接与共享变量进行交互。
被volatile修饰符修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成...
分类:
编程语言 时间:
2014-07-11 00:50:28
阅读次数:
284
共享内存系统是普通单机程序开发人员熟悉的开发范式,通过简单的使用读、写命令,就能确保将我们需要的值从内存中放入和读取出来,数据的一致性等问题,在单机系统中,开发人员根本不需要考虑,比如你不需要考虑当你进行了i=i+1后,再获取i的值时,i的值可能还没有来的及变化,因为这些都已经在读写原语的原子性中被考虑了,然而在分布式环境下,由于数据出现多个副本,且副本的数量有可能动态增加和减少,要实现同样的功能,又能保证读写性能,就需要新的算法和实现。本文介绍了分布式环境下实现共享内存模型会遇到的各种问题和挑战,针对不同...
分类:
其他好文 时间:
2014-07-10 20:12:10
阅读次数:
341
所谓集群是指一组独立的计算机系统构成的一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。通俗一点来说,就是让若干台计算机联合起来工作(服务),可以是并行的,也可以是做备份。网络的负载均衡是一种动态均衡技术,常见的实现方式是通过一些...
分类:
系统相关 时间:
2014-07-09 21:24:10
阅读次数:
305
共享内存是Linux下最快速、最有效的进程间通信方式。是多个进程可以把同一段内存映射到自己的进程空间,以此实现数据的共享与传输。即:对于不同的进程A、B,将同一块物理内存映射到进程A、B各自进程的地址空间,进程A能够及时地看到进程B对共享内存中数据的更新,反之B进程同样能够及时地看到进程A对共享内存中数据的更新。
共享内存存在于内核级别的一种资源,因此是所有进程间通信(IPC)方式中最快的一种。...
分类:
其他好文 时间:
2014-07-08 19:59:08
阅读次数:
189
多进程编程
多进程编程包括如下内容:
复制进程影映像的fork系统调用和替换进程映像的exec系列系统调用。
僵尸进程以及如何避免僵尸进程
进程间通信(Inter-Process Communication,IPC)最简单的方式:管道
3种进程间通信方式:信号量,消息队列和共享内存
fork系统调用
#inclu...
分类:
系统相关 时间:
2014-07-06 08:09:00
阅读次数:
329