Reasons for belady Phenomenon

Source: Internet
Author: User

During page replacement in the operating system, belady may occur when the FIFO algorithm is used. Don't you want to implement it? Are you not curious at all? It took me n minutes to figure out the rule. Let me tell you what's the fucking belady. the program Below is an example of 100 such phenomena. N people have never learned java. considering this, I have completely written it in the C language style. It's awkward. Simulate three or four pages in the memory, and use an array to represent X [3], Y [4]. It is empty at the beginning, and the number of record interruptions is x_time and y_time, respectively, the program will automatically generate random numbers. When x_time <y_time is known, the number is output (I set it to 1 to 10 ). In this case, a sequence lower than 11 cannot produce belady, but it may be, but my computer ran for an hour without output. The rule can be summarized if the belady phenomenon occurs. The principle is the same. Squeeze out the first element of the current y [], and then find the squeezed element, in this way, the effect of "regret" is achieved, and then a key number is set, which is the last one, which is used to exceed y_time, like the effect of setting up a mine, then, let's squeeze out the mines in Y [] and find the key number in the last part. The x_time is later than y_time. I am not clear about it here. I am very much looking forward to discussing it with linuxer ............
10 6 9 4 4 4 3 9 3 8 10 2 10 9 10 8 10 1 8 10 2 2 9 1
9 10 10 7 10 2 8 10 2 10 7 6 10 9 7 5 6
6 2 8 4 10 10 3 7 4 10 4 8 4 3 10 7 9 7 9 7 6 10 9
5 10 7 10 4 7 4 3 2 6 4 3 7 4 3 1 6 7
4 2 4 2 5 4 9 2 5 10 8 8 4 7 6 1 9 5 6 1 8 6 7 7 1 8 4 8
2 7 1 7 3 1 1 9 1 5 5 5 10 7 4 8 3 6 8 10 10 8 9 8 4 3 5 5 9
5 4 5 6 9 9 8 7 6 9 4 6 8 9 7 7 4
10 7 5 1 4 3 7 8 3 3 3 7 3 5 7 3 5 2 7 8 5
5 2 5 6 3 6 10 3 3 4 10 7 8 10 4 8 4 8 6 10 3 6 5 6
5 2 6 5 5 4 10 3 9 4 2 3 4 9 5 3 1 9 2 5
6 3 10 6 10 9 9 2 2 7 8 6 6 6 5 5 5 6 5 4 3 6 4 1 7 3
10 7 3 5 10 7 7 10 9 10 2 7 5 9
3 7 9 9 6 3 7 4 3 4 7 10 7 10 7 9 4
9 6 7 4 2 10 2 3 5 4 4 2 8 10 4 4 4 5 4 3 4 7 5
7 2 9 7 3 5 3 2 9 8 2 4 9 1 4 8
2 1 7 6 1 1 6 1 10 2 6 1 10 5 2 3 8 6 2 10 8 6 10 5 8 6 9 7 5
9 3 6 6 3 1 1 1 1 9 3 1 2 2 2 9 3 6 1 2
6 7 1 6 7 5 10 10 3 6 2 7 6 3 6 10 3 6 5 7 10
2 6 6 6 1 1 5 1 2 6 7 2 4 6 7 8 7
1 3 3 1 5 9 6 10 3 2 9 3 3 3 2 2 1 3 2 2 2 5 9 1
8 2 10 6 7 10 5 8 6 7 2 7 6 6 3 3 4 2
1 7 2 2 1 9 5 5 4 6 6 2 8 9 4 8 3 8 9 6 6 8 9 3 6
3 6 7 1 7 9 4 3 5 4 1 4 10 10 3 1 8 1 8 3 1 8 9 1 6 8 8 7 9
8 6 1 5 10 8 5 2 5 10 10 4 5 1 10 2 4
8 3 4 3 10 3 2 4 10 5 4 10 5 8 5 1 5
5 1 2 3 6 7 3 6 7 1 10 6 7 8 6 7 5 7 4 8
3 3 6 8 7 10 9 3 7 9 7 10 2 7 7 8 10 4 2
1 2 10 1 4 5 6 5 4 4 10 3 9 4 8 1 3 4 8 9 4 5 8 9 7 9 3 5
2 1 3 7 2 3 1 10 2 1 3 6 10
8 1 1 3 10 7 3 1 10 3 7 5 1 5 5 9 7 5
4 10 5 7 1 10 5 8 10 5 2 8 4 8
8 8 6 8 5 8 8 8 10 7 8 4 2 5 5 5 5 4 6 8 4 1 7 6
6 4 2 1 3 4 4 4 3 4 9 4 2 9 2 2 1 3 9
7 8 10 3 9 5 1 10 9 5 7 9 5 8 3 7
8 7 2 9 3 8 3 7 6 9 8 4 8 7 7 7 7 5 3 4
6 1 9 8 3 10 8 1 2 1 4 9 10 7 6 9 10 8 9 1 10 7 8
7 8 10 10 5 2 10 8 5 10 10 7 8 8 10 1 10 2 7
1 8 1 10 10 5 1 10 1 8 8 5 4 1 8 10 6 10 4
4 4 4 9 6 9 4 8 4 9 3 4 1 1 9 1 8 3
1 2 1 1 9 3 4 7 7 5 8 6 5 6 8 9 8 3 5 8 4 1 3
2 9 6 7 9 8 9 9 5 6 6 6 1 6 4 5
10 1 8 6 7 5 9 8 6 7 3 4 6 7 10 6 10 7 1 1 7 1 5 10
6 5 2 10 6 5 4 6 5 5 1 1 7 4
6 6 5 5 7 1 10 7 2 8 5 2 7 6 1 8 9 6 1 3 3 6 3 6 1 10 3 8 3
9 8 3 3 9 10 6 6 7 9 8 6 7 6 8 6 4 7 2 3
8 4 10 9 8 4 9 3 8 1 4 2 3
9 3 1 10 9 10 3 5 9 9 4 3 8 5
3 2 4 10 2 2 2 8 4 4 5 2 5 3 10 5
10 1 1 1 10 2 10 10 3 8 1 2 7 2 1 1 1 3 4 4 4 7
7 4 5 2 7 4 7 6 7 8 4 2 2 6
3 6 7 8 2 6 7 4 6 7 3 2 4
5 3 3 1 1 2 4 10 4 1 2 2 2 2 2 2 2 6 6 10 7
3 4 5 8 8 8 1 5 5 1 1 2 4 3 5 6 2
2 7 5 10 4 8 9 7 2 4 9 7 7 1 9 3 7 1 6 1
2 8 2 4 1 9 4 7 10 3 6 6 3 7 3 10 8 10 7 10 4 9 8
4 9 5 8 4 5 9 7 9 6 7 7 10 7
7 4 1 10 4 4 2 8 2 6 3 2 8 9 9 2 8 1 9 8 5 9
3 7 4 7 9 9 9 3 7 3 5 7 5 7 3 7 1 9 5
8 9 1 7 6 9 6 1 5 9 4 1 3 5
2 8 4 6 7 2 2 4 4 4 4 7 7 6 4 9 4 1 6 5 9
9 10 6 3 9 10 4 4 4 10 9 10 2 6 2 4
6 10 4 7 6 10 1 1 6 10 1 4 7 1
1 3 8 3 9 10 1 1 4 1 5 4 10 1 2 10 1 8 7 2
1 4 6 7 3 4 3 6 10 4 2 6 2 7 10
6 8 3 4 7 10 9 9 3 4 10 9 1 10 9 7 8 1
7 8 4 5 6 3 9 3 10 3 5 2 10 5 5 9 10 7 9 10 8 1 8 7
1 4 5 10 10 9 4 10 9 5 9 7 4 5 2 9 9 7
1 9 1 5 3 1 9 3 1 8 8 1 9 8 4 8 7 8
9 10 1 9 7 9 10 6 9 10 2 6 5 6
4 6 9 5 8 2 6 1 8 8 2 9 8 2 3 9 5 9
8 5 3 5 5 1 9 2 6 8 6 6 6 2 8 2 2 2 9 3 2 5 2 1 5 1 3
6 2 9 7 6 2 5 6 3 2 7 3 7 5
9 5 9 1 10 10 7 9 8 3 3 2 8 1 1 4 2 1 2 1 8 2 1 8 3 6 8
4 5 6 2 3 4 10 4 4 4 1 4 10 8 4 10 4 9 1 8
6 3 8 7 2 2 2 2 4 2 6 9 4 7 8 6 9 2 6 3 9 10 2
7 2 8 10 10 3 2 4 4 4 2 3 6 3 8 5 3 2 6
4 1 7 10 2 9 10 9 5 10 2 8 10 3 2 7 3 8
7 8 10 5 10 1 9 6 5 1 3 5 1 7 8 3
6 8 2 8 9 2 4 10 6 3 4 10 5 4 5 7 10 2 5
9 1 10 7 8 6 1 1 7 8 1 8 2 8 7 8 10 1 2
2 8 2 1 7 10 3 6 4 9 5 6 9 5 4 9 10 4 5 3 4
10 6 2 4 1 8 9 4 1 4 2 4 1 4 7 10 7 2
8 9 6 4 7 1 6 4 5 6 2 4 9 5
1 3 2 8 6 5 1 4 1 9 3 4 6 3 3 7 5 3 6 10 3 6 5 10
9 8 3 1 2 8 3 2 7 8 5 5 3 9 7
2 9 8 6 6 5 6 1 5 6 5 1 5 4 3 5 1 3 9 5 1 7 4 9
3 3 8 1 6 6 2 8 1 9 8 3 1 10 9
6 1 5 2 1 6 1 9 6 9 8 1 3 9
10 2 10 3 8 5 6 8 3 8 4 3 9 8 4 10 4
10 2 3 9 1 2 3 4 2 6 3 9 4
6 5 2 8 9 4 5 2 2 2 9 9 4 7 9 4 4 10 10 7 8 7
1 3 4 8 9 6 9 5 8 9 10 8 9 8 6 2 10
9 10 10 1 8 4 8 1 10 1 2 10 2 1 4 6 4 2
3 7 3 1 6 2 8 9 2 6 2 9 4 2 4 4 6 2 3 8 4
1 7 10 3 4 8 3 9 3 9 8 9 9 4 4 5 4 3 6 4 1 5
7 2 7 5 6 6 3 4 9 8 6 3 1 9 6 9 3 4 6 3 2 5 4
4 1 8 4 9 7 10 9 8 9 4 8 5 9 6 4
3 7 9 6 3 7 7 10 3 10 7 1 5 5 10
3 3 4 2 1 2 3 4 4 4 4 4 3 7 9 4 5 7
2 3 9 6 6 5 5 5 9 6 7 9 4 6 8 7
4 9 7 9 6 3 3 9 4 6 6 9 10 6 1 9 6 7 9 4 6 1 7

Public class belady
{
Public static void main (string ARGs [])
{
Int num = 30;
Int m, n, k, in, I, j, x_time, y_time, Topp, total = 0;
Int [] x = {-1,-1,-1 };
Int [] Y = {-1,-1,-1,-1 };
Int [] TMP;
Boolean TF;
While (true)
{
TMP = new int [100];
K = num;
X_time = 0;
Y_time = 0;
Topp = 0;
For (I = 0; I <3; I ++)
X [I] =-1;
For (I = 0; I <4; I ++)
Y [I] =-1;
While (k --> 0)
{
In = (INT) (math. Random () * 10 + 1 );
TMP [Topp ++] = in;
TF = true;
For (I = 0; I <3; I ++)
{
If (X [I] <0)
{
X [I] = in;
X_time ++;
TF = false;
Break;
}
If (X [I] = in)
{
TF = false;
Break;
}
}
If (tf = true)
{
X [0] = x [1];
X [1] = x [2];
X [2] = in;
X_time ++;
}
TF = true;
For (I = 0; I <4; I ++)
{
If (Y [I] <0)
{
Y [I] = in;
Y_time ++;
TF = false;
Break;
}
If (Y [I] = in)
{
TF = false;
Break;
}
}
If (tf = true)
{
Y [0] = Y [1];
Y [1] = Y [2];
Y [2] = Y [3];
Y [3] = in;
Y_time ++;
}
If (x_time <y_time)
Break;
}
If (x_time <y_time)
{
Total ++;
For (I = 0; I <Topp; I ++)
System. Out. printf ("% d", TMP [I]);
System. Out. printf ("/N ");
If (total> 100)
Break;
}
}
}
}

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.