1. 程式人生 > >FIFO(First-In First-Out)先進先出頁面置換演算法詳解

FIFO(First-In First-Out)先進先出頁面置換演算法詳解

FIFO(First-In First-Out)先進先出頁面置換演算法:FIFO淘汰演算法總是淘汰最先裝入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面進行淘汰。該演算法實現只需把一個程序已調入記憶體的頁面,按訪問的時間先後順序連結成一個佇列,並設定一個指標,該指標始終指向“最老“的頁面。他的優點是比較容易實現,能夠利用主儲存器中頁面排程情況的歷史資訊,但是,他沒有反映程式的區域性性,因為最先調入主存的頁面,很可能也是經常要使用的頁面。

例如:

頁面走向:  4  3  2  1  4  3  5  4  3  2  1  5

時間短頁:  4  3  2  1  4  3  5  5  5  2  1  1

時間中頁:      4  3  2  1  4  3  3  3  5  2  2

時間長頁:          4  3  2  1  4  4  4  3  5  5

是否缺頁:  ╳  ╳  ╳   ╳  ╳   ╳  ╳   √   √   ╳   ╳  √

缺頁計數:  1  2  3  4  5  6  7       8  9

共產生缺頁中斷9次

開始時,記憶體中三個頁面初始為空,產生第1個缺頁中斷調入頁面4。同樣產生第2,3個缺頁中斷調入頁面2,3.此時三個記憶體頁全滿,在需要調入頁面1時,發現頁面4時間最長,故而產生第4個缺頁中斷,把頁面4換出,頁面1調入,同理產生第5,6,7中斷。接著需要頁面4,正好在記憶體,接著需要頁面3,也在記憶體。後面需要頁面2,產生第8個缺頁中斷,把頁面4換出,頁面2調入。以後同理。

相關推薦

FIFOFirst-In First-Out先進頁面置換演算法

FIFO(First-In First-Out)先進先出頁面置換演算法:FIFO淘汰演算法總是淘汰最先裝入記憶體的頁面,即選擇在記憶體中駐留時間最久的頁面進行淘汰。該演算法實現只需把一個程序已調入記憶體的頁面,按訪問的時間先後順序連結成一個佇列,並設定一個指標,該指標始終指

先進頁面置換演算法FIFO

演算法規則: 顧名思義,最早進來的元素,若發生缺頁要最先出去。   code: #include <iostream> #include <cstdlib> #include <vector> #include <cstdio&

最佳淘汰演算法OPT 先進演算法FIFO 最近最久未使用演算法LRU

#include<bits/stdc++.h> #define Del(a,b) memset(a,b,sizeof(a)) using namespace std; int a[4000]; //隨機生成的頁 int c;//使用者頁面容量 void i

佇列FIFO先進

首先引用《啊哈演算法》中的一個題,背景就不說了。大體意思就是輸入一串數字首先將第一個數字刪除,然後將第二個數放在末尾。依次迴圈,最後按照刪除的順序,把這些數連起來。 這裡然後引入佇列這個概念,佇列是一種特殊的線性結構,只允許在佇列的首部進行刪除操作->出隊,而在尾部進

啊哈演算法第二章 佇列 先進—隊 先進—棧

小哈的QQ號  我的實現方法 #include <stdio.h> int data1[100]; void cleandata(int data[],int n); int main(){     int data1[100]={9,8,7,6,5

SSDsingle shot multibox detector算法及Caffe代碼[轉]

作者 3.4 pdf 論文 做了 對比度調整 覆蓋 eccv 添加 這篇博客主要介紹SSD算法,該算法是最近一年比較優秀的object detection算法,主要特點在於采用了特征融合。 論文:SSD single shot multibox detector論文鏈接:h

FIFO佇列First In First Out和優先佇列

queue<型別名> q; q.size() — 返回佇列中元素個數 q.empty() — 若佇列為空,返回true ,否則返回false q.pop() — 刪除

作業系統之頁面置換演算法最佳置換OPT,先進FIFO,最近最久未使用LRU

最近學習作業系統時,實驗要求實現常見的三種頁面置換演算法,博主按照書上要求試著編寫,實現了案例,並記錄在部落格隨記中,以便後續自己複習並也給需要的同學分享參考一下!水平有限,若有錯,請悄悄告訴博主!博主好立即改正。 最佳置換演算法(optimal replacement,OPT)是從記憶體中選擇今後不再訪問

操作系統之頁面置換算法最佳置換OPT,先進FIFO,最近最久未使用LRU

分享圖片 pan 圖片 return ror lru placement define 元組 最近學習操作系統時,實驗要求實現常見的三種頁面置換算法,博主按照書上要求試著編寫,實現了案例,並記錄在博客隨記中,以便後續自己復習並也給需要的同學分享參考一下!水平有限,若有錯,請

作業系統頁面置換演算法先進FIFO演算法

import java.util.LinkedList; import java.util.List; public class FIFO {public static void main(String[] args) {int framesize = 5;   //幀數量int[] s = { 1, 2,

java建立觸發器失敗Missing IN or OUT parameter at index:: 1

觸發器程式碼如下: create or replace trigger trigger_33zOtisNB5cZ_LMAhwtmDg before insert or update of STUNAM

JAVA 頁面置換先進演算法FIFO

設計四:頁面置換設計目的:加深對請求頁式儲存管理實現原理的理解,掌握頁面置換演算法。設計內容:    設計一個程式,有一個虛擬儲存區和記憶體工作區,實現下述三種演算法中的任意兩種,計算訪問命中率(命中率=1-頁面失效次數/頁地址流長度)。附加要求:能夠顯示頁面置換過程。演算法

PHP使用數組實現隊列實際就是先進怎樣實現

建設 堆棧 spa pop copy popu 第一個元素 復制代碼 ng- PHP的數組處理函數還能夠將數組實現隊列,堆棧是“先進後出”。在堆棧中,最後壓入的數據(進棧),將會被最先彈出(出棧)。而隊列是先進先出。就如同銀行的排號機 PHP中將數組當做一

方程的解數meet in the middle

分開 open color getchar() printf HA ddl work space 題目鏈接:http://cogs.pro:8080/cogs/problem/problem.php?pid=304   題解:   直接搜索(枚舉)復雜度為O(

子集狀態壓縮meet in the middle

cout 枚舉集合 格式 long long void sub The oid namespace 子集 【問題描述】 R 君得到了?個集合,???共有 n 個正整數。 R 君對這個集合很感興趣。 R 君通過努?鉆研,發現了這個集合?共有 2n 個子集。 現在 R 君又對這

nginx代理 前端埠不能正常訪問504 Gateway Time-out 一個可能的原因

在使用angular架構時,遇到了前端埠不能正常訪問,(504 Gateway Time-out)的問題,搜了很多方法都不對,最後才發現原來是自己曾執行nginx但沒有主動關閉。 開啟工作管理員看一下,正常情況下nginx的程序只有5個,如果多次開啟nginx,並且沒有正常stop它(ng

java實現自定義佇列先進

題目:java實現自定義佇列(先進先出) 主類: import java.util.LinkedList; public class Main { public static void main(String[] args) { DuiLie dl

unity內購-Google支付unity In-App Purchasing

unity In-App Purchasing 支付 支援二次驗證,json解析完之後,把解析出來的引數發給伺服器,因為是unity封裝的sdk,code引數需要在購買成功之後的回撥裡給伺服器發個int型別的引數,賦值為零。伺服器要接Google源生的; 如果有不明白的加QQ群:636926

作業系統- 實驗四 模擬FIFO頁面置換演算法Java實現

                                          &