博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验四主存空间的分配和回收
阅读量:7293 次
发布时间:2019-06-30

本文共 1479 字,大约阅读时间需要 4 分钟。

1.    目的和要求

1.1.           实验目的

用高级语言完成一个主存空间的分配和回收程序,以加深对动态分区分配方式及其算法的理解。

1.2.           实验要求

采用连续分配方式之动态分区分配存储管理,使用首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法4种算法完成设计。

(1)**设计一个作业申请队列以及作业完成后的释放顺序,实现主存的分配和回收。采用分区说明表进行。

(2)或在程序运行过程,由用户指定申请与释放。

(3)设计一个空闲区说明表,以保存某时刻主存空间占用情况。

 

把空闲区说明表的变化情况以及各作业的申请、释放情况显示。

2.    实验内容

根据指定的实验课题,完成设计、编码和调试工作,完成实验报告

3.    实验环境

可以选用Visual C++作为开发环境。也可以选用Windows下的VB,CB或其他可视化环境,利用各种控件较为方便。自主选择实验环境。

4.    参考数据结构:

#include<stdio.h>

#include<conio.h>

#include<string.h>

#define MAX 24

struct partition{

     

      char pn[10];

      int begin;

      int size;

      int end;  

      char status;  //

      };

typedef struct partition PART;

 

第一步:(第13周完成)

完成程序数据结构的创建,初始化内存分配情况,创建空闲分区表和已分配分区表。

#include
#include
#include
#define MAX 24struct partition{ char pn[10]; int begin; int size; int end; char status;};typedef struct partition PART;PART ware[MAX];int allsize=2048;int systemsize=400;int m=0;void menu(){ printf("\n\t内存分配程序\n"); printf("\t=================\n"); printf("\t1.显示分区情况\n"); printf("\t2.输入作业\n"); printf("\t3.选择分配算法\n"); printf("\t0.退出系统\n"); printf("\t=================\n"); printf("请选择功能(0~3):");}void first_comfortable(){ int i=0,j=1; strcpy(ware[0].pn,"SYSTEM"); ware[0].begin=0; ware[0].size=systemsize; ware[0].status='u'; strcpy(ware[1].pn,"------"); ware[1].begin=systemsize; ware[1].size=allsize-ware[0].size; ware[1].status='f'; for(i=2;i

 

转载于:https://www.cnblogs.com/chenkaiqi/p/5614103.html

你可能感兴趣的文章
Cocos2d-x 3.2 与 Cocos studio 之间不得不说的神坑
查看>>
React.js VS Vue.js
查看>>
oracle参数文件
查看>>
我的友情链接
查看>>
不断更新中 书签
查看>>
敏捷开发实践总结(四):职责分工
查看>>
struts2文件下载(文件保存以BLOB类型在数据库中)
查看>>
ASP.NET 防止同一用户同时登陆
查看>>
本地连接的显示与隐藏
查看>>
通过SMTP中继服务器发送邮件的问题
查看>>
brasero
查看>>
Windows Server 2012部署WSUS
查看>>
System Center 2012 SP1系列之SCCM篇-(1)准备安装
查看>>
CentOS 7 x64安装ownCloud9.0.3
查看>>
我的友情链接
查看>>
部署wcf到IIS时的问题
查看>>
[转]大型网站架构的演化
查看>>
css3 transition 演示
查看>>
awk 打印倒数第几行
查看>>
android studio 编译C文件出错
查看>>