第一范文网 - 专业文章范例文档资料分享平台

内存的申请和释放

来源:用户分享 时间:2025/5/21 9:22:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

计算机学院网络工程专业

操作系统课程设计

题 目: 内存的申请和释放 班 级: 网工11102班 姓 名:郭阳 学 号: 0216 同组人姓名:

起 迄 日 期: 第一周,第二周 课程设计地点: E3——A513 指导教师: 贺玉才

评阅意见: 成绩评定: 评阅人: 日期: 完成日期:2014年3月

目录

一、概述 ............................................................. 1 1、设计目的 ......................................................... 1 2、开发环境 ......................................................... 1 二、设计要求 ......................................................... 1 三、实验基本原理 ..................................................... 1 四、程序流程图 ....................................................... 2 1、整体程序流程图 ................................................... 3 2、内存分配ALLOCATE()流程图 .......................................... 4 五、源程序 ........................................................... 5 1、数据结构 ......................................................... 5 2、主要功能函数 ..................................................... 5 3、源程序代码 ....................................................... 6 六、运行结果 ........................................................ 16 1、测试用例与程序运行结果截图 ...................................... 16 2、内存分配正确测试 ................................................ 18 3、内存回收错误测试 ................................................ 18 4、内存回收正确测试用例 ............................................ 18 七、总结 ............................................................ 21 八、参考文献 ........................................................ 21

一、概述

1、设计目的

了解操作系统的内存分配的方法

2、开发环境

WINDOWS环境 Visual C++

二、设计要求

定义一个自由存储块链表,按块地址排序,表中记录块的大小。当请求分配内存时,扫描自由存储块链表,知道找到一个足够大的可供分配的内存块,若找到的块的大小正好等于所请求的大小时,就把这一块从自由链表中取下来,返回给申请者。若找到的块太大,即对其分割,并从该块的高地址不分往低地址部分分割,取出大小合适的块返还给申请者,愈小的低地址部分留在链表中。若找不到足够大的块,就从操作系统中请求另外一个足够大的内存区域,并把它连接到自由块链表中,然后再继续搜索。

释放存储块也要搜索自由链表,目的是找到适当的位置将要释放的块插进去,如果被释放的块的任何一边与链表中的某一块临接,即对其进行合并操作,直到没有合并的临接块为止,这样可以防止存储空间变得零碎。。

三、实验基本原理

分区存储管理是给内存中的进程划分适当大小的存储区,以连续存储各进程的程序和数据,使各进程能并发地执行。最优适应分配算法扫描整个未分配区表或链表,从空闲区中挑选一个能满足用户进程要求的最小分区进行分配。

在可变分区模式下,在系统初启且用户作业尚未装入主存储器之前,整个用户区是一个大空闲分区,随着作业的装入和撤离,主存空间被分成许多分区,有的分区被占用,而有的分区时空闲的。为了方便主存空间的分配和去配,用于管理的数据结构可由两张表组成:

搜索更多关于: 内存的申请和释放 的文档
内存的申请和释放.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c70wn67tnes7b3ef97wu606i7k4ff8500zin_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top