您的当前位置:首页实验3:存储管理

实验3:存储管理

2020-09-01 来源:爱问旅游网


操作系统实验报告

实验题目:存储管理

专 业 计算机科学与技术 学 生 姓 名 班 级 学 号 指 导 教 师 肖 莹 指 导 单 位 计算机学院 日 期

-

教 师 评 语 教师签名:

年 月 日 成绩评定 备注 -

一、实验目的

1、 理解操作系统存储管理原理

操作系统的发展使得系统完成了大部分的内存管理工作。对于程序员而言,这些内存管理的过程完全透明不可见。因此,程序员开发时从不关心系统如何为自己分配内存,而且永远认为系统可以分配给程序所需要的内存。在程序开发时,程序员真正需要做的就是:申请内存、使用内存、释放内存,其他一概无需过问。 2、在Linux下,用malloc()函数实现cat或copy命令。

二、实验指导

1、内存分配与管理的相关函数 1)内存动态分配函数

#include void *malloc(size_t size)

该函数分配指定大小size个字节的内存空间,成功时返回分配内存的指针(即所分配内存的地址)。

2) void free(void * addr);

该函数释放由malloc()分配的内存,addr是要释放内存空间的起始地址,并且addr必须是被以前malloc( )调用返回的。

2、内存分配与回收参考程序——申请内存、使用内存以及释放一块内存

#include #include #include #include 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\ free(str); return 0; }

(要求:1、以自己的学号命名C程序;2、能够输出内存空间无法分配的信息)

三、实验步骤(附操作截图)

四、运行结果及其结果分析(附结果截图)

五、思考题

1、为什么需要动态存储分配?

-

因篇幅问题不能全部显示,请点此查看更多更全内容