๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • Dev Blog
CS/์šด์˜์ฒด์ œ

[์šด์˜์ฒด์ œ] ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜

by ์œ ์ง„์˜ 2023. 5. 20.
ํŒจ์ŠคํŠธ์บ ํผ์Šค ์šด์˜์ฒด์ œ ๊ฐ•์˜์™€ ์‰ฝ๊ฒŒ ๋ฐฐ์šฐ๋Š” ์šด์˜์ฒด์ œ ๊ต์žฌ์— ๋Œ€ํ•œ TIL์ž…๋‹ˆ๋‹ค.

 


์ €๋ฒˆ ํฌ์ŠคํŒ…์€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ž‘์—… ์ค‘ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€์ ธ์˜ค๊ธฐ(Fetch) ์ •์ฑ…์— ๊ด€ํ•œ ๊ฒƒ์ด์—ˆ๋‹ค๋ฉด, ์ด๋ฒˆ ํฌ์ŠคํŒ…์€ ๋ฉ”๋ชจ๋ฆฌ ์žฌ๋ฐฐ์น˜(Replacement) ์ •์ฑ…์— ๊ด€ํ•œ ๊ฒƒ์ด๋‹ค.

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

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•ต์‹ฌ์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์•ž์œผ๋กœ ์‚ฌ์šฉํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์ ์€ ํŽ˜์ด์ง€๋ฅผ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •ํ•˜์—ฌ ํŽ˜์ด์ง€ ๋ถ€์žฌ๋ฅผ ์ค„์ด๊ณ  ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ, ์ด์— ๋Œ€ํ•œ ๊ตฌํ˜„ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์•„๋ž˜์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋งŒ๋“ค์–ด์กŒ๋‹ค.


์•ž์œผ๋กœ ์†Œ๊ฐœ๋  ๋ชจ๋“  ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์ˆœ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋Š” 3๊ฐœ์˜ ํ”„๋ ˆ์ž„์„ ๊ฐ€์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๊ฒƒ์ด๋ฏ€๋กœ ์ฐธ๊ณ ํ•˜๊ณ  ์ฝ์–ด์ฃผ๊ธธ ๋ฐ”๋ž€๋‹ค. ํŽ˜์ด์ง€๋Š” ๋ฒˆํ˜ธ ๋Œ€์‹  ์•ŒํŒŒ๋ฒณ์„ ์‚ฌ์šฉํ•œ๋‹ค.


๋ฌด์ž‘์œ„ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(Random)

๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์Šค์™‘ ์•„์›ƒ๋  ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ํŠน๋ณ„ํ•œ ๋กœ์ง ์—†์ด ๋ฌด์ž‘์œ„๋กœ ์„ ์ •ํ•œ๋‹ค. ๋‹น์—ฐํžˆ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š์•„ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.


FIFO ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(First In First Out)

์‹œ๊ฐ„์ƒ์œผ๋กœ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ํŽ˜์ด์ง€๋ฅผ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •ํ•˜์—ฌ ์Šค์™‘ ์•„์›ƒ์‹œํ‚จ๋‹ค. ํŽ˜์ด์ง€ ๋ถ€์žฌ์ผ ๋•Œ๋Š” F, ์›ํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” S๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ๋‹ค.


ํ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์–ด, ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋Š” ํ•ญ์ƒ ๋งจ ์•„๋ž˜์— ์‚ฝ์ž…๋˜๋Š”๋ฐ, ์ด๋•Œ, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฝ‰ ์ฐจ๋ฉด, ๋งจ ์œ„์˜ ํŽ˜์ด์ง€๊ฐ€ ์Šค์™‘ ์•„์›ƒ๋˜๊ณ  ๋‚˜๋จธ์ง€ ํŽ˜์ด์ง€๋“ค์ด ์œ„์ชฝ์œผ๋กœ ์ด๋™ํ•˜์—ฌ, ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๊ฐ€ ๋งจ ์•„๋ž˜๋กœ ๋“ค์–ด์˜จ๋‹ค.

์ด ๊ทธ๋ฆผ์—์„œ๋Š” ์ด ์—ด ๋ฒˆ์˜ ํŽ˜์ด์ง€ ์š”๊ตฌ์— ๋Œ€ํ•ด ์„ธ ๋ฒˆ๋งŒ ์„ฑ๊ณตํ•˜๊ณ , ํŽ˜์ด์ง€ ๋ถ€์žฌ๋Š” ์ผ๊ณฑ ๋ฒˆ ๋ฐœ์ƒํ–ˆ๋‹ค. ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ์•ž์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ์Šค์™‘ ์•„์›ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ๋ฐ, FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ทธ๋ ‡์ง€ ์•Š๋‹ค. ๋”ฐ๋ผ์„œ, ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง„๋‹ค.

์ตœ์  ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(Optimal)

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


4๋ฒˆ ์‹œ์ ์—์„œ ์ดํ›„์— A์™€ B ํŽ˜์ด์ง€๊ฐ€ ์‚ฌ์šฉ๋  ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— C ํŽ˜์ด์ง€๋ฅผ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •ํ•ด ์Šค์™‘ ์•„์›ƒ์‹œํ‚จ๋‹ค.

ํ•˜์ง€๋งŒ, ์ตœ์  ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์–ด๋””๊นŒ์ง€๋‚˜ ์ด์ƒ์ ์ธ ๋ฐฉ๋ฒ•์ด๋ฏ€๋กœ ์‹ค์ œ๋กœ๋Š” ๋ฏธ๋ž˜์˜ ์ ‘๊ทผ ํŒจํ„ด์„ ์•Œ๊ณ  ๊ตฌํ˜„ํ•  ์ˆ˜๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ, ๋‹ค์Œ์— ์†Œ๊ฐœ๋  ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ์ตœ์  ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๊ทผ์ ‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์—ฐ๊ตฌํ•œ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด๋‹ค.

์ด๋Ÿฌํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์€ ๊ณผ๊ฑฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋ฏธ๋ž˜์˜ ์ ‘๊ทผ ํŒจํ„ด์„ ์ถ”์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์  ๊ทผ์ ‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜(Optimal Approximation Algorithm)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

LRU ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(Least Recently Used)

๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํ›„ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์Šค์™‘ ์•„์›ƒ์‹œํ‚ค๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋”ฐ๋ผ ๊ตฌํ˜„ ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ด๋‹ค.

 

ํŽ˜์ด์ง€ ์ ‘๊ทผ ์‹œ๊ฐ„์— ๊ธฐ๋ฐ˜ํ•œ ๊ตฌํ˜„

๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ฒŒ ํŒ๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•œ ์‹œ๊ฐ์„ ๊ธฐ๋กํ•˜์—ฌ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์„œ ๊ฐ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•œ ์‹œ๊ฐ์„ ๊ธฐ๋กํ•œ๋‹ค. 4๋ฒˆ ์‹œ์ ์—์„œ ๊ฐ€์žฅ ํŽ˜์ด์ง€ ์ ‘๊ทผ ์‹œ๊ฐ„์ด ์ ์€ ํŽ˜์ด์ง€๋Š” A์ด๋‹ค. ๋”ฐ๋ผ์„œ, ํŽ˜์ด์ง€ A๋ฅผ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •ํ•˜์—ฌ ์Šค์™‘ ์•„์›ƒ์‹œํ‚ค๊ณ  ๊ทธ ์ž๋ฆฌ์— ํŽ˜์ด์ง€ D๋ฅผ ์Šค์™‘ ์ธ์‹œํ‚จ๋‹ค.

 

์นด์šดํ„ฐ์— ๊ธฐ๋ฐ˜ํ•œ ๊ตฌํ˜„

๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์นด์šดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ฆ‰, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์„œ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•œ ์‹œ๊ฐ์ด ์•„๋‹Œ, ๋ช‡ ๋ฒˆ์งธ๋กœ ์ ‘๊ทผํ–ˆ๋Š”์ง€๋ฅผ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์‚ฌ์‹ค์ƒ, ํŽ˜์ด์ง€ ์ ‘๊ทผ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹์ด๋ž‘ ๋‹ค๋ฅผ ๋ฐ”๊ฐ€ ์—†๋‹ค. ์ด ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์ถ”๊ฐ€๋กœ ๋” ๋“ค์–ด๊ฐ„๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.

 

์ฐธ์กฐ ๋น„ํŠธ ์‹œํ”„ํŠธ ๋ฐฉ์‹

๊ฐ ํŽ˜์ด์ง€์— ์ผ์ • ํฌ๊ธฐ์˜ ์ฐธ์กฐ ๋น„ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฐธ์กฐ ๋น„ํŠธ์˜ ์ดˆ๊นƒ๊ฐ’์€ 0์ด๋ฉฐ ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค 1๋กœ ๋ฐ”๋€๋‹ค. ๋˜ํ•œ, ์ฐธ์กฐ ๋น„ํŠธ๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ ํ•œ ์นธ์”ฉ ์˜ค๋ฅธ์ชฝ ์‹œํ”„ํŠธ(>>) ๋œ๋‹ค.

 

 

์ด์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ฐธ์กฐ ๋น„ํŠธ๋ฅผ ๊ฐฑ์‹ ํ•˜๋‹ค๊ฐ€ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์œผ๋ฉด ์ฐธ์กฐ ๋น„ํŠธ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •ํ•œ๋‹ค. ์œ„ ๊ทธ๋ฆผ์—์„œ (c) ์‹œ์ ์—์„œ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋‹น์—ฐํžˆ C < A < B์ด๋ฏ€๋กœ C๊ฐ€ ๋Œ€์ƒ ํŽ˜์ด์ง€๊ฐ€ ๋œ๋‹ค.

 

์ฐธ์กฐ ๋น„ํŠธ ์‹œํ”„ํŠธ ๋ฐฉ์‹์€ ๋‹ค์Œ์— ๋‚˜์˜ฌ ๊ฐ€์žฅ ์ ์€ ์ ‘๊ทผ ํšŸ์ˆ˜๋ฅผ ๊ฐ–๋Š” ํŽ˜์ด์ง€๋ฅผ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•˜๋Š” LFU ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ˜ผ๋™ํ•˜๊ธฐ ์‰ฝ๋‹ค. 

 

 

ํ•˜์ง€๋งŒ, ์œ„ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด ์—„์—ฐํžˆ LFU ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ€์žฅ ๋งŽ์€ ํŽ˜์ด์ง€ ์ ‘๊ทผ ํšŸ์ˆ˜๋ฅผ ๊ฐ€์ง„ ํŽ˜์ด์ง€ C์ž„์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํŽ˜์ด์ง€ A, B๋ณด๋‹ค ์˜ค๋žซ๋™์•ˆ ์ ‘๊ทผ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ์„ ์ฐธ์กฐ ๋น„ํŠธ ๊ฐ’์œผ๋กœ ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ํŽ˜์ด์ง€ C๊ฐ€ ์„ ์ •๋œ๋‹ค.

 

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

 

LFU ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(Least Frequently Used)

ํŽ˜์ด์ง€๊ฐ€ ๋ช‡ ๋ฒˆ ์‚ฌ์šฉ๋˜์—ˆ๋Š”์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•œ๋‹ค. ์ฆ‰, ํ˜„์žฌ ํ”„๋ ˆ์ž„์— ์žˆ๋Š” ํŽ˜์ด์ง€๋งˆ๋‹ค ๊ทธ๋™์•ˆ ์‚ฌ์šฉ๋œ ํšŸ์ˆ˜๋ฅผ ์„ธ์–ด ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ์Šค์™‘ ์•„์›ƒ์‹œํ‚จ๋‹ค.

 

 

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

 

๋”ฐ๋ผ์„œ, 4๋ฒˆ ์‹œ์ ์—์„œ๋Š” ํŽ˜์ด์ง€ A๊ฐ€ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •๋˜๊ณ , 6๋ฒˆ ์‹œ์ ์—์„œ๋Š” ํŽ˜์ด์ง€ A์™€ C์˜ ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ๊ฐ€์žฅ ์ ๊ณ  ๊ฐ™์•„ ํŽ˜์ด์ง€ A๊ฐ€ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •๋˜์—ˆ๋‹ค.

 

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์€ LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„์Šทํ•˜๋‹ค๊ณ  ์•Œ๋ ค์ ธ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ํŽ˜์ด์ง€ ์ ‘๊ทผ ํšŸ์ˆ˜(๋นˆ๋„)๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ฐ LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ถ”๊ฐ€ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ๋‚ญ๋น„๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋งŽ๋‹ค๋Š” ๋‹จ์ ์ด ์กด์žฌํ•œ๋‹ค.

 

NUR ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(Not Used Recently)

LRU, LFU ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์„ฑ๋Šฅ์ด ๊ฑฐ์˜ ๋น„์Šทํ•˜๋ฉด์„œ๋„ ๋ถˆํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋‚ญ๋น„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. NUR ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ์ถ”๊ฐ€์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ €๋ฒˆ ํฌ์ŠคํŒ…์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ PTE์˜ ์ ‘๊ทผ(์ฐธ์กฐ) ๋น„ํŠธ, ๋ณ€๊ฒฝ ๋น„ํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•œ๋‹ค.

 

์ ‘๊ทผ ๋น„ํŠธ๋Š” ํŽ˜์ด์ง€์— ์ ‘๊ทผ, ์ฆ‰ ์ฝ๊ธฐ(read)๋‚˜ ์‹คํ–‰(execute) ์—ฐ์‚ฐ์ด ๋˜๋ฉด 1์ด ๋˜๊ณ , ๋ณ€๊ฒฝ ๋น„ํŠธ๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ, ์ฆ‰ ์“ฐ๊ธฐ(write)๋‚˜ ์ถ”๊ฐ€(append) ์—ฐ์‚ฐ์ด ๋˜๋ฉด 1์ด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ, ์ดˆ๊ธฐ ์ƒํƒœ (0, 0)์—์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ '์ ‘๊ทผ'์ด ๋ฐœ์ƒํ•˜๋ฉด (1, 0), '๋ณ€๊ฒฝ'์ด ๋ฐœ์ƒํ•˜๋ฉด (0, 1)์ด ๋œ๋‹ค. ๋˜ํ•œ, ๋‘ ๊ฐ€์ง€ ์—ฐ์‚ฐ์ด ๋‹ค ๋ฐœ์ƒํ•˜๋ฉด (1, 1)์ด ๋œ๋‹ค.

 

 

์œ„ ๊ทธ๋ฆผ์€ NUR ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•˜๋Š” ์ˆœ์„œ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ˆœ์„œ๋ฅผ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ์šฐ์„  ๊ณ ๋ ค ๋Œ€์ƒ์€ ์ ‘๊ทผ(์ฐธ์กฐ) ๋น„ํŠธ์ด๋‹ค. ์ ‘๊ทผ ๋น„ํŠธ๊ฐ€ 0์ธ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ์ฐพ๊ณ , ์—†์œผ๋ฉด ๋ณ€๊ฒฝ ๋น„ํŠธ๊ฐ€ 0์ธ ํŽ˜์ด์ง€๋ฅผ ์ฐพ๋Š”๋‹ค.

 

๋งŒ์•ฝ, ๊ฐ™์€ ๋น„ํŠธ์˜ ํŽ˜์ด์ง€๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ๋ฌด์ž‘์œ„, FIFO ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์˜ ์ถ”๊ฐ€ ๊ธฐ์ค€์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•œ๋‹ค. ๋˜ํ•œ, ํ”ํ•œ ์ƒํ™ฉ์€ ์•„๋‹ˆ์ง€๋งŒ ๋งŒ์•ฝ ๋ชจ๋“  ํŽ˜์ด์ง€๊ฐ€ (1, 1)์ด๋ผ๋ฉด ๋ชจ๋“  ํŽ˜์ด์ง€ ๋น„ํŠธ๋ฅผ (0, 0)์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ NUR ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋™์ž‘ ๊ณผ์ •์ด๋‹ค. ๊ฐ™์€ ๋น„ํŠธ์˜ ํŽ˜์ด์ง€๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ ๋งจ ์œ„ ํŽ˜์ด์ง€๋ฅผ ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •ํ•œ๋‹ค๋Š” ๊ฐ€์ •์„ ์ฐธ๊ณ ํ•˜๊ณ  ๋ด์ฃผ๊ธธ ๋ฐ”๋ž€๋‹ค.

 

 

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์€ LRU, LFU ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ๋‚ญ๋น„๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์—†๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. ์ด ๊ต์žฌ์—์„œ๋Š” NUR์ด ์ด๋Ÿฌํ•œ ์žฅ์  ๋•Œ๋ฌธ์— ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค๊ณ  ํ–ˆ์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

 

NUR ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฑ„ํƒํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๊ฐ ํŽ˜์ด์ง€์˜ ์ฐธ์กฐ๋ฅผ ์œ ์ง€ ๋ฐ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๋น„ํŠธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€์ ์ธ ํ•˜๋“œ์›จ์–ด ์ง€์›์ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐ˜๋ฉด์—, LRU๋Š” LFU, NUR๋ณด๋‹ค ๊ตฌํ˜„์ด ๋น„๊ต์  ์‰ฝ๊ณ  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

FIFO ๋ณ€ํ˜• ์•Œ๊ณ ๋ฆฌ์ฆ˜

FIFO ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ณธ, ์ฆ‰ ํ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ํŽ˜์ด์ง€ ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ์ˆœ์„œ์˜ ๋ณ€ํ™”๋ฅผ ์ฃผ์–ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜๋“ค์ด๋‹ค.

 

2์ฐจ ๊ธฐํšŒ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(Second Chance)

ํŠน์ • ํŽ˜์ด์ง€์— ์ ‘๊ทผํ•˜์—ฌ ํŽ˜์ด์ง€ ๋ถ€์žฌ ์—†์ด ์„ฑ๊ณตํ•  ๊ฒฝ์šฐ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ํ์˜ ๋งจ ๋’ค๋กœ ์ด๋™ํ•˜์—ฌ ๋Œ€์ƒ ํŽ˜์ด์ง€์—์„œ ์ œ์™ธ, ์ฆ‰ ์„ฑ๊ณตํ•  ๊ธฐํšŒ๋ฅผ ํ•œ ๋ฒˆ ๋” ์ฃผ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ํ์˜ ๋งจ ๋’ค๋กœ ์˜ฎ๊ธฐ๋ฉด ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •๋  ํ™•๋ฅ ์ด ์ค„์–ด๋“œ๋Š” ํŠน์ง•์„ ์ด์šฉํ–ˆ๋‹ค.

 

 

5๋ฒˆ ์‹œ์ ์—์„œ ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ํ์˜ ๋งจ ์•ž์— ์žˆ๋˜ ํŽ˜์ด์ง€ B๋ฅผ ๋งจ ๋’ค๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์„ฑ๋Šฅ์€ LRU, LFU, NUR ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹ค ์•ฝ๊ฐ„ ๋‚ฎ๊ณ , FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜๋ณด๋‹จ ์•ฝ๊ฐ„ ๋†’๋‹ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ, ํ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋น„์šฉ์ด ๋†’๊ณ , ํŽ˜์ด์ง€๊ฐ€ ์„ฑ๊ณตํ•˜๋ฉด ํ์˜ ์ค‘๊ฐ„์— ์žˆ๋Š” ๊ฐ’์„ ๋งจ ๋’ค๋กœ ์ด๋™์‹œํ‚ค๋Š” ์ž‘์—…์ด ์ถ”๊ฐ€๋œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 

 

์‹œ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์›ํ˜• ํ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•˜๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

 

 

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

 

 
์œ„ ๊ทธ๋ฆผ์€ ์‹œ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋™์ž‘ ๊ณผ์ •์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค. ์‹œ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ PTE์˜ ์ ‘๊ทผ(์ฐธ์กฐ) ๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ฐธ์กฐ๋˜๋ฉด 0์—์„œ 1๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค.

 

4๋ฒˆ ์‹œ์ ์ฒ˜๋Ÿผ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฝ‰ ์ฐผ์„ ๊ฒฝ์šฐ ๋Œ€์ƒ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํฌ์ธํ„ฐ๊ฐ€ ์Šค์™‘ ์ธ์ด ๋˜์—ˆ์„ ๊ฒฝ์šฐ ๋ฐ‘์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ์ด๋•Œ, 9๋ฒˆ ์‹œ์ ์ฒ˜๋Ÿผ ์ฐธ์กฐ ๋น„ํŠธ๊ฐ€ 1์ธ ํŽ˜์ด์ง€๋Š” 0์œผ๋กœ ๋ฐ”๊ฟ”๋†“๊ณ  ๊ฑด๋„ˆ๋›ด๋‹ค.

 

์ฐธ๊ณ ๋กœ Linux, Windows, macOS์™€ ๊ฐ™์€ ๋Œ€ํ‘œ์ ์ธ ์šด์˜์ฒด์ œ๋“ค์€ LRU ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์‹œ๊ณ„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ˜ผ์šฉํ•ด์„œ ํŽ˜์ด์ง€ ๊ต์ฒด๋ฅผ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€๋ฅผ ์ฐพ๋Š” ๋ฐ์— ํšจ๊ณผ์ ์ด๊ณ , ์ตœ๊ทผ์— ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€๋ฅผ ๋ณด์กดํ•˜๋Š” ๋ฐ์— ํšจ๊ณผ์ ์ธ ๋‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์žฅ์ ์„ ์กฐํ•ฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๊ต์ฒด์˜ ํšจ์œจ์„ฑ์„ ๋†’์˜€๋‹ค๊ณ  ํ•œ๋‹ค.

๋Œ“๊ธ€