⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 form1.vb

📁 操作系统页面置换算法的大概。未完成。希望大家能完成
💻 VB
字号:
Public Class Form1
    Dim x As Integer
    Dim i As Integer
    Dim y As Integer
    Dim j As Integer
    Dim ss(x) As Integer
    Dim aa(y) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        clear()
        If (Me.wlktxt.Text = "" And Me.ymzstxt.Text = "") Then
            MessageBox.Show("物理块数,页面总数不能为空!")
            Exit Sub
        End If
        If (Me.wlktxt.Text >= Me.ymzstxt.Text) Then
            MessageBox.Show("页面总数小于物理块数,不需要置换!")
            Exit Sub
        End If
        Command1_Click()
        FiFo()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        clear()
        If (Me.wlktxt.Text = "" And Me.ymzstxt.Text = "") Then
            MessageBox.Show("物理块数,页面总数不能为空!")
            Exit Sub
        End If
        If (Me.wlktxt.Text >= Me.ymzstxt.Text) Then
            MessageBox.Show("页面总数小于物理块数,不需要置换!")
            Exit Sub
        End If
        Command1_Click()
        LRU()
    End Sub
    Private Sub Command1_Click()
        Dim rand = New System.Random()
        x = Int(Val(Me.ymzstxt.Text))
        ReDim ss(x)
        For i = 0 To x - 1
            ss(i) = rand.Next(1, 9)
        Next
        For i = 0 To x - 1
            Me.TextBox3.Text += ss(i).ToString + " "
        Next

    End Sub
    Public Sub FiFo()
        Dim k As Integer
        k = 0
        x = Int(Val(Me.ymzstxt.Text))
        y = Int(Val(Me.wlktxt.Text))
        ReDim aa(y)
        For i = 0 To y - 1
            aa(i) = 0
        Next


        For j = 0 To x - 1
            For i = 0 To y - 1
                If (ss(j) <> aa(i)) Then
                    If (aa(i) = 0) Then
                        aa(i) = ss(j)
                        k = (i + 1) Mod y
                        i = y
                    Else
                        If (i = y - 1) Then
                            aa(k) = ss(j)
                            k = (k + 1) Mod y
                        End If
                    End If
                Else
                    aa(i) = ss(j)
                    k = (i + 1) Mod y
                    i = y

                End If
            Next
            Dim a As Integer
            For a = 0 To y - 1
                Me.RichTextBox1.Text += aa(a).ToString + " "
            Next
            Me.RichTextBox1.Text += vbNewLine
        Next
    End Sub
    Public Sub LRU()
        Dim k As Integer
        x = Int(Val(Me.ymzstxt.Text))
        y = Int(Val(Me.wlktxt.Text))
        ReDim aa(y)
        For i = 0 To y - 1
            aa(i) = 0
        Next
        For j = 0 To x - 1
            For i = 0 To y - 1
                If (ss(j) <> aa(i)) Then
                    If (aa(i) = 0) Then
                        aa(i) = ss(j)
                    End If
                End If
            Next
        Next


    End Sub
    Public Sub clear()
        Me.TextBox3.Text = ""
        Me.RichTextBox1.Text = ""
    End Sub
End Class

⌨️ 快捷键说明

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