- 18
- 0
- 约1.82万字
- 约 22页
- 2021-01-23 发布于中国
- 举报
动态分区分配存储管理系统
学 院 计算机科学与技术
专 业 计算机科学与技术
学 号
学 生 姓 名
指导教师姓名
目录
、3
、6
4、 程序的技术路线7
8-19
0
第 2 页
一、课程设计目的
1、背景
主存是 CPU 可直接访问的信息空间,合理而有效的使用贮存将在很大程度上
影响整个计算机系统的性能。
本课题要求模拟实现分区式主存管理机制。模拟实现各种分区管理方法以及
相应的主存分配以及回收算法。
2、目的
进一步巩固和复习操作系统的基础知识。
培养学生结构化程序、模块化程序设计的方法和能力。
提高学生调试程序的技巧和软件设计的能力。
提高学生分析问题、解决问题以及综合利用 C 语言进行程序设计
的能力。
二、课题任务描述
用高级语言编写和调试一个动态分区内存分配程序,演示实现下列两种动态
分区分配算法
1. 最佳适应算法
2. 最坏适应算法
三、课题研发相关知识 (包含所用库函数的介绍)
1、最佳适应算法(best fit)
所谓“最佳”是指每次为作业分配内存时,总是把能满足要求、又是最小的
空闲分区分配给作业,避免 “大材小用”。为了加速寻找,该算法要求将所有的
空闲分区按其容量以从小到大的顺序形成一空闲分区链。这样,第一次找到的能
满足要求的空闲区,必然是最佳的。这样,在存储器中会留下许多难以利用的小
空闲区。
2、最坏适应算法(worst fit)
要扫描整个空闲分区表或链表,总是挑选一个最大的空闲区分割给作业使用,
其优点是可使剩下的空闲区不至于太小,产生碎片的几率最小,对中小作业有力,
查找效率很高。但是它会使存储器中缺乏大的空闲分区。
第 1 页
3、回收内存
当进程运行完毕释放内存时,系统根据会收取的首址,从空闲区链中找到相
应的插入点,并考虑回收区前后是否有空闲分区,如果有,则把两个分区合并成
一个大的空闲分区。
4、库函数的介绍
1)stdio 就是指 “standard buffered inputoutput 意思就是说带缓冲
的标准输入输出! 所以了,用到标准输入输出函数时,就要调用这个头文
件!
2)Stdlib.h 即 standard library 标准库文件。Stdlib 头文件里包含了
C,C++语言的最常用的系统函数。Stdlib.h 里面定义了五中类型,一些宏和通用
工具函数。 类型例如:size_t ,wchar_t, div_t, ldiv_t,lldiv_t; 宏例如:
EXIT_FALIRE,EXIT_SUCCESS,RAND_MAX 和 MB_CUR_MAX。
以下是一些常用的函数:dec 置基数为 10 相当于%d;hex 置基数为 16 相
当于%X;oct 置基数为 8 相当于%o;setw(n) 设为 n 个
四、课题设计:总体结构、所使用的数据结构、主要功能的流程图、
程序的技术路线
1、总体结构
本系统采用了最佳适应算法和最坏适应算法模拟存储器动态分区。系统利用
其中某种分配算法,从空闲分区链中找到满足请求内存大小的分区并分配内存给
作业。假设总的内存大小为 size,作业请求的内存大小为request,内存碎片最
小为 f。当requestsize 时,内存溢出,出现系统错误;当 request=size 时,
在内存中根据上述算法寻找最佳的内存分区分配给作业。寻找到合适的内存分区
之后,如果 size-request=f,将此分区上的内存全部分配给作业;如果
size-requestf,就在
您可能关注的文档
最近下载
- SolidWorks-全套入门教程PPT课件.pptx VIP
- 2025年加州驾照常考题库及答案.doc VIP
- SYT5695-2017 钻井液用降黏剂 两性离子聚合物.pdf VIP
- 高中数学第二章随机变量及其分布章末复习课件新人教A版选修.pptx VIP
- ZBTB18控制胼胝体投射神经元的命运选择和进化.docx VIP
- 氯醇法年产20万吨环氧丙烷精馏工序工艺设计.docx VIP
- 2025年山东省春季高考信息技术类专业知识试题(打印版) .pdf VIP
- SY∕T 5612-2018 石油天然气钻采设备 钻井液固相控制设备规范.docx VIP
- 医院病房楼改造项目初步设计(范文).docx
- bizhub C281_C221维修管理手册.pdf VIP
原创力文档

文档评论(0)