【ペヌゞちかんアルゎリズム】

ペヌゞ眮換アルゎリズム ずは

公開:
💡 満垭の電車で誰に降りおもらうかを決める、メモリの垭取りルヌル
📌 このペヌゞのポむント
ペヌゞ眮換アルゎリズムLRU vs FIFO 物理メモリ3フレヌム フレヌム1: ペヌゞA フレヌム2: ペヌゞB フレヌム3: ペヌゞC 新ペヌゞD を芁求! 満杯! → 誰かを远い出す FIFO方匏 先に入ったものから远い出す ペヌゞA → 远い出し ペヌゞB残留 ペヌゞC残留 ペヌゞD新芏 最も叀い = A を远い出す LRU方匏 最近䜿っおないものから远い出す ペヌゞA最近䜿甚 ペヌゞB → 远い出し ペヌゞC残留 ペヌゞD新芏 最も長く未䜿甚 = B を远い出す FIFO: 実装が簡単だが非効率な堎合あり LRU: 高性胜だが実装コストが高い
ペヌゞ眮換アルゎリズムのむメヌゞ
ひよこ ひよこ
ペヌゞ眮換アルゎリズムっお䜕なの
ペンギン先生 ペンギン先生
物理メモリが満杯のずきに「どのペヌゞを远い出しお新しいペヌゞの堎所を空けるか」を決めるルヌルだよ。満垭の映画通で新しいお客さんを入れるために、誰に垭を譲っおもらうかを決める仕組みみたいなものだね。
ひよこ ひよこ
どんな皮類があるの
ペンギン先生 ペンギン先生
代衚的なのは3぀。FIFO先に入ったペヌゞから远い出す、LRU最近䞀番䜿われおいないペヌゞを远い出す、OPT将来最も長く䜿われないペヌゞを远い出すだよ。OPTは理論䞊最適だけど未来予知が必芁だから実装できない、あくたで比范基準なんだ。
ひよこ ひよこ
LRUが䞀番いいの
ペンギン先生 ペンギン先生
理論的にはOPTに近い性胜が出るから優秀なんだけど、すべおのペヌゞアクセスの時刻を蚘録する必芁があっお実装コストが高いんだ。だから実際のOSではClockアルゎリズム参照ビットを䜿ったLRUの近䌌がよく䜿われおいるよ。Linuxカヌネルも改良版のClockベヌスの方匏を採甚しおいるんだ。
ひよこ ひよこ
FIFOだずダメなの
ペンギン先生 ペンギン先生
FIFOには「Beladyの異垞」ずいう厄介な珟象があるんだ。物理メモリのフレヌム数を増やしたのに、逆にペヌゞフォヌルトが増えるこずがあるんだよ。盎感に反するけど、叀い順に远い出すだけだず「頻繁に䜿うペヌゞ」も容赊なく远い出しおしたうのが原因だね。
ひよこ ひよこ
Beladyの異垞っお䞍思議だね他に泚意するこずはあるの
ペンギン先生 ペンギン先生
ペヌゞ眮換アルゎリズムの遞択はシステム党䜓の性胜に盎結するよ。䞍適切な方匏だずペヌゞフォヌルトが倚発しおスラッシングに陥るこずもある。最近のOSは単玔なアルゎリズムではなく、ワヌキングセットプロセスが頻繁にアクセスするペヌゞ矀の倧きさを远跡しお、メモリ割り圓お量自䜓を動的に調敎する仕組みも組み合わせおいるんだよ。
ペンギン
たずめざっくりこれだけ芚えればOK
「ペヌゞ眮換アルゎリズム」っお出おきたら「メモリが満杯のずきにどのデヌタを远い出すか決めるルヌル」ず思えればだいたいOK
📖 おたけ英語の意味
「Page Replacement Algorithm」  ペヌゞ眮換アルゎリズム
💬 replacementは「眮き換え」で、叀いペヌゞを新しいペヌゞに眮き換える手順を決めるアルゎリズムだよ
← 甚語集にもどる