想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。Memeory-Mapped Files下图展示了数据库是如何跟底层系统打交道的。内存映射文件是OS通过mmap在内存中创建一个数据文件,这样就把文件映射到一个虚拟内存的区域;虚拟内存对于...
分类:
数据库 时间:
2015-03-12 23:52:50
阅读次数:
294
linux中的 IO端口映射和IO内存映射(一)地址的概念1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具体含义。物理地址中很大一部分是留给内存条中的内存的,但也常被映射到其他存储器上 (如显存、BIOS等)。在程序指令中的虚拟地址经过段映射和页面映射后,就生成了物理地址,这个物理地址被放...
分类:
其他好文 时间:
2015-03-07 15:36:39
阅读次数:
249
虽然内部数据结构非常强大,但是创建一系列完整的数据结构本身也是一件相当耗费内存的工作,当一个对象包含的元素数量并不多,或者元素本身的体积并不大时,使用代价高昂的内部数据结构并不是最好的办法。 为了解决这一问题,Redis在条件允许的情况下,会使用内存映射数据结构来代替内部数据结构。 内存映射数据...
分类:
其他好文 时间:
2015-03-04 00:50:37
阅读次数:
209
原文来自: http://my.oschina.net/pc100/blog/380956一.原理通过使用“内存映射文件”,实现内存共享二.主要操作共享内存结构:PShareMem=^TShareMem;TShareMem=Recordid:string[10];name:string[20];ag...
在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验。 package?test;
import?java....
分类:
编程语言 时间:
2015-02-27 13:44:52
阅读次数:
149
20150222 IO端口映射和IO内存映射(详解S3C24XX_GPIO驱动) 2015-02-22 李海沿刚刚我们实现了linux系统内存的分配,读写,释放功能,下面,我们一鼓作气将IO端口映射及IO内存映射搞定,加油!(一)地址的概念 1)物理地址:CPU地址总线传来的地址,由硬件电路控制其具...
分类:
其他好文 时间:
2015-02-22 23:02:37
阅读次数:
307
概述 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据(如图)。 共享内存 VS. 其他IPC形式 用管道/消息队列传递数据 用共享内存传递数据 共享内存生成之后,传递数据并不需要再走Linux内核,共享内存允许两个或多个进程共享一个给定的...
分类:
系统相关 时间:
2015-02-19 15:09:59
阅读次数:
280
文章目录
1.1 Linxu C系统调用例子代码
1.2 模拟Linux系统ls 程序 显示树形结构目录
1.3内存共享实现简单的数据共享
下面是 1.2程序截图
下面是1.3程序截图...
分类:
系统相关 时间:
2015-02-13 22:30:33
阅读次数:
253
利用linux下的文件内存映射可以实现进程共享数据,我们可以把一个文件映射到虚拟内存中使多个进程进行共享,
到这里我们大概能想到他能应用到的领域 是很广泛的
主要涉及到 mmap munmap msync 三个函数的应用
下面贴代码
下面一段代码是为文件建立一个简单的记录存储,并且通过内存映射修改文件内容
/*******************************...
分类:
系统相关 时间:
2015-02-13 22:29:42
阅读次数:
268
文件太大,没法一次读取到内存进行操作?Windows提供了内存映射API来读取大文件,与普通文件读取相比,内存映射效率比较高。
从代码层面上看,从硬盘上将文件读入内存,都要经过文件系统进行数据拷贝,并且数据拷贝操作是由文件系统和硬件驱动实现的,理论上来说,拷贝数据的效率是一样的。但是通过内存映射的方法访问硬盘上的文件,效率要比read和write系统调用高,这是为什么呢?原因是read()是系统...
分类:
其他好文 时间:
2015-02-11 16:41:16
阅读次数:
262