实验3内存管理.doc

实验3内存管理.doc

ID:56420137

大小:3.66 MB

页数:15页

时间:2020-06-23

实验3内存管理.doc_第1页
实验3内存管理.doc_第2页
实验3内存管理.doc_第3页
实验3内存管理.doc_第4页
实验3内存管理.doc_第5页
资源描述:

《实验3内存管理.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、深圳大学实验报告课程名称:操作系统实验项目名称:内存管理实验学院:计算机与软件学院专业:计算机科学与技术指导教师:罗秋明报告人:学号:班级:实验时间:2014-11-21实验报告提交时间:2014-11-30教务部制实验目的与要求:加深对内存分配与使用操作的直观认识;掌握Linux操作系统的内存分配与使用的编程接口;了解Linux操作系统中进程的逻辑编程地址和物理地址间的映射;实验内容:可以使用Linux或其它Unix类操作系统;学习该操作系统提供的分配、释放的函数使用方法;学习该操作系统提供的进程地址映射情况的工具;实验过程、方法、步骤:操作部分:1)借助google工具查找资料,学习使用

2、Linux进程的内存分配、释放函数;2)借助google工具查找资料,学习Linuxproc文件系统中关于内存影射的部分内容(了解/proc/pid/目录下的maps、status、smap等几个文件内部信息的解读);3)编写程序,连续申请分配三个512MB空间,然后释放第二个512MB空间。然后再分配1024MB,记录该进程的虚存空间变化(/proc/pid/maps),每次操作前后检查/proc/pid/status文件中关于内存的情况,简要说明虚拟内存变化情况。4)设计一个程序测试出你的系统单个进程所能分配到的最大虚拟内存空间为多大。5)编写一个程序,分配256M内存空间(或其他足够大的

3、空间),检查分配前后/proc/pid/status文件中关于虚拟内存和物理内存的使用情况,然后每隔4KB间隔将相应地址的字节数值增1,再次检查/proc/pid/status文件中关于内存的情况,对比前后两次内存情况,说明所分配物理内存(物理内存块)的变化。(3)①在mem3.c中编写相关程序,对指针a,b,c分别分配512M内存,然后释放b的512MB空间。然后再分配1024MB。代码如下:#include#include#include#includeintmain(){printf("PID=%d",getp

4、id());int*d,*a,*b,*c;printf("Programbegins.");getchar();a=(int*)malloc(pow(2,27)*sizeof(int));b=(int*)malloc(pow(2,27)*sizeof(int));c=(int*)malloc(pow(2,27)*sizeof(int));printf("3newspacehasalreadycreated.Typetofreespaceb.");getchar();free(b);printf("Spacebisfree.Typetocreatenewspaced.");getch

5、ar();d=(int*)malloc(pow(2,28)*sizeof(int));printf("Spacedhasbeencreated.");getchar();return0;}运行代码,查看虚存空间。在释放空间b前,存储空间如下:用maps查看:用status查看:释放b空间后:Maps:Status:建立新空间d后:Maps:Status:由以上结果可以看到,在分配内存空间前,程序的虚拟内存大小为3836kB,即3M,分配连续三个512M的空间后,虚拟内存变成1576712kB=1539M=512M*3+3M,等于理论值。释放空间b后,内存空间大小变成1052420kB=10

6、27M=512M*2+3M,等于理论值。再建立一个1024M的空间后,虚存为2101000kB=2051M=1027M+1024M,等于理论值。而物理内存大小基本不变。Maps查看:分配内存前:34f457a000-34f457f000rw-p0000000000:0007f9df8004000-7f9df8007000rw-p0000000000:007f9df801a000-7f9df801d000rw-p0000000000:000分配3个512M内存后:34f457a000-34f457f000rw-p0000000000:0007f9d98001000-7f9df8007000rw-

7、p0000000000:0007f9df801a000-7f9df801d000rw-p0000000000:000释放中间内存后:34f457a000-34f457f000rw-p0000000000:0007f9d98001000-7f9db8002000rw-p0000000000:0007f9dd8003000-7f9df8007000rw-p0000000000:0007f9df801a

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。