Skip to content

Latest commit

ย 

History

History
102 lines (51 loc) ยท 4.69 KB

Page Replacement Algorithm.md

File metadata and controls

102 lines (51 loc) ยท 4.69 KB

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜


ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋ฐœ์ƒ โ†’ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•จ โ†’ ํ˜„์žฌ ํ• ๋‹น๋œ ํŽ˜์ด์ง€ ์ค‘ ์–ด๋–ค ๊ฒƒ ๊ต์ฒดํ•  ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•


  • ์ข€ ๋” ์ž์„ธํ•˜๊ฒŒ ์ƒ๊ฐํ•ด๋ณด๋ฉด?

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์š”๊ตฌ ํŽ˜์ด์ง€ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋งŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ๊ทธ๋Œ€๋กœ ๋‘ 

ํ•˜์ง€๋งŒ ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋งŒ ์˜ฌ๋ ค๋„ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฒฐ๊ตญ ๊ฐ€๋“ ์ฐจ๊ฒŒ ๋˜๊ณ , ์˜ฌ๋ผ์™€์žˆ๋˜ ํŽ˜์ด์ง€๊ฐ€ ์‚ฌ์šฉ์ด ๋‹ค ๋œ ํ›„์—๋„ ์ž๋ฆฌ๋งŒ ์ฐจ์ง€ํ•˜๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Œ

๋”ฐ๋ผ์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฐ€๋“ ์ฐจ๋ฉด, ์ถ”๊ฐ€๋กœ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ ์•ˆ์“ฐ๋Š” ํŽ˜์ด์ง€๋Š” outํ•˜๊ณ , ํ•ด๋‹น ๊ณต๊ฐ„์— ํ˜„์žฌ ํ•„์š”ํ•œ ํŽ˜์ด์ง€๋ฅผ in ์‹œ์ผœ์•ผ ํ•จ

์—ฌ๊ธฐ์„œ ์–ด๋–ค ํŽ˜์ด์ง€๋ฅผ out ์‹œ์ผœ์•ผํ•  ์ง€ ์ •ํ•ด์•ผ ํ•จ. (์ด๋•Œ out ๋˜๋Š” ํŽ˜์ด์ง€๋ฅผ victim page๋ผ๊ณ  ๋ถ€๋ฆ„)

๊ธฐ์™•์ด๋ฉด ์ˆ˜์ •์ด ๋˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•ด์•ผ ์ข‹์Œ (Why? : ๋งŒ์•ฝ ์ˆ˜์ •๋˜๋ฉด ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋‚ด๋ณด๋‚ผ ๋•Œ, ํ•˜๋“œ๋””์Šคํฌ์—์„œ ๋˜ ์ˆ˜์ •์„ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆผ)

์ด์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ์ƒํ™ฉ์— ๋งž๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์กด์žฌํ•˜๋Š” ๊ฒƒ!


Page Reference String

CPU๋Š” ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ํŠน์ • ์ฃผ์†Œ๋ฅผ ์š”๊ตฌํ•จ

๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ์ฃผ์†Œ๋“ค์€ ํŽ˜์ด์ง€์˜ ๋‹จ์œ„๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ ๋•Œ๋ฌธ์— ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์—ฐ์†๋˜์–ด ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋˜๋ฉด ํŽ˜์ด์ง€ ๊ฒฐํ•จ ๋ฐœ์ƒ X

๋”ฐ๋ผ์„œ CPU์˜ ์ฃผ์†Œ ์š”๊ตฌ์— ๋”ฐ๋ผ ํŽ˜์ด์ง€ ๊ฒฐํ•จ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์€ ์ƒ๋žตํ•˜์—ฌ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ Page Reference String


  1. FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜

    First-in First-out, ๋ฉ”๋ชจ๋ฆฌ์— ๋จผ์ € ์˜ฌ๋ผ์˜จ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๋‚ด๋ณด๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

    victim page : out ๋˜๋Š” ํŽ˜์ด์ง€๋Š”, ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํŽ˜์ด์ง€

    ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ, ํŠนํžˆ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ์—์„œ ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์ž„

    ์ดˆ๊ธฐํ™” ์ฝ”๋“œ : ์ฒ˜์Œ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰๋  ๋•Œ ์ตœ์ดˆ ์ดˆ๊ธฐํ™”๋ฅผ ์‹œํ‚ค๋Š” ์—ญํ• ๋งŒ ์ง„ํ–‰ํ•˜๊ณ  ๋‹ค๋ฅธ ์—ญํ• ์€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋นผ๋„ ๊ดœ์ฐฎ์Œ

    ํ•˜์ง€๋งŒ ์ฒ˜์Œ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์‹œ์—๋Š” ๋ฌด์กฐ๊ฑด ํ•„์š”ํ•œ ์ฝ”๋“œ์ด๋ฏ€๋กœ, FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์ดˆ๊ธฐํ™”๋ฅผ ์‹œ์ผœ์ค€ ํ›„ ๊ฐ€์žฅ ๋จผ์ € ๋‚ด๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•จ



  1. OPT ์•Œ๊ณ ๋ฆฌ์ฆ˜

    Optimal Page Replacement ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์•ž์œผ๋กœ ๊ฐ€์žฅ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์žฅ ์šฐ์„ ์ ์œผ๋กœ ๋‚ด๋ณด๋ƒ„

    FIFO์— ๋น„ํ•ด ํŽ˜์ด์ง€ ๊ฒฐํ•จ์˜ ํšŸ์ˆ˜๋ฅผ ๋งŽ์ด ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

    ํ•˜์ง€๋งŒ, ์‹ค์งˆ์ ์œผ๋กœ ํŽ˜์ด์ง€๊ฐ€ ์•ž์œผ๋กœ ์ž˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ๋ณด์žฅ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜ํ–‰ํ•˜๊ธฐ ์–ด๋ ค์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž„


  1. LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜

    Least-Recently-Used, ์ตœ๊ทผ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๋‚ด๋ ค๋ณด๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ์ตœ๊ทผ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฉด, ๋‚˜์ค‘์—๋„ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์•„์ด๋””์–ด์—์„œ ๋‚˜์˜ด

    OPT์˜ ๊ฒฝ์šฐ ๋ฏธ๋ž˜ ์˜ˆ์ธก์ด์ง€๋งŒ, LRU์˜ ๊ฒฝ์šฐ๋Š” ๊ณผ๊ฑฐ๋ฅผ ๋ณด๊ณ  ํŒ๋‹จํ•˜๋ฏ€๋กœ ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    (์‹ค์ œ๋กœ๋„ ์ตœ๊ทผ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋Š” ์•ž์œผ๋กœ๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ํ™•๋ฅ ์ด ๋†’๋‹ค)

    OPT๋ณด๋‹ค๋Š” ํŽ˜์ด์ง€ ๊ฒฐํ•จ์ด ๋” ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์ง€๋งŒ, ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž„

๊ต์ฒด ๋ฐฉ์‹
  • Global ๊ต์ฒด

    ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค ํŽ˜์ด์ง€์— ๋Œ€ํ•ด ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹

  • Local ๊ต์ฒด

    ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ์ž๊ธฐ ํ”„๋กœ์„ธ์Šค ํŽ˜์ด์ง€์—์„œ๋งŒ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹

๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฒฝ์šฐ, ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์˜ฌ๋ผ์˜ฌ ์ˆ˜ ์žˆ์Œ

๋”ฐ๋ผ์„œ, ๋‹ค์–‘ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•จ

ํŽ˜์ด์ง€ ๊ต์ฒด ์‹œ, ๋‹ค์–‘ํ•œ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ™œ์šฉํ•ด victim page๋ฅผ ์„ ์ •ํ•˜๋Š”๋ฐ, ์„ ์ • ๊ธฐ์ค€์„ Global๋กœ ํ•˜๋Š๋ƒ, Local๋กœ ํ•˜๋Š๋ƒ์— ๋Œ€ํ•œ ์ฐจ์ด

โ†’ ์‹ค์ œ๋กœ๋Š” ์ „์ฒด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ด๋ผ๊ณ  ํ•จ. ์ž๊ธฐ ํ”„๋กœ์„ธ์Šค ํŽ˜์ด์ง€์—์„œ๋งŒ ๊ต์ฒด๋ฅผ ํ•˜๋ฉด, ๊ต์ฒด๋ฅผ ํ•ด์•ผํ•  ๋•Œ ๊ฐ๊ฐ ๋ชจ๋‘ ๊ต์ฒด๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋น„ํšจ์œจ์ 