頁面調度算法——FIFO

在計算機中,頁式虛擬存儲器實現的一個難點是設計頁面調度(置換)算法。其中一種實現方式是FIFO算法。
FIFO算法根據頁面進入內存的時間先後選擇淘汰頁面,先進入內存的頁面先淘汰,後進入內存的後淘汰。
假設Cache的大小爲2,有5個頁面請求,分別爲 2 1 2 3 1,則Cache的狀態轉換爲:(2)->(2,1)->(2,1)->(1,3)->(1,3),其中第1,2,4次缺頁,總缺頁次數爲3。

現在給出Cache的大小n和m個頁面請求,請算出缺頁數。

package demo;

import java.util.ArrayList;
import java.util.Scanner;

public class Demo0615_2 {
	public static void main(String[] args) {
		 Scanner s=new Scanner(System.in);
	        while(s.hasNext()){
	            int space=s.nextInt();
	            int n=s.nextInt();
	            ArrayList<Integer> list=new ArrayList<Integer>();
	            int res=0;
	            for(int i=0;i<n;i++){
	                int temp=s.nextInt();
	                if(list.contains(temp))
	                    continue;
	                else{
	                    res++;
	                    list.add(temp);
	                }
	                if(list.size()>space)
	                    list.remove(0);
	            }
	            System.out.println(res);
	        }
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章