2016计算机基地-倪纯淳-实验七.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验要求: 分别使用命令和/proc文件系统列出系统当前内存的使用情况。启动几个耗时较长的后台进程(多个grep),分别使用free和vmstat连续实时观察内存的使用情况。用size工具观察三个不同的可执行文件的大小以及它们段的大小。Size命令的输出不包括stack和heap的部分。只包括文本段(text), 代码段(data),未初始化数据段(bss)三部分。启动一个耗时较长的后台进程,通过/proc文件系统查看该进程所有内存使用相关信息,并列出。编写一个程序,打印系统的页面大小。阅读并编译运行以下程序,总结内存映象文件的使用方法。范例 /* 利用mmap()来读取/etc/passwd 文件内容*/#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<unistd.h>#include<sys/mman.h>main(){int fd;void *start;struct stat sb;fd=open(“/etc/passwd”,O_RDONLY); /*打开/etc/passwd*/fstat(fd,&sb); /*取得文件大小*//* 利用man fstat 可以看到struct stat 的定义*/start=mmap(NULL,sb.st_size,PROT_READ,MAP_PRIVATE,fd,0);if(start= = MAP_FAILED) /*判断是否映射成功*/return;printf(“%s”,start);munmap(start,sb.st_size); /*解除映射*/close (fd);}总结内存映象文件的使用方法: 内存映像其实就是在内存中创建一个和外存文件完全相同的映像,用户可以将整个文件映射到内存,也可以部分映射。通过内存映像实现对外存文件的操作。首先Mmap申请虚拟内存,再次调用file指针所指映射函数对其进行映射。判断是否映射成功。进行操作。最后解除映射。

文档评论(0)

js1180 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档