- 4
- 0
- 约7.23千字
- 约 7页
- 2018-10-09 发布于重庆
- 举报
C语言课程设计存储管理分区分配算法课程设计
C语言课程设计-存储管理分区分配算法-课程设计
C语言课程设计-存储管理分区分配算法|c语言程序代码编程小程序设计|c语言课程设计报告课程案例/***pcb.c***/
#include stdio.h
#include stdlib.h
#include string.h
#define MAX 32767
typedef struct node? ?/*设置分区描述器*/
{
? ?int address,size;
? ?struct node *next;
}RECT;
/*函数原型*/
RECT *assignment(RECT *head,int application);
void acceptment1(RECT *head,RECT *back1);
void acceptment2(RECT *head,RECT *back1) ;
int backcheck(RECT *head,RECT *back1);
void print(RECT *head);
/*变量声明*/
RECT *head,*back,*assign1,*p;
int application1,maxblocknum;
char way;
/*主函数*/
main()
{
? ?char choose[10];
? ?int check;
? ?head=malloc(sizeof(RECT)); /*建立可利用区表的初始状态*/
? ?p=malloc(sizeof(RECT));
? ?head-size=MAX;
? ?head-address=0;
? ?head-next=p;
? ?maxblocknum=1;
? ?p-size=MAX;
? ?p-address=0;
? ?p-next=NULL;
? ?print(head);??/*输出可利用表初始状态*/
? ?printf(Enter the way(best or first(b/f)\n);/*选择适应策略*/
? ?scanf(%c,way);
? ?do{
? ?? ?printf(Enter the assign or accept(as/ac)\n);
? ?? ?scanf(%s,choose); /*选择分配或回收*/
? ?? ?if(strcmp(choose,as)==0) /*as为分配*/
? ?? ?{
? ?? ?? ?printf(Input application:\n);
? ?? ?? ?scanf(%d,application1);/*输入申请空间大小*/
? ?? ?? ?assign1=assignment(head,application1);/*调用分配函数*/
? ?? ?? ?if(assign1-address==-1)/*分配不成功*/
? ?? ?? ?? ?printf(Too large application!,assign fails!!\n\n);
? ?? ?? ?else
? ?? ?? ?? ?printf(Success!!ADDRESS=%5d\n,assign1-address); /*分配成功*/
? ?? ?? ?print(head); /*输出*/
? ?? ?}
? ?? ?else
? ?? ?? ?if(strcmp(choose,ac)==0) /*回收*/
? ?? ?? ?{
? ?? ?? ?? ?back=malloc(sizeof(RECT));
? ?? ?? ?? ?printf(Input Adress and Size!!\n);
? ?? ?? ?? ?scanf(%d%d,back-address,back-size);/*输入回收地址和大小*/
? ?? ?? ?? ?check=backcheck(head,back); /*检查*/
? ?? ?? ?? ?if(check==1)
? ?? ?? ?? ?{
? ?? ?? ?? ?? ?if(tolower(way)==f)/*首先适应算法*/
? ?? ?? ?? ?? ?? ?acceptment1(head,back); /*首先适应*/
? ?? ?? ?? ?? ?else
? ?? ?? ?? ?? ?? ?acceptment2(head,back);/*最佳适应*/
? ?? ?? ?? ?? ?print(head);
? ?? ?? ?? ?}
? ?? ?? ?}
? ?}while(!strcmp(choose,as)||!strcmp(choose,ac));
}
/*分配函数*/
RECT *assignment(RECT *head,int applica
您可能关注的文档
- C 手机网上营业厅系统的设计与实现.doc
- c 数据结构课程设计校园导游咨询系统.doc
- C 程序设计万年历课程设计报告.doc
- c 课程设计 学生成绩排名系统图文.doc
- C 课程设计仓库管理系统报告.doc
- C 课程设计基于选择排序方法的类模板设计与实现.doc
- c 课程设计字符串类的设计和实现论文.doc
- C 面向对象程序设计三角形的种类与面积.doc
- C sharp 打字游戏 课程设计报告.doc
- C SQL server 项目设计课程设计个人日程管理系统.doc
- (正式版)DB51∕T 1867-2014 《袋栽黑木耳生产技术规程》.docx
- (正式版)DB51∕T 2413-2023 《油橄榄密植丰产栽培技术规程》.docx
- (正式版)DB51∕T 2436-2017 《川菜东坡一品肉烹饪工艺技术规范》.docx
- (正式版)DB51∕T 2396-2017 《农村电子商务服务站(点)服务与管理规范》.docx
- (正式版)DB51∕T 2419-2017 《桢楠扦插育苗技术规程》.docx
- CN105145773B 一种无花果曲奇饼干及其制作方法 (江苏农林职业技术学院).docx
- CN105203825A 微测量电极的制作方法和热电势的测量方法及相关装置 (国家纳米科学中心).docx
- CN105137533B 一种啁啾光纤光栅及其制作方法 (南京航空航天大学).docx
- (正式版)DB51∕T 2453-2018 《巴山新居公共管理指南》.docx
- (正式版)DB51∕T 1892-2014 《川西北地区沙化土地治理技术规程》.docx
最近下载
- 2026年临汾职业技术学院单招职业适应性测试题库及答案详解.docx VIP
- 湖南省新高考教学教研联盟(长郡20校)2026届高三3月联考语文试题及答案.docx VIP
- 血液透析病人的饮食护理.ppt VIP
- 同等学力申硕《教育学学科综合水平考试》题库【真题精选+章节题库】.pdf VIP
- 世界铁路的发展史.pptx VIP
- 甘肃省天水市村文书考试真题.docx VIP
- 人教版道德与法治三年级下册第3课《一切靠劳动》 课件.pptx VIP
- 玻璃酸钠注射液应用课件PPT.pptx VIP
- 航运公司岗位任务说明书.doc VIP
- 统编版语文七年级下册第16课《有为有不为》(教学课件).pptx VIP
原创力文档

文档评论(0)