资源简介
(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:
①、 50%的指令是顺序执行的;
②、 25%的指令是均匀分布在前地址部分;
③、 25%的指令是均匀分布在后地址部分。
具体的实施方法是:
① 在[0,319]的指令地址之间随机选取一起点m;
② 顺序 执行一条指令,即执行地址为m+1的指令;
③ 在前地址[0,m+1]中随机选取一条指令并执行,该指令的地址为m’;
④ 顺序执行一条指令,其地址为m’+1;
⑤ 在后地址[m’+2,319]中随机选取一条指令并执行;
⑥ 重复上述步骤,直至执行320次指令。
(2) 将指令序列变换成页地址流
设:①页面大小为1K
代码片段和文件信息
#include
#include
#include
#include
#define Myprintf printf(“----------------------------------------\n“) /*表格控制*/
#define bsize 4 //物理块大小
#define psize 16 //进程大小
typedef struct page
{
int num; /*记录页面号*/
int time; /*记录调入内存时间*/
}Page; /* 页面逻辑结构,结构为方便算法实现设计*/
Page b[bsize]; /*内存单元数*/
int c[bsize][psize]; /*暂保存内存当前的状态:缓冲区*/
int queue[100]; /*记录调入队列*/
int K; /*调入队列计数变量*/
int phb[bsize]={0}; //物理块标号
int pro[psize]={0}; //进程序列号
int flag[bsize] = {0}; //进程等待次数(存放最久未被使用的进程标志)
int i = 0 j = 0k = 0; //i表示进程序列号j表示物理块号
int m = -1 n = -1; //物理块空闲和进程是否相同判断标志
int max = -1maxflag = 0; //标记替换物理块进程下标
int count = 0; //统计页面缺页次数
//*******
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4228 2012-12-02 15:03 3\3.dsp
文件 525 2012-12-02 15:00 3\3.dsw
文件 33792 2012-12-02 15:03 3\3.ncb
文件 48640 2012-12-02 15:03 3\3.opt
文件 865 2012-12-02 15:01 3\3.plg
文件 8180 2012-12-02 16:45 3\test3.cpp
文件 3389 2012-12-02 15:55 3\test3.dsp
文件 533 2012-12-02 16:45 3\test3.dsw
文件 33792 2012-12-02 16:45 3\test3.ncb
文件 48640 2012-12-02 16:45 3\test3.opt
文件 739 2012-12-02 16:45 3\test3.plg
文件 196641 2012-12-02 15:01 3\Debug\3.exe
文件 218352 2012-12-02 15:01 3\Debug\3.ilk
文件 224368 2012-12-02 15:01 3\Debug\3.pch
文件 410624 2012-12-02 15:01 3\Debug\3.pdb
文件 196645 2012-12-02 16:45 3\Debug\test3.exe
文件 222664 2012-12-02 16:45 3\Debug\test3.ilk
文件 21401 2012-12-02 16:45 3\Debug\test3.obj
文件 224340 2012-12-02 15:43 3\Debug\test3.pch
文件 508928 2012-12-02 16:45 3\Debug\test3.pdb
文件 33792 2012-12-02 16:45 3\Debug\vc60.idb
文件 53248 2012-12-02 16:45 3\Debug\vc60.pdb
目录 0 2012-12-02 16:45 3\Debug
目录 0 2012-12-02 16:45 3
----------- --------- ---------- ----- ----
2494326 24
- 上一篇:4x4矩阵开关控制数码管显示0-F
- 下一篇:发送数据到剪贴板及从剪贴板获取数据
评论
共有 条评论