实验八 内存管理实现

上传人:ni****g 文档编号:508521595 上传时间:2024-01-10 格式:DOCX 页数:4 大小:45.19KB
返回 下载 相关 举报
实验八 内存管理实现_第1页
第1页 / 共4页
实验八 内存管理实现_第2页
第2页 / 共4页
实验八 内存管理实现_第3页
第3页 / 共4页
实验八 内存管理实现_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《实验八 内存管理实现》由会员分享,可在线阅读,更多相关《实验八 内存管理实现(4页珍藏版)》请在金锄头文库上搜索。

1、计算机操作系统综合设计实验八实验名称:内存管理模拟实现实验类型:设计型实验实验环境:Visual C+ 6.0指导老师:陈立伟专业班级:姓 名: 学 号:联系电话:实验地点:东六E座4-02实验日期:2014年12月21日实验报告日期:2014年12月21日、实验目的1) 理解内存管理相关理论;2) 掌握连续内存管理理论;3) 掌握动态连续内存管理理论。二、实验平台windows 7 Visual C+ 6.0三、实验步骤1、实验内容1) 模拟管理 64M 的内存块;2) 设计内存分配函数;3) 设计内存回收函数;4) 实现动态分配和回收操作;5) 可动态显示每个内存块信息。2、实验步骤1)

2、编写并输入代码A、打开 Visual C+ 6.0;B、新建c+文件,创建manage.cpp。2) 进行功能测试并得出正确结果A、编译、运行 manage.cpp:B、增加多个进程并为之分配内存:cmda1 100000done cmda2 200000 donecnda3 300000 donecnda4 400000donecnda5 500000 donecnda6 600000c、显示进程分配情况:cmds allocation status: used2050 kBused blocks 6 block: addr : 0x4a0040datatmax 40addr : 0x4b8

3、6e0 datatmax 40addr : 0x4e9420 datatmax 40addr : 0x532800 datamax 40addr : 0x594280 data: 1111111111111111111111111111111111111111,size :195.313 kB, used by job 0x2bytes: 2222222222222222222222222222222222222222 ,size :292.969 kB, used by job 0x3bytes: 3333333333333333333333333333333333333333,size :

4、390.625 kB, used by job 0x4bytes: 4444444444444444444444444444444444444444,size :488.281 kB, used by job 0x5bytes: 5555555555555555555555555555555555555555,size :585.938 kB, used by job 0x6bytes: 6666666666666666666666666666666666666666free blocks 0x1 block:己dch: 0x6己p 占ize :kBD、删除进程并释放内存:cndd5 done

5、cmdd2 donecndd1 doneE、显示删除后的进程情况:cmdsallocation status: used1269 kBfree64266 kBused blocks 3 block:addr : 0x4e9420 , size :292.969 kB, used by job 0x3dataCmax 40 bytes: 3333333333333333333333333333333333333333addr : 0x532800 , siae :390625 kB, used by job 0x4dataCmax 40 bytes: 4444444444444444444444

6、444444444444444444addr : 0x60e3aO , siae :585 938 kB, used by job 0x6dataCmax 40 bytes: 6666666666666666666666666666666666666666free blocks 0x3 block:addr : 0x4a0040 , size : 292.969 kB addr : 0x594280 , size : 488 kB addr : 0x6a0b60 , size : 63485 2 kBF、getMemory 函数流程图:否否曰函数结束孕断是否能找 到大于u.size的” 、可用

7、分区/GetMemor 、口断空闲分 总和是否 7二u.size修改有关数据结果返回分区号和分配 大小按动态分区方法进 行分配进行紧筹形成连续 空闲区修改有关数据结 构无法分配返回请求分配u.size分区 大小四、实验总结通过本次实验,我掌握了如何为进入内存的作业分配内存空间,实现多道作业同时驻留 内存,作业运行完成离开系统时,系统如何进行内存回收。在内存动态分配程序设计中,最 优适应算法比首次要难一些,要加上对分配后该分区是否能最好地利用的判断。再一个问题 是回收时候的合并,对地址的修改不是很有把握。着手写程序后,半天才理清回收的内存和 上下邻合并的条件与关系,写此处的代码时,逻辑上比较混乱,反复错误反复修改了很多次 才调试正确,这也是花了最多时间才得以正确实现的部分。之前大多用的C语言,对结构体, 对象等知识淡忘了很多,这一次的实践让我找回了很多学过的知识点,也弥补了很多的不足 之处。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号