欢迎来到天天文库
浏览记录
ID:35939110
大小:410.81 KB
页数:48页
时间:2019-04-26
《操作系统内存管理系统模拟系统地实现》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实用文案摘要操作系统的内存管理是指系统软件对其他应用程序使用内存时所作的管理,是一种统筹关系。本设计采用活动分区方案,但不采用紧凑算法。假设系统内存容量为100KB。能处理内存回收的时候上下邻合并的问题;对随机出现的进程i申请jKB内存,程序能判断是否能分配;释放随机的首地址为Handle的内存块;同时输出内存使用情况和空闲情况。关键字:内存资源;分配;存储管理;回收标准文档实用文案目录1概述61.1设计任务61.2设计思想61.3基础知识62各模块伪码算法72.1主程序82.2创建进程模块92.3进程信息模块102.4进程申请模
2、块112.5分区创建模块122.6内存分配模块132.7低级调度模块153函数关系调用图164测试结果174.1主界面调试结果174.2创建进程调试结果184.3进程信息调试结果184.4进程申请调试结果194.5分区创建调试结果204.6内存分配调试结果204.7内存回收调试结果214.8打印分区调试结果224.9低级调度调试结果235源程序246总结44参考文献45标准文档实用文案致谢46标准文档实用文案摘要操作系统的内存管理是指系统软件对其他应用程序使用内存时所作的管理,是一种统筹关系。本设计采用活动分区方案,但不采用紧凑算
3、法。假设系统内存容量为100KB。能处理内存回收的时候上下邻合并的问题;对随机出现的进程i申请jKB内存,程序能判断是否能分配;释放随机的首地址为Handle的内存块;同时输出内存使用情况和空闲情况。关键字:内存资源;分配;存储管理;回收标准文档实用文案1概述1.1设计任务应用内存管理实现内存管理的分配和回收。能处理内存回收的时候上下邻合并的问题以及输出内存使用情况和空闲情况。采用活动分区方案,但不采用紧凑算法。假设系统内存容量为100KB。要能处理内存回收的时候上下邻合并的问题;对随机出现的进程i申请jKB内存,程序能判断是否能
4、分配;释放随机的首地址为Handle的内存块;要求输出内存使用情况和空闲情况。根据给定的动态分区分配算法流程图,用熟悉的计算机编程语言编写一程序,该程序实现内存的合理分配后回收。1.2设计思想通过本次课程设计,学习如何进行内存的分区管理,强化了对首次适应分配算法和分区回收算法的理解。此课设需要随机产生进程或者由用户输入进程相应信息,实现动态内存管理:设计主界面以灵活选择某算法。主要实现的算法有:首次适应算法、最佳适应算法、最坏适应算法和循环适应算法。实现的主要功能有:创建进程,查看进程信息,进程申请,分区创建,内存分配,内存回收,
5、打印分区,低级调度等。分析设计要求,根据老师给出的要求,我们需创建进程和分区,然后申请进程,然后再进行内存的分配与回收。1.3基础知识内存是现代计算机系统运转的核心.内存由一大片连续的字或字节组成,每个字或字节都有自己的地址,CPU根据程序计数器的值从内存中取出指令,而取出的指令可能引发额外的操作,例如读取或存储特定的内存地址.举个例子,一个典型的指令执行周期如下:首先从内存中读取一条指令,然后解码这条指令,解码时可能会从内存中读取这条指令(例如间接地址运算)的操作数(operand),当这条指令完成对操作数的运算后,运算结果可能
6、被存储到内存中.标准文档实用文案2各模块伪码算法最先适应算法循环适应算法最佳适应算法最坏适应算法内存管理创建进程进程信息内存分配分区创建进程申请内存回收打印分区低级调度前后两分区都不是空闲分区前未空闲后空闲前空闲后未空闲前后两分区都是空闲分区图2.1总体结构流程图标准文档实用文案图2.1为总体结构流程图2.1主程序主函数既是程序的入口,又是程序的出口,通常我们还可以指定一个exitcode再退出,以表明程序最后的结果是什么样的。由于主函数肩负着入口和出口的重任,所以最好不要把太多的细节方面的逻辑直接放在主函数内,这样不利于维护和扩
7、展。主函数应该尽量简洁,具体的实现细节应该封装到被调用的子函数里面去。此主函数中包括很多功能模块,其中各功能模块用菜单方式选择,为我们提供了九个功能选项。如图2.1所示显示一系列功能模块输入数字,判断数字是否为1—9根据数字的值调用各功能模块函数开始结束NY图2.1主程序流程图标准文档实用文案2.2创建进程模块进程的创建也就有两种方式:一是由操作系统创建,二是由父进程创建。在系统启动时,操作系统会创建一些进程,他们承担着管理和分配系统资源的任务,这些进程通常被称为系统进程。系统允许一个进程创建新进程,新进程即为子进程,子进程还可以
8、创建新的子进程,形成进程树结构。此创建进程模块可以输入自己想创建的进程数进而实现进程创建。如图2.2所示开始输入创建进程的个数初始化进程申请队列初始化进程分配队列创建进程结束图2.2创建进程流程图cout<<"输入进程数目:";cin>>Proce
此文档下载收益归作者所有