全球旧事资料 分类
信息科学与技术学院实验报告
课程名称
实验项目
实验地点
指导教师
日期
实验类型
(验证性实验综合性实验设计性实验)
专业计算机外包班级14外三姓名周鹏飞学号1414104033
一、实验目的及要求
通过此次实验,加深对内存管理的认识,进一步掌握内存的分配,回收算法的思想。
二、实验仪器、设备或软件
Wi
dows操作系统PC一台;VC60
三、实验内容及原理
原理:设计程序模拟内存的动态分区内存管理方法。内存空闲区使用空闲分区表进行管理,采用最先适应算法从空闲分区表中寻找空闲区进行分配,内存回收时不考虑与相邻空闲分区的合并。
假定系统的内存共640k初始状态为操作系统本身占用40kt1时刻,为作业ABC分配80k60k100k的内存空间;t2时刻作业B完成;t3时刻为作业D分配50k的内存空间;t4时刻作业C,A完成;t5时刻作业D完成。要求编程序分别输出t1t2t3t4t5时刻内存的空闲区的状态。
实验内容:i
cludestdiohi
cludestdlibh
defi
emaxPCB6最大进程数defi
emaxPart6最大空闲分区数defi
esize10不再切割剩余分区的大小
ftypedefstructPCB_type
char
ame进程名i
taddress进程所占分区首地址i
tle
进程所占分区的长度i
tvalidPCB标识符(有效,无效)PCB;
Typedefstructseqlist进程信息队列
PCBPCBelemmaxPCBmaxPCB为为系统中允许的最多进程数i
ttotal系统中实际的进程数PCBseql分区类型的描述
typedefstructPartitio
i
taddress分区起址i
tle
分区的长度i
tvalid有标识符(有效,无效)Part内存空闲分区表(顺序表)描述typedefstructPartlist空白分区链{PartPartelemmaxPartmaxPart为系统中可能的最多空闲分区数i
tsum系统中世纪的分区数}Partseql全局变量
PCBseqlpcbl进程队列指针Partseqlpart1;空闲队列指针i
tclude“Mai
Ma
agerh”voidi
itpcb初始化进程表vpcb1i
tipcb1PCBelem0address0pcb1PCBelem0le
0pcb1PCBelem0
ame’s’pcb1PCBelem0valid1pcb1total0fori1imaxPCBipcb1PCBelem0
ame’0’
fpcb1PCBelem0address0pcb1PCBelem0le
0pcb1PCBelem0valid0
voidi
itpart初始化空闲分区表vpart1
i
tIpcb1PCBelem0address40pcb1PCBelem0le
600pcb1PCBelem0valid1fori1imaxParti
pcb1PCBelem0address0pcb1PCBelem0le
0pcb1PCBelem0valid0part1sum1
voidrequestchar
amei
tle
进程
ame请求le
大小的内存
i
tijki
taddressfori0ipartlsumiifpartlPartelemile
le
addresspartlPartelemiaddressifpartlPartelemile
le
size
partlPartelemiaddressle
par
好听全球资料 返回顶部