说明:本课程设计题目共28个,原则上一人一题。如果题目未加说明,则必须一人一题。
题目1:动态分区分配方式的模拟1
设计目的
了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
设计内容
1)用C语言实现采用首次适应算法的动态分区分配过程alloc()和回收过程free()。其中,空闲分区通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间。
2)假设初始状态如下,可用的内存空间为640KB,并有下列的请求序列;
作业1申请130KB
作业2申请60KB
作业3申请100KB
作业2释放60KB
作业4申请200 KB
作业3释放100 KB
作业1释放130 KB
作业5申请140 KB
作业6申请60 KB
作业7申请50KB
作业6释放60 KB
请采用首次适应算法进行内存块的分配和回收,同时显示内存块分配和回收后空闲内存分区链的情况。
3? 思考
1)采用首次适应算法和最优置换算法,对内存的分配和回收速度会造成什么不同的影响?
2)如何解决因碎片而造成内存分配速度降低的问题?
题目2:动态分区分配方式的模拟2
设计目的
了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
设计内容
1)用C语言实现采用循环首次适应算法的动态分区分配过程alloc()和回收过程free()。其中,空闲分区通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间。
2)假设初始状态如下,可用的内存空间为640KB,并有下列的请求序列;
作业1申请130KB
作业2申请60KB
作业3申请100KB
作业2释放60KB
作业4申请200 KB
作业3释放100 KB
作业1释放130 KB
作业5申请140 KB
作业6申请60 KB
作业7申请50KB
作业6释放60 KB
请采用循环首次适应算法进行内存块的分配和回收,同时显示内存块分配和回收后空闲内存分区链的情况。
3? 思考
1)采用循环首次适应算法和最优置换算法,对内存的分配和回收速度会造成什么不同的影响?
2)如何解决因碎片而造成内存分配速度降低的问题?
题目3:动态分区分配方式的模拟3
1设计目的
了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
2设计内容
1)用C语言分别实现采用最佳适应算法的动态分区分配过程alloc()和回收过程free()。其中,空闲分区通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间。
2)假设初始状态如下,可用的内存空间为640KB,并有下列的请求序列;
作业1申请130KB
作业2申请60KB
作业3申请100KB
作业2释放60KB
作业4申请200 KB
作业3释放100 KB
作业1释放130 KB
作业5申请140 KB
作业6申请60 KB
作业7申请50KB
作业6释放60 KB
请采用最佳适应算法进行内存块的分配和回收,同时显示内存块分配和回收后空闲内存分区链的情况。
3? 思考
1)采用最佳适应算法和最优置换算法,对内存的分配和回收速度会造成什么不同的影响?
2)如何解决因碎片而造成内存分配速度降低的问题?
题目4:动态分区分配方式的模拟4
1设计目的
了解动态分区分配中使用的数据结构和分配算法,并进一步加深对动态分区存储管理方式及其实现过程的理解。
2设计内容
1)用C语言分别实现采用最坏适应算法的动态分区分配过程alloc()和回收过程free()。其中,空闲分区通过空闲分区链表来管理,在进行内存分配时,系统优先使用空闲区低端的空间。
2)假设初始状态如下,可用的内存空间为640KB,并有下列的请求序列;
作业1申请130KB
作业2申请60KB
作业3申请100KB
作业2释放60KB
作业4申请200 KB
作业3释放100 KB
作业1释放130 KB
作业5申请140 KB
作业6申请60 KB
作业7申请50KB
作业6释放60 KB
请采用最坏适应算法进行内存块的分配和回收,同时显示内存块分配和回收后空闲内存分区链的情况。
3? 思考
1)采用最坏适应算法和最优置换算法,对内存的分配和回收速度会造成什么不同的影响?
2)如何解决因碎片而造成内存分配速度降低的问题?
题目5: 进程调度模拟算法
1? 设计目的
通过算法的模拟加深对进程概念和进程调度过程的理解,掌握进程状态之间的切换,同时掌握进程调度算法的实现方法和技巧。
2.设计内容
用C语言来实现对N个进程采用动态优先权优先算法的进程调度。
每个用来标识进程的进程控制块PCB用结构来描述,包括以下字段:
进程标识数ID;
进程优