包含五种基本算法,有算法的文字介绍,算法流程图,C语言代码。
本实验的程序设计基本上按照实验内容进行,用C语言编写程序。首先用srand( )和rand( )函数定义和产生指令序列,然后将指令序列变换成相应的页地址流,并针对不同的算法计算出相应的命中率。
包含的算法:
1)最佳淘汰算法(OPT)
2)先进先出的算法(FIFO)
3)最近最久未使用算法(LRU)
4)最不经常使用算法(LFU)
5)最近未使用算法(NRU)
用到的数据结构
1 数据结构
(1)页面类型
typedef struct{
int pn,pfn,counter,time;
}pl-type;
其中pn 为页号,pfn为面号, counter为一个周期内访问该页面的次数, time为访问时间.
(2) 页面控制结构
pfc-struct{
int pn,pfn;
struct pfc_struct *next;
}
typedef struct pfc_struct pfc_type;
pfc_type pfc[total_vp],*freepf_head,*busypf_head;
pfc_type *busypf_tail;
其中pfc[total_vp]定义用户进程虚页控制结构,
*freepf_head为空页面头的指针,
*busypf_head为忙页面头的指针,
*busypf_tail为忙页面尾的指针.
2021-11-26 21:01:58
397KB
操作系统
算法