摘要:
相对于上一篇测试程序CMA连续物理内存用户空间映射---(一)
增加功能:
1、分配和映射统一放在IOCTL,一次完成,可以连续多次分配并映射到用户空间,提高操作性;
2、驱动增加链表,使分配的多块内存在链表中管理,方便添加删除;
3、增加内存释放和解除映射;
4、使用rmmod删除驱动模块时,将释放所有内存;
映射流程:
1、用户通过IOCTL分配大小传给驱动ioctl-...
分类:
其他好文 时间:
2014-07-18 11:09:20
阅读次数:
386
共享内存共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存写入了数据,共享这个内存区域的所有进程就可以立即看到其中的内容。共享内存实现分为连个步骤:一、创建共享内存,使用shmget函数。二、映射共享内存,将这段创建的共享内存映射到具体的进程空间去...
分类:
系统相关 时间:
2014-07-14 22:28:41
阅读次数:
334
private hMapFile: THandle; MapFilePointer: Pointer; public { Public declarations } end;var Form1: TForm1;implementation{$R *.DFM}procedure...
分类:
其他好文 时间:
2014-07-10 13:27:29
阅读次数:
217
一、前言自从J2SE 1.4版本以来,JDK发布了全新的I/O类库,简称NIO,其不但引入了全新的高效的I/O机制,同时,也引入了多路复用的异步模式。NIO的包中主要包含了这样几种抽象数据类型:Buffer:包含数据且用于读写的线形表结构。其中还提供了一个特殊类用于内存映射文件的I/O操作。Char...
分类:
编程语言 时间:
2014-07-09 20:00:22
阅读次数:
339
共享内存是Linux下最快速、最有效的进程间通信方式。是多个进程可以把同一段内存映射到自己的进程空间,以此实现数据的共享与传输。即:对于不同的进程A、B,将同一块物理内存映射到进程A、B各自进程的地址空间,进程A能够及时地看到进程B对共享内存中数据的更新,反之B进程同样能够及时地看到进程A对共享内存中数据的更新。
共享内存存在于内核级别的一种资源,因此是所有进程间通信(IPC)方式中最快的一种。...
分类:
其他好文 时间:
2014-07-08 19:59:08
阅读次数:
189
1.概述
一个线性区可以和磁盘文件系统的普通文件的某一个部分或者块设备文件相关联。这就意味着内核把对线性区中页内某个字节的访问转换成对文件中相应字节的操作,这种技术称为内存映射。
有两种类型的内存映射:
共享型:
在线性区页上的任何写操作都会修改磁盘上的文件;而且,如果进程对共享映射中的一个页进行写,那么这种修改对于其他映射了这同一文件的所有进程来说都是可见的。
私有型:
当进程创...
分类:
其他好文 时间:
2014-06-17 16:32:08
阅读次数:
264
共享内存区是可用IPC形式中最快的。一旦内存区映射到共享它的进程的地址空间,进程间数据的传递就不再涉及内核。然而往该共享内存区存放信息或从中取走信息的进程间通常需要某种形式的同步。不再涉及内核是指:进程不再通过执行任何进入内核的系统调用来彼此传递数据。内核必须建立允许各个进程共享该内存区的内存映射关系,然后一直管理内存区。
默认情况下通过fork派生的子进程并不与其父进程共享内存区。
mmap...
分类:
系统相关 时间:
2014-06-11 06:34:25
阅读次数:
439
现在将共享内存区的概念扩展到将无亲缘关系进程间共享的内存区包括在内。Posix提供了两种在无亲缘关系进程间共享内存区的方法:
1、内存映射文件:由open函数打开,由mmap函数把得到的描述符映射到当前进程地址空间中的一个文件。(上一节就是这种技术)
2、共享内存区对象:由shm_open打开一个Posix名字(也许是在文件系统中的一个路径名),所返回的描述符由mmap函数映射到当前进程的地址...
分类:
系统相关 时间:
2014-06-11 00:28:43
阅读次数:
464
Android系统内核基于Linux2.6+内核,因此,其在进程内存管理方面的很多机制和Linux是很相像的。首先,让我们来看一个典型的Android进程的内存镜像(App进程和Native本地进程略有差别,但原理是一样的):
和Linux一样,Android提供了基于/proc的“伪文件”系统来作为查看用户进程内存映像的接口(cat /proc/pid/maps)。可以说,这是Android系统内核层开放给用户层关于进程内存信息的一扇窗户。通过它,我们可以查看到当前进程空间的内存映射情况,模块加载情况以...
分类:
移动开发 时间:
2014-06-08 03:04:05
阅读次数:
342