lru.cs

来自「用C#写的关于虚拟存储器的算法」· CS 代码 · 共 87 行

CS
87
字号
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WindowsApplication1.classes;

namespace WindowsApplication1
{
    public partial class LRU : Form
    {
        public LRUC lru = new LRUC();
        public int next;
        public LRU()
        {
            InitializeComponent();
        }

        private void LRU_Load(object sender, EventArgs e)
        {
            next = 0;
            for (int i = 0; i < pageTable.lf.Count; i++)
            {
                listView1.Items.Add(pageTable.lf[i]._pageNumber.ToString());
                listView1.Items[i].SubItems.Add(pageTable.lf[i]._pageMark.ToString());
                listView1.Items[i].SubItems.Add(pageTable.lf[i]._memoryNumber.ToString());
                listView1.Items[i].SubItems.Add(pageTable.lf[i]._position.ToString());
                listView1.Items[i].SubItems.Add(pageTable.lf[i]._ifChange.ToString());
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (next < pageTable.li.Count)
            {
                instructionProgram ip = pageTable.li[next];
                lru.mekeFifo(ip);
                addInstruction ai = lru.lla[next];
                if (ai.OutNumber == -1)
                {
                    listView2.Items.Add(ai._operateCode);
                    listView2.Items[next].SubItems.Add(ai._pageNumber.ToString());
                    listView2.Items[next].SubItems.Add("");
                    listView2.Items[next].SubItems.Add(ai._position.ToString());
                }
                else
                {
                    listView2.Items.Add(ai._operateCode);
                    listView2.Items[next].SubItems.Add(ai._pageNumber.ToString());
                    listView2.Items[next].SubItems.Add(ai._outNumber.ToString());
                    listView2.Items[next].SubItems.Add(ai._position.ToString());
                }
            }
            next++;
            this.listBox1.Items.Clear();
            foreach (int i in lru.lruList)
            {
                this.listBox1.Items.Add(i.ToString());
            }
            this.listView1.Items.Clear();
            for (int i = 0; i < pageTable.lf.Count; i++)
            {
                if (pageTable.lf[i]._memoryNumber == -1 || pageTable.lf[i]._memoryNumber == 0)
                {
                    listView1.Items.Add(pageTable.lf[i]._pageNumber.ToString());
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._pageMark.ToString());
                    listView1.Items[i].SubItems.Add("");
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._position.ToString());
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._ifChange.ToString());
                }
                else
                {
                    listView1.Items.Add(pageTable.lf[i]._pageNumber.ToString());
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._pageMark.ToString());
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._memoryNumber.ToString());
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._position.ToString());
                    listView1.Items[i].SubItems.Add(pageTable.lf[i]._ifChange.ToString());
                }
            }



        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?