- 实验目的
使学生能够阐释物理内存管理和虚拟内存管理的基本原理和方法,理解页面置换算法的基本思想,自主分析不同算法的缺页率,能够分析总结出不同算法的优缺点。
- 实验内容
1.记录内存空间使用情况
2.记录空闲分区
3.内存分配算法
4.内存释放算法
- 实验结果
- 实验结果:
(1)可变分区的内存分配算法
(2)固定分区的内存分配法
2、详细代码
#include#include #define L 10 typedef struct LNode {int startaddress; int size; int state; }LNode; LNode P[L]={{0,128,9},{200,256,0},{500,512,0},{1500,1600,0},{5000,150,0}}; int N=5; int f=0; void print() {int i; printf("起始地址 分区 状态n"); for(i=0;i m && P[f].state!=1){ P[N].startaddress=P[f].startaddress+m; P[N].size=P[f].size-m; P[f].size=m; P[f].state=1; l=1; N++; f++; break; }} if(l==1){ printf("地址分配成功!n"); printf("地址分配成功后的状态:n"); print(); }else{ printf("没有可以分配的地址空间n"); } } void Worst(){ int i,t=0,l=0,m; int a[L]; printf("n输入请求分配分区的大小:"); scanf("%d",&m); for(i=0;i a[t]){ t=i; }} P[N].startaddress=P[t].startaddress+m; P[N].size=P[t].size-m; P[t].size=m; P[t].state=1; l=1; N++; } if(l==1||i



