当前位置:  技术问答>linux和unix

内存映射文件问题疑惑:

    来源: 互联网  发布时间:2016-06-22

    本文导语:  请教大家一个问题: 内存映射文件,  有多个(比如10个)进程, 同时通过mmap(MAP_SHARED方式)并发的将同一个大文件(比如100M)映射到进程地址空间, 请教大侠们: 到底这十个进程是各个开辟了地址空间来保存...

请教大家一个问题:
内存映射文件, 
有多个(比如10个)进程, 同时通过mmap(MAP_SHARED方式)并发的将同一个大文件(比如100M)映射到进程地址空间,
请教大侠们:
到底这十个进程是各个开辟了地址空间来保存映射?(10进程*100M = 共计占用1G内存)   
还是十个进程共享了一个地址空间?  (100M)

如果是各自保存, 内存映射文件 如何 体现 共享内存的特性?
如果是共享一个地址空间,这个空间是在什么位置? 

谢谢。

|
是十个进程共享了一个地址空间?  (100M)

如果是共享一个地址空间,这个空间是在什么位置?
=======================================

你可以通过查看

PID= yourprogram
cat /proc/$PID/maps 来了解空间的地址。

|
每个进程的逻辑地址空间是独立的,但是这些逻辑地址被映射到了相同的物理地址。

|
不是,基本上如四楼所说。。
所有的进程的虚拟空间地址都是独立的,大家互不干扰。
但对应的物理地址应该是一整块100M大小的东西。 
所以就消耗100M大小内存。

|


如楼上所讲,就因如此,各个进程操作的是同一段地址,这就要程序之间来协调相互操作步骤。

    
 
 

您可能感兴趣的文章:

  • Linux内存映射 物理地址映射到虚拟地址
  • 内存映射设备后,就可以直接访问设备的片内内存 了(比如显卡的显存)?
  • 内存映射
  • mmap如何分段内存映射
  • MPC8548的TLB和LAW是如何映射内存的
  • mmap映射文件内存失败问题
  • 关于kernel和用户进程内存映射,进行读写问题
  • 映射内存的读写排他怎么实现
  • 结构体数组映射到共享内存区的问题
  • 驱动中如何将用户空间内存映射到内核空间使用?
  • 有人做过内核空间和用户空间的内存映射吗 内核空间和用户空间交换数据用内存映射的方法,结果做的驱动可以工作,但经常会引起死机
  • 懂内存映射的高手进。。。
  • Linux内核中怎样给DMA分配没有进行Cache映射的内存?
  • mmap函数建立文件的内存映射后,删除文件,能正常读取内容吗?
  • mmap 内存映射文件读取的问题 iis7站长之家
  • 共享内存,如何固定逻辑地址(映射地址)问题
  • linux 内存映射的问题!
  • 嵌入式linux下的io内存映射问题
  • mmap内存映射函数报错,no such device
  • mmap 内存映射文件读取的问题
  • 【操作系统虚拟内存和物理内存疑惑】
  • 操作系统对于"堆"内存的管理,一个疑惑
  • 内存管理的几点疑惑,请指教。
  • Linux内存线性地址空间布局解析---的一些疑惑,大家帮忙解释解释
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux内存文件系统ramfs实现原理
  • linux下内存泄露检测工具 mtrace 如果记录.so文件中的内存信息
  • Linux内存文件系统(ramdisk)的三种实现方式
  • 请问用GCC 编译,如何生成MAP文件?就是内存的分布映像文件?
  • 文件描述符的限制?(共享内存)
  • 海量小文件如何快速读到内存?
  • 内存文件系统
  • 怎么在固定大小的内存里面做成一个类似于文件系统的缓存管理?
  • linux 如何生成内存的镜像文件
  • python使用内存zipfile对象在内存中打包文件示例
  • 可执行文件的内存占用空间 = 查看???
  • 在linux下如何将cpu和内存的使用率保存到mysql或者日志文件中?
  • 如何在程序中释放特定文件缓冲区占用的内存:急!!!
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • linux 写文件会不断消耗内存 删除时又恢复
  • Java内存文件系统 Jimfs
  • 如何修改tomcat.sh文件,限定java使用的内存?????
  • linux共享内存(share memory)与直接文件读取的区别
  • 读一个10M的txt文件到Oracle数据库中,用C实现,请问有什么好的方法吗?即不怎么占内存,又不怎么占Cpu!
  • 如何确定df命令显示的文件系统是内存还是硬盘(或flash)
  • LINUX系统某一目录当写入2万个文件后内存发生泄漏!附源代码
  • C++ Vectors 成员 get_allocator():返回vector的内存分配器
  • 我的机器内存128 ,安装redhat9 后,可用内存很少了,如何节省内存呢?
  • C++ Vectors 成员 capacity():返回vector所能容纳的元素数量(在不重新分配内存的情况下)
  • 奇闻:Apache+Apache JServ 1.1.1+1G内存居然报内存不够,那位高友知道参数设置,把俺的1G内存都利用起来,感激不尽啊
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 怎样读取指定内存地址处指定长度的内存数据???(
  • C/C++内存池实现介绍及基本要求
  • 请教一个关于内存分配的问题(系统和DMA共享一块物理内存空间)
  • linux下free命令显示的内存使用情况分析
  • Solaris下如何获得物理内存和虚拟内存的大小?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3