{
if (X[j].Num != -1) X[j].Timer++; }
//输出数据
for (j = 0; j < size; j++) {
if (X[j].Num != -1)
FIFO_label.Text += (X[j].Num - 48).ToString(); else
FIFO_label.Text += \; }
FIFO_label.Text += \;
}
FIFOlosepage = (float)losecount / (float)(page.Length);//缺页率
FIFO_label.Text += \访问次数是:\ + page.Length + \页面置换次数:\ + changecount + \缺页中断次数:\ + losecount + \缺页率是:\ + FIFOlosepage;
} }
(3)LRU置换算法
private void LRU_button1_Click(object sender, EventArgs e) {
if (page.Length == 0 || strsize.Length == 0)
MessageBox.Show(\输入得页面序列或物理块数不能为空\, \提示\, MessageBoxButtons.OK); else {
//初始化数据,并访问第一个页面,并输出访问结果 int i, j, u, losecount, changecount = 0; for (i = 0; i < size; i++) {
X[i].Num = -1; X[i].Timer = 0; }
X[0].Num = page[0]; X[0].Timer = 1; losecount = 1;
LRU_label.Text = \ + (X[0].Num - 48).ToString() + \; //循环,按照页面序列依次访问页面,并输出访问结果 for (i = 1; i < page.Length; i++) {
u = 0;
//如果内存中存在要访问的页面,则置Timer为0,u为1 for (j = 0