第一范文网 - 专业文章范例文档资料分享平台

实验二——动态高优先权优先调度算法-王子瑜

来源:用户分享 时间:2025/6/13 4:01:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

. .

. 《操作系统》课程实验报告

实验名称:动态分区存储管理

姓 名: 王子瑜 学 号: 5

地 点: 四教楼 指导老师: 放美

专业班级: 软件工程(测试技术14-02)实验成绩:

. .

. .

一、 实验要求:

熟悉并掌握动态分区分配的各种算法。

熟悉并掌握动态分区中分区回收的各种情况,并能够实现分区合并。

二、实验容:

用高级语言模拟实现动态分区存储管理,要求:

1、 分区分配算法至少实现首次适应算法、最佳适应算法和最坏适应算法中的至

少一种。熟悉并掌握各种算法的空闲区组织方式。 2、 分区的初始化——可以由用户输入初始分区的大小。(初始化后只有一个空

闲分区,起始地址为0,大小是用户输入的大小)

3、 分区的动态分配过程:由用户输入作业号和作业的大小,实现分区过程。 4、 分区的回收:用户输入作业号,实现分区回收,同时,分区的合并要体现出

来。(注意:不存在的作业号要给出错误提示!)

5、 分区的显示:任何时刻,可以查看当前存的情况(起始地址是什么,大小多

大的分区时空闲的,或者占用的,能够显示出来)

要求考虑:(1)存空间不足的情况,要有相应的显示;

(2)作业不能同名,但是删除后可以再用这个名字;

(3)作业空间回收是输入作业名,回收相应的空间,如果这个作业名不存在,也

要有相应的提示。

三、实验代码

#include

#include

#define SIZE 640 // 存初始大小

#define MINSIZE 5 // 碎片最小值

enum STATE { Free, Busy };

struct subAreaNode {

int addr; // 起始地址

int size; // 分区大小

int taskId; // 作业号

. . .

. .

STATE state; // 分区状态

subAreaNode *pre; // 分区前向指针

subAreaNode *nxt; // 分区后向指针

}subHead;

// 初始化空闲分区链

void intSubArea() {

// 分配初始分区存

subAreaNode *fir = (subAreaNode *)malloc(sizeof(subAreaNode));

// 给首个分区赋值

fir->addr = 0;

fir->size = SIZE;

fir->state = Free;

fir->taskId = -1;

fir->pre = &subHead;

fir->nxt = NULL;

// 初始化分区头部信息

subHead.pre = NULL;

subHead.nxt = fir; }

. . .

实验二——动态高优先权优先调度算法-王子瑜.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4xq7c6el89036aw5tvxo0daes3y30z00x1f_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top