内存映射文件

原创 2005年03月02日 20:40:00
一直以来自己对映射的概念都不是很清楚,今天看到老罗的内存映射文件一节,准备把这个拦路虎解决掉。
一、1 内存映射文件的概念:内存映射文件提供了一组独立的函数,使应用程序能够通过内存指针像访问内存一样访问磁盘上的文件。通过内存映射文件函数可以将磁盘上的文件全部或者部分映射到进程的虚拟地址空间的某个位置。一旦完成映射,对磁盘文件的访问就可以像访问内存文件一样便捷。
    2 使用内存映射文件的好处:a系统使用内存映射文件,以便加载和执行.exe和DLL文件。这可以大大节省页文件空间和应用程序启动运行所需的时间。b可以使用内存映射文件来访问磁盘上的数据文件。这使你可以不必对文件执行I/O操作,并且可以不必对文件内容进行缓存。c可以使用内存映射文件,使同一台计算机上运行的多个进程能够相互之间共享数据。注:使用内存映射文件数据传输是通过4k大小的数据页面实现的。
    3 内存映射文件的实现原理:先来看看windows的页式虚拟存储管理,在windows中,每一个页面在一个时刻都是处于一下三种情况之一:空闲的,挂起的还有已经提交的。当某个页面不需要的时候windows可以将其从内存中调换出来,需要的时候页面可以重新再次从物理存储器读入内存。内存映射文件的实现原理与此相似,内存映射文件也保留了一个地址空间的区域,并根据需要将物理存储器提交到该区域。区别是:内存映射文件存取一个磁盘文件时,它提交的物理存储器就是来自该文件~!
二 asm中使用映射文件函数
   1 内存映射文件函数包括:CreatFileMapping,OpenFileMapping,MapViewOfFile,UnmapViewOfFile和FlushViewOfFile.
    先到这里,休息一下:)
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

内存映射文件

  • 2015-04-11 11:19
  • 5.75MB
  • 下载

NIO--JAVA NIO之浅谈内存映射文件原理与DirectMemory

转载自:http://www.360doc.com/content/13/0502/23/7669533_282552666.shtml  JAVA类库中的NIO包相对于IO 包来说有一个...

vc 内存映射文件.doc

  • 2012-11-09 17:37
  • 28KB
  • 下载

JAVA NIO之浅谈内存映射文件原理与DirectMemory

JAVA类库中的NIO包相对于IO 包来说有一个新功能是内存映射文件,日常编程中并不是经常用到,但是在处理大文件时是比较理想的提高效率的手段。本文我主要想结合操作系统中(OS)相关方面的知识介绍一下原...

多进程内存映射文件排序

  • 2009-12-01 10:02
  • 4.78MB
  • 下载

.NET 4.0中使用内存映射文件实现进程通讯

操作系统很早就开始使用内存映射文件(Memory Mapped File)来作为进程间的共享存储区,这是一种非常高效的进程通讯手段。Win32 API中也包含有创建内存映射文件的函数,然而,这些函数都...

vc内存映射文件操作.doc

  • 2010-03-09 19:35
  • 13KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)