linux内存管理实验.ppt

linux内存管理实验.ppt

ID:48055499

大小:1.81 MB

页数:10页

时间:2020-01-13

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

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

1、内存管理实验掌握linux下内存管理相关的API动态申请内存、调整及释放实验目的内存管理相关系统调用void*malloc(intsize);动态申请内存int*p,p1;p=(int*)malloc(sizeof(int));voidfree(void*block);释放由malloc申请的内存free(p);externvoid*realloc(void*mem_address,unsignedintnewsize);重新申请内存p1=(int*)realloc(p,sizeof(int)*10);void*alloca(intlen);半自动分配内存p=(int*)alloc

2、a(sizeof(int)*10);内存管理基本概念下面是C语言可执行程序的基本情况在linux下编译完,得到一个可执行程序后,这个可执行文件的信息可以用ls、file、size等命令来查看它的信息:$gcchello.c-ohello$ls-lhhello-rwxrwxr-x1sicesice7.2K11月2011:07hello$filehellohello:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),dynamicallylinked(usessharedlibs),forGNU/Linux2.6.24,BuildID[s

3、ha1]=0x1c527b5f182525b11b81119597baf1aacbb97703,notstripped说明:32位的小端格式的可执行文件,基于intel80386平台,等信息。内存管理基本概念$sizehello说明:text:代码段的大小data:已初始化数据段大小bss:未初始化数据段大小dec:文件大小(十进制表示)hex:文件大小(十六进制表示)filename:文件名内存管理基本概念(2)代码区(textsegment):存放CPU执行的机器指令,包括操作码和操作数,可共享、通常只读。全局初始化数据区/静态数据区(data):包含明确被初始化的全局变量、静

4、态变量和常量数据。只初始化一次。未初始化数据区(BSS):存入的是全局未初始化变量。在运行时改变其值。C程序的内存布局可执行代码(代码区)已初始化全局变量、静态变量和常量数据(数据区)未初始化全局变量(BSS,用零初始化)堆区(向上增长)栈区(向下增长)低地址运行时的5个区域高地址用于动态分配内存由编译器自动分配,存放函数的参数值、局部变量的值。简单示例#include#includeinta=0;//a在全局已初始化数据区char*p1;//p1在BSS区(未初始化全局变量)main(){intb;//b在栈区(局部变量)chars[]=“a

5、bc”;//s为数组变量,在栈区(局部变量)//”abc”为字符串常量,在已初始化数据区char*p1,*p2;//p1,p2在栈区staticintc=0;//c为全局静态数据,在已初始化数据区p1=(char*)malloc(10);//分配得来的10个字节在堆区p2=(char*)malloc(20);//分配得来的20个字节在堆区free(p1);free(p2);}Linux内存查看命令free(补充)功能说明:显示内存状态。语  法:free[-bkmotV][-s]补充说明:free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心

6、使用的缓冲区等。参  数:-b以Byte为单位显示内存使用情况。-k以KB为单位显示内存使用情况。-m以MB为单位显示内存使用情况。-o不显示缓冲区调节列。-s持续观察内存使用状况。-t显示内存总和列。-V显示版本信息。也可以用vmstat命令查看内存情况也可以用cat/proc/meminfo查看实验1申请、使用、释放内存Linux下编写一个C程序,申请一块大小为10字节的内存,存放”123456789”,输出字符串及存放地址。(动态申请内存malloc)改造:在上面程序基础上,调整内存大小为20字节,存放”9876543210”,输出字符串及存放地址。(使用realloc)目的

7、:理解内存的申请、使用、调整内存尺寸、释放相关的系统调用

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

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

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