2006-06-05 (1)共享内存 mmap

原创 2006年06月05日 15:43:00

#include <sys/mman.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>

 

 fd=open(FilenamePTR,O_CREAT|O_RDWR|O_TRUNC,00777);
 lseek(fd,sizeof(STRUCTOFDATA)*n-1,SEEK_SET);
 write(fd,"",1);//定义文件的大小,但并不妨碍在内存中的访问大小,

//取决于页面的大小pagesize = sysconf(_SC_PAGESIZE);
 
 STRUCTOFDATA s_map = (STRUCTOFDATA*) mmap( NULL,sizeof(people)*10,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0 );
 close( fd );//并不妨碍对共享内存的访问

  memcpy( ( *(s_map ) ).data1, &des,N );


 sleep(10);

 munmap( s_map, sizeof(STRUCTOFDATA)*n );

 

 

 

共享内存mmap

mmap的是将文件指定的区域映射到内存中,操作内存
  • liuxuejiang158
  • liuxuejiang158
  • 2014年04月13日 18:05
  • 1164

mmap函数用法及示例程序

UNIX网络编程第二卷进程间通信对mmap函数进行了说明。该函数主要用途有三个: 1、将一个普通文件映射到内存中,通常在需要对文件进行频繁读写时使用,这样用内存读写取代I/O读写,以获得较高的性能;...
  • xiaohuima_dong
  • xiaohuima_dong
  • 2015年03月26日 22:38
  • 2336

Mmap的实现原理和应用

很多文章分析了mmap的实现原理。从代码的逻辑来分析,总是觉没有把mmap后读写映射区域和普通的read/write联系起来。不得不产生疑问: 1,普通的read/write和mmap后的映射区域的...
  • edwardlulinux
  • edwardlulinux
  • 2013年02月23日 00:02
  • 11044

Linux内存管理之mmap详解 一. mmap系统调用 1. mmap系统调用 mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,

Linux内存管理之mmap详解 一. mmap系统调用 1. mmap系统调用         mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大...
  • anhuidelinger
  • anhuidelinger
  • 2013年08月29日 19:01
  • 3708

mmap文件转换为mm文件

之前一直使用MindManager写 思维导图,最近开始尝试使用FreeM
  • rodgerlj
  • rodgerlj
  • 2014年06月12日 14:03
  • 1687

利用mmap实现文件拷贝

(写于November 14th, 2013)    今天根据老师的介绍试着使用mmap函数来实现拷贝文件,确实速度比read和write实现的要快很多。 首先介绍一下mmap函数: ...
  • vmezr
  • vmezr
  • 2013年11月24日 20:27
  • 2070

Python之mmap内存映射模块(大文本处理)说明

http://www.cnblogs.com/zhoujinyi/p/6062907.html 背景:       通常在UNIX下面处理文本文件的方法是sed、awk等shell命令...
  • zdy0_2004
  • zdy0_2004
  • 2016年11月17日 15:06
  • 3359

mmap和shm共享内存的区别和联系

共享内存的创建 根据理论:  1. 共享内存允许两个或多个进程共享一给定的存储区,因为数据不需要来回复制,所以是最快的一种进程间通信机制。共享内存可以通过mmap()映射普通文件(特殊情况下还...
  • bluenet13
  • bluenet13
  • 2014年10月13日 09:06
  • 1970

进程间通信笔记(8)—mmap详解

linux mmap详解
  • zhangxiao93
  • zhangxiao93
  • 2016年09月22日 10:53
  • 831

通过mmap将连续物理地址映射到用户空间

由于MMU对用户空间的内存采用页式管理,用户空间的内存都是虚拟的,只有当真正写入物理内存时,系统才会判断是否为该虚拟内存分配物理内存,如果未分配就会触发缺页中断,然后分配一整页的内存给应用程序。所以用...
  • tmkeepgood
  • tmkeepgood
  • 2013年12月13日 20:40
  • 2458
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2006-06-05 (1)共享内存 mmap
举报原因:
原因补充:

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