《操作系统》实验(五)
内存管理算法模拟 (验证性 2学时)
一、实验目的:
掌握内存管理的主要技术与功能。
2)模拟内存管理算法的实现方法。
二、实验内容:
设计一个能模拟内存管理行为的系统程序,该系统至少应包括FIFO和LRU算法(Least Recently Used)(当需要置换一页时,选择最长时间未被使用的那一页淘汰掉。)的实现。 阅读下列的参考程序,写出main()函数,输入下面的各组测试数据,运行并记录结果。 数据1:
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
数据2:
0,1,7,2,3,2,17,1,0,3,0,3,0,3,0,10
数据3:
24 15 18 23 24 17 18 24 18 17 17 15 24 17 24 18
数据4:
4 3 2 1 4 3 5 4 3 2 1 5 7 2 3 4 8 1 4 3 5 2 3 1
参考程序page.c
#include <stdio.h>
#include <stdlib.h>
#define ERR -1
#define page_len 16wq//页序列总长
#define total_vp 18//作业的总页数+1,即序列中出现的最大页号+1,为了开pl[total_vp]数组所用
typedef struct{
int pn,pfn,counter,time;
}pl_type;
pl_type pl[total_vp];
struct pfc_struct{
int pn,pfn;
struct pfc_struct *next;
};
typedef struct pfc_struct pfc_type;
pfc_type pfc[total_vp],*freepf_head,*busypf_head,*busypf_tail;
int diseffect;
int page[page_len];
void initialize(int total)
{int i;
diseffect=0;
for(i=0; i<total_vp;i++)
{ pl[i].pn=i;
pl[i].pfn=ERR;
www.99jianzhu.com/包含内容:建筑图纸、PDF/word/ppt 流程,表格,案例,最新,免费下载,施工方案、工程书籍、建筑论文、合同表格、标准规范、CAD图纸等内容。