实验目的
理解操作系统存储管理原理
操作系统的发展使得系统完成了大部分的内存管理工作。对于程序员而言,这些内存管理的过程完全透明不可见。因此,程序员开发时从不关心系统如何为自己分配内存,而且永远认为系统可以分配给程序所需要的内存。在程序开发时,程序员真正需要做的就是:申请内存、使用内存、释放内存,其他一概无需过问。
程序1
申请内存、使用内存以及释放一块内存
//B17040417.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
int main(void)
{
char * str;
if ((str=(char*)malloc(10))==NULL)
{
printf("not enough memory to allocate buffer\\n");
exit(1);
}
strcpy(str,"hello");
printf("string is %s\n",str);
free(str);
return 0;
}
程序2
在打开文件后,通过fstat()获得文件长度,然后通过malloc()系统调用申请响应大小的内存空间,通过read()将文件内容完全读入该内存空间,并显示出来。
//yanglonglong.c(路径: /opt/yanglonglong.c)
#include <stdio.h>
#include <sys/stat.h>
#include