可变分区实验.docVIP

  • 9
  • 0
  • 约2.46万字
  • 约 20页
  • 2018-05-27 发布于湖北
  • 举报
可变分区实验 实验题目: 编写一个C程序,用char *malloc(unsigned size)函数向系统申请一次内存空间(如size=1000,单位为字节),用循环首次适应法addr = (char *) lmalloc (unsigned size) 和lfree (unsigned size , char * addr)模拟UNIX可变分区内存管理,实现对该内存区的分配和释放管理。 实验目的: 加深对可变分区的存储管理的理解; 提高用C语言编制大型系统程序的能力,特别是掌握C语言编程的难点:指针和指针作为函数参数; 掌握用指针实现链表和在链表上的基本操作。 实验分析: 本实验采用循环首次适应法的方法来模拟UNIX的可变分区内存管理。即对于系统中内存空闲区域表采用双向链表的形式存储。当需要申请分配内存时,指向该区域表的指针搜索该表,在指针行走完一圈以前,一旦找到可以分配的空闲内存块即采用该空闲区域进行分配,并返回指向实际空闲区的指针。此外,指向该循环链表的指针应当在没有操作的时候保持位置,完成操作后指向操作过的那个表项。而释放内存也是基于基本相同的做法,但在释放后应当注意到相邻空闲区域的合并。 除了分配和释放这两个主要模块以外,系统还应当具备差错处理、初始化、释放退出等合理的功能。 概要设计: 本试验程序共10个模块,分别如下: 1. 主程序模块 main( )

文档评论(0)

1亿VIP精品文档

相关文档