Computer Science/๐Ÿ”’ Operating System

[์šด์˜์ฒด์ œ] ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ - FIFO, OPT, LRU, NRU, LFU, MFU

J1Yun 2023. 3. 16. 17:33
728x90

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

ํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—†์„ ๋•Œ ํŽ˜์ด์ง€ ๋ถ€์žฌ(page fault)๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์š”์ฒญ๋œ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ฝ์–ด์™€์•ผ ํ•œ๋‹ค. ์ด๋•Œ, ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋นˆ ํ”„๋ ˆ์ž„์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ฌผ๋ฆฌ ๋งค๋ชจ๋ฆฌ ๋‚ด ํŽ˜์ด์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์„ ๋ณด๋‚ด์•ผ ํ•œ๋‹ค.(Swapping) ์ด๋ฅผ ํŽ˜์ด์ง€ ๊ต์ฒด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋‚ด ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์„ ์ตœ์†Œํ•˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์œผ๋กœ ๋ณด๋‚ผ ํŽ˜์ด์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

FIFO(First In First Out)

  • ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๋‚ด๋ณด๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜์ง€๋งŒ ํŽ˜์ด์ง€์˜ ํ–ฅํ›„ ์ฐธ์กฐ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋น„ํšจ์œจ์ ์ธ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
  • ๋“ค์–ด์˜จ ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์˜ฌ๋ผ์˜จ ์ˆœ์„œ๋ฅผ ํ๋ฅผ ์ด์šฉํ•ด ์ €์žฅ
  • Belady's Anomaly(FIFO Anomaly) ํ˜„์ƒ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
    • ๋ฉ”๋ชจ๋ฆฌ ์ฆ๊ฐ€๋กœ ๋” ๋งŽ์€ ํ”„๋ ˆ์ž„์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ๋„ ํŽ˜์ด์ง€ ๋ถ€์žฌ ํšŸ์ˆ˜๊ฐ€ ์˜คํžˆ๋ ค ์ฆ๊ฐ€ํ•˜๋Š” ์ด์ƒ ํ˜„์ƒ
    • ex) ํŽ˜์ด์ง€ ์ˆ˜๋ฅผ 3๊ฐœ์—์„œ 4๊ฐœ๋กœ ์ฆ๊ฐ€์‹œ๊ฒผ์Œ์—๋„ ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ๋” ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ

 

OPT(Optimal)

  • ์•ž์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ชจ๋“  ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ page-fault ๋ฐœ์ƒ์ด ๊ฐ€์žฅ ์ ์–ด ์„ฑ๋Šฅ์ด ์ข‹์Œ
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ํŽ˜์ด์ง€๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ค์›Œ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฑฐ์˜ ๋ถˆ๊ฐ€๋Šฅ

 

LRU(Least Recently Used)

  • ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ(๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์— ๋‹ค์‹œ ์ฐธ์กฐ๋œ ๊ฐ€๋Šฅ์„ฑ)์„ ๊ณ ๋ คํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜์ „์— ์ฐธ์กฐ๊ฐ€ ์ด๋ฃจ์–ด์ง„ ํŽ˜์ด์ง€๋ฅผ ๋‚ด๋ณด๋ƒ„
  • ์„ฑ๋Šฅ์ด ์ข‹์€ ํŽธ์œผ๋กœ ๋งŽ์€ ์šด์˜์ฒด์ œ๊ฐ€ ์ฑ„ํƒ
  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•ด์•ผํ•ด ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

 

NRU(Not Recently Used)

  • LRU์ฒ˜๋Ÿผ ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜์ง€๋งŒ ๊ต์ฒด๋˜๋Š” ํŽ˜์ด์ง€์˜ ์ฐธ์กฐ ์‹œ์ ์ด ๊ฐ€์žฅ ์˜ค๋ž˜๋˜์—ˆ์Œ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Œ
  • 'ํด๋Ÿญ ์•Œ๊ณ ๋ฆฌ์ฆ˜'์ด๋ผ๊ณ ๋„ ํ•จ
  • ์ตœ๊ทผ์— ์ฐธ์กฐ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•˜๋Š” 1๊ณผ ์ฐธ์กฐ๋˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•˜๋Š” 0 ์ฐธ์กฐ ๋น„ํŠธ(Reference Bit)๋ฅผ ์กฐ์‚ฌ
    1. ํ”„๋ ˆ์ž„ ๋‚ด์˜ ํŽ˜์ด์ง€๊ฐ€ ์ฐธ์กฐ๋  ๋•Œ ํ•˜๋“œ์›จ์–ด์— ์˜ํ•ด 1๋กœ ์ž๋™ ์„ธํŒ…
    2. ํด๋Ÿญ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ•œ ๋ฐ”ํ€ด ๋Œ์•˜์Œ์—๋„ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€์˜ ์ฐธ์กฐ ๋น„ํŠธ ๊ฐ’์„ 0์œผ๋กœ ๋ฐ”๊พผ ํ›„ ์ง€๋‚˜๊ฐ
    3. ์ฐธ์กฐ ๋น„ํŠธ๊ฐ€ 0์ธ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒด

 

LFU(Least Frequently Used)

  • ์ฐธ์กฐํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๊ต์ฒด ๋Œ€์ƒ์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒด
  • ๊ฐ€์žฅ ์ตœ๊ทผ์— ๋ถˆ๋Ÿฌ์˜จ ํŽ˜์ด์ง€๊ฐ€ ๊ต์ฒด๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด์— ๋”ฐ๋ฅธ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ

 

MFU(Most Frequently Used)

  • LFU์™€ ๋ฐ˜๋Œ€๋กœ ์ฐธ์กฐ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋งŽ์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
728x90