转载请注明出处:http://blog.csdn.net/muge0913/article/details/7315197
内存映像其实就是在内存中创建一个和外存文件完全相同的映像。用户可以将整个文件映射到内存中也可以部分映射到内存。系统会将对内存映像的改动如实的反映到外存文件中。从而实现了通过内存映像对外存文件的操作。
内存映像的特点:
1、 可以加快对IO的操作速度。
2、 用户可以通过指针对文件进行操作,间接~~~
3、 实现了文件数据的共享,将外存文件映射到共享内存中,很方便的实现了数据共享,并能完成把数据保存到外存的工作。
注:内存映像只能对内部可以定位的文件进行操作,如普通文件。不能对管道,套接字文件进行操作。
创建内存映射:
start为指针通常设为NULL,表示映射内存有系统决定。因为指定内存会经常出错。
length为内存映像占用的内存空间大小。以字节为单位。
port表示内存映像的安全性。
PROT_EXEC表示被映像内存可能有机器码,可执行。
PORT_NONE表示被映像内存不能被访问。
PORT_READ表示被映像内存可读
PORT_WRITE表示被映像内存可写
flag内存映像标志:
MAP_FIXED表示如果无法从start地址建立内存映像,则出错返回。
MAP_PRIVATE表示对内存映像进行的改动不反映到外存文件中。
MAP_SHARED表示对内存映像进行的改动反映到外存文件中。
fd文件描述符
offset表示所映像的内容距文件头的距离。
撤销内存映射:
改变内存属性:
修改保护值:
addr表示地址和上面相同。
length内存映像大小同上。
prot重新设定的保护值。
成功返回0失败返回-1
修改内存镜像大小:
flg用于设置是否在需要移动内存镜像时移动该镜像。如:MRMAP_MAYMOVE
调用成功返回新的起始地址,失败返回-1
程序如下:
分享到:
相关推荐
压缩包中包含VMware12版本客户端使用的vmware-tools(linux虚拟机映像)。
centos-linux-iso各个版本的光盘映像文件,适用于PC机、虚拟机VMware安装的linux系统镜像文件,供大家下载参考使用。
CentOS-7-x86_64-DVD-2009,用来学习云计算,Linux操作系统
基于U-Boot的Linux内核映像加载与引导功能实现.pdf
Unity 3D 的 Docker 映像
弹性波模拟-地震映像,地震映像法,matlab源码
基于全志V3s,配备MX25L25645G ...linux kernel: linux-4.13.16 rootfs: buildroot 2022-11 支持 System V IPC,C/C++ standard library,glibc,ntp,dhcp,telnetd/ssh,openssl, crypto, sqlite3,可剪裁,可定制
tripleo-image-elements, OpenStack部署映像的磁盘映像元素 团队和知识库标签 图像构建规则用于OpenStack图像这些元素用于构建用于通过热部署OpenStack的磁盘映像。 它们是作为 TripleO ( ...
docker-atlassian-jira-software, 在 Docker 映像中,wrapped软件包被封装 注意上面的latest 标签和版本将切换到使用Alpine版本的OpenJDK作为基础映像。在 Docker 容器中安装软件这是一个采用 Docker的for软件的集装...
可以实现弹性波的地震映像模拟,加入空洞等模型查看正演结果
经过相应裁减的Linux内核映像文件,可直接烧写进板子上运行
一种实现嵌入式Linux的新方法...引言 在Linux操作系统中,有一项特殊的功能——初始化内存盘INITRD(INITial Ram Disk)技术,而且内核支持压缩的文件系统映像。有了这两项功能,我们可以让Linux系统从小的初始化内存盘
SIEMENS-博途HMI面板映像下载-各个版本.txt
LXD Alpine Linux映像生成器 该脚本提供了一种创建映像以与使用的。 它基于LXC模板。 仅通过安装基于alpine-base meta-package即可构建映像。 默认情况下启用网络和系统日志。 用法 为了构建最新的Alpine映像,只需...
docker-nginx, Nginx Docker 映像,可以轻松承载 static 站点 dockerDocker的高性能 Nginx 基础映像,用于 static 网站。 它将服务于 /var/www 目录中的任何内容。要为你的站点构建 Docker 映像,你需要创建一个 ...
操作系统实验课作业 使用VC++ 开发 ...2、在进程A中输入一些字符,点“写数据到内存映像文件”按钮,然后在进程B中点“从内存映像文件读数据” 按钮可收到消息 程序代码比较基础,希望可以帮助到大家,感谢下载~