[์šด์˜์ฒด์ œ] 7. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ

1. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐœ๋…

์‹œ์Šคํ…œ ์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๊ฐ€ ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฐ์† ํ• ๋‹นํ•˜๊ธฐ์—๋Š” ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ์ œ์‹œ๋œ ๊ฒƒ์ด ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(virtual memory)์˜ ๊ฐœ๋…์ด๋‹ค.

 

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

 

์ด ๋•Œ, ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ๊ฐ€์ƒ ์ฃผ์†Œ(virtual address) ๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ์‹ค์ฃผ์†Œ(real address) ๋˜๋Š” ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ(physical address) ๋ผ๊ณ  ํ•œ๋‹ค.

 

๋˜ํ•œ ์‹คํ–‰ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐ€์ƒ์ฃผ์†Œ์˜ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ƒ์ฃผ์†Œ ๊ณต๊ฐ„(virtual address space) V ๋ผ๊ณ  ํ•˜๋ฉฐ, ํŠน์ • ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์‹ค์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ์‹ค์ฃผ์†Œ ๊ณต๊ฐ„(real address space) R ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์— ํ•„์š”ํ•œ ๊ณต๊ฐ„์ด ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ

 

ํ”„๋กœ์„ธ์Šค๋Š” ๊ฐ€์ƒ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜์ง€๋งŒ, ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์‹œ ๊ฐ€์ƒ์ฃผ์†Œ๋ฅผ ์‹ค์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค. ์ด๋ฅผ ์‚ฌ์ƒ(mapping) ์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ๋ณ€ํ™˜ ํ•จ์ˆ˜๋กœ ํ‘œ์‹œํ•œ๋‹ค.

 

 

์‚ฌ์ƒ์— ์˜ํ•ด ๊ฐ€์ƒ์ฃผ์†Œ๋ฅผ ์‹ค์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜ (Dynamic Address Translation, DAT) ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค์˜ ์—ฐ์†์ ์ธ ๊ฐ€์ƒ์ฃผ์†Œ๊ฐ€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์—์„œ๋„ ์—ฐ์†์ ์ผ ํ•„์š”๋Š” ์—†๋‹ค๋Š” ์ธ์œ„์  ์—ฐ์†์„ฑ(contiguity) ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฏ€๋กœ, ์‚ฌ์šฉ์ž๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ์—ผ๋ คํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

 

 

2. ๋ธ”๋ก ๋‹จ์œ„ ์ฃผ์†Œ ๋ณ€ํ™˜

๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•์€ ์ฃผ์†Œ ๋ณ€ํ™˜ ์‚ฌ์ƒํ‘œ(address translation mapping table) ๋ฅผ ์ด์šฉํ•˜๋Š”๋ฐ, ์ฃผ์†Œ ๋ณ€ํ™˜์ด ๋„ˆ๋ฌด ์ž‘์€ ๋‹จ์œ„๋กœ ์ด๋ฃจ์–ด ์ง„๋‹ค๋ฉด ์‚ฌ์ƒํ‘œ ์ž์ฒด๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๊ธฐ์–ต์žฅ์†Œ๊ฐ€ ์ปค์ง€๊ฒŒ ๋˜๋ฏ€๋กœ ์ •๋ณด๋ฅผ ๋ธ”๋ก ๋‹จ์œ„๋กœ ๋ถ„๋ฅ˜ํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค.

 

๋ธ”๋ก์€ ๋ธ”๋ก์˜ ๋ฒˆํ˜ธ b ์™€ ๋ธ”๋ก์˜ ์‹œ์ž‘์ ์œผ๋กœ๋ถ€ํ„ฐ์˜ ๋ณ€์œ„(displacement) d๋กœ ๊ตฌ์„ฑ๋œ ์ˆœ์„œ์Œ์œผ๋กœ ์ง€์ •๋œ๋‹ค.

 

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

 

๋ธ”๋ก์˜ ํฌ๊ธฐ๊ฐ€ ๋™์ผํ•˜๋‹ค๋ฉด ๊ทธ ๋ธ”๋ก์„ ํŽ˜์ด์ง€(page)๋ผ ๋ถ€๋ฅด๊ณ , ์ด๋Ÿฐ ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์„ฑ์„ ํŽ˜์ด์ง•(paging) ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ธ”๋ก์˜ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ์„ธ๊ทธ๋จผํŠธ(segment)๋ผ ํ•˜๊ณ , ์ด๋Ÿฐ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์„ฑ์„ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(segmentation) ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋‘ ๊ธฐ๋ฒ•์„ ํ˜ผ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

 

1. ํŽ˜์ด์ง• ๊ธฐ๋ฒ•

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ ์ • ํฌ๊ธฐ ๋ธ”๋ก, ํŽ˜์ด์ง€(page) ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๊ฐ€์ƒ์ฃผ์†Œ v๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ p ์™€ ๋ณ€์œ„ d ์˜ ์ˆœ์„œ์Œ v(p, d) ๋กœ ์ด๋ฃจ์–ด์ง„๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€์ƒ์ฃผ์†Œ v=(3, 8) ์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ 3๋ฒˆ์งธ ํŽ˜์ด์ง€์—์„œ 8๋ฐ”์ดํŠธ ๋–จ์–ด์ง„ ๊ณต๊ฐ„์— ์กด์žฌํ•˜๋Š” ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

๊ฐ€์ƒ์ฃผ์†Œ v=(3, 8) ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์˜ˆ์‹œ

 

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

 

ํŽ˜์ด์ง€๋ฅผ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์— ์ ์žฌํ•˜๋Š” ๊ฒƒ์€ ๋น„์–ด์žˆ๋Š” ์ž„์˜์˜ ํ”„๋ ˆ์ž„์— ์ ์žฌํ•˜๋ฉฐ, ์ด๋ฅผ ํŽ˜์ด์ง€ ์‚ฌ์ƒํ‘œ(mapping table) ์„ ํ†ตํ•ด ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

 

์‚ฌ์ƒํ‘œ๋ฅผ ์ง์ ‘ ์ด์šฉํ•˜์—ฌ ๋™์  ์ฃผ์†Œ๋ณ€ํ™˜์„ ํ•˜๋Š” ๊ฒƒ์„ ์ง์ ‘ ์‚ฌ์ƒ ๋ฐฉ์‹์ด๋ผ ํ•œ๋‹ค.

 

์ง์ ‘ ์‚ฌ์ƒ์„ ์ด์šฉํ•œ ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜์˜ ์˜ˆ์‹œ

 

๋˜ํ•œ ์—ฐ๊ด€๊ธฐ์–ต์žฅ์น˜(์ €์žฅ๋œ ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์—‘์„ธ์Šค ํ•˜๋Š” ๊ณ ์† ๋ฉ”๋ชจ๋ฆฌ์žฅ์น˜) ์— ์—ฐ๊ด€ ์‚ฌ์ƒํ‘œ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜์„ ํ•˜๋Š” ์—ฐ๊ด€ ์‚ฌ์ƒ ๋ฐฉ์‹์ด ์žˆ๋‹ค.

 

์—ฐ๊ด€ ์‚ฌ์ƒ์„ ์ด์šฉํ•œ ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜์˜ ์˜ˆ์‹œ

 

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

 

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

 

2.์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•

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

 

3. ํŽ˜์ด์ง•/์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ํ˜ผ์šฉ ๊ธฐ๋ฒ•

์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์˜ ๋…ผ๋ฆฌ์  ์žฅ์ ๊ณผ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์˜ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ธก๋ฉด์˜ ์žฅ์ ์„ ๋ชจ๋‘ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค.

 

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

 

3. ํŽ˜์ด์ง€ ํ˜ธ์ถœ๊ธฐ๋ฒ•

1. ์š”๊ตฌ ํŽ˜์ด์ง€ ํ˜ธ์ถœ๊ธฐ๋ฒ•

์š”๊ตฌ ํŽ˜์ด์ง€ ํ˜ธ์ถœ๊ธฐ๋ฒ•(demand page fetch strategy)๋Š”, ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ์š”๊ตฌ๊ฐ€ ์žˆ์„ ๋•Œ ์š”๊ตฌ ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

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

 

๋‹ค๋งŒ ์‹ค์ œ๋กœ ์‚ฌ์šฉ์ด ๋˜์–ด์•ผ ํ•˜๋Š” ์‹œ์ ์— ํ˜ธ์ถœ์ด ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์‹œ๊ฐ„ ๋„์ค‘ ํŽ˜์ด์ง€์˜ ๋ถ€์žฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

 

2. ์˜ˆ์ƒ ํŽ˜์ด์ง€ ํ˜ธ์ถœ ๊ธฐ๋ฒ•

์˜ˆ์ƒ ํŽ˜์ด์ง€ ํ˜ธ์ถœ๊ธฐ๋ฒ•(prepaging) ์ด๋ž€, ํ˜„ ์‹œ์ ์—์„œ ์—‘์„ธ์Šค ๋˜๊ณ  ์žˆ์ง€๋Š” ์•Š์ง€๋งŒ ๊ณง ์‚ฌ์šฉ๋  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ฏธ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฎ๊ธฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

์˜ˆ์ƒ์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ด๋ฃจ์–ด์กŒ๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์ด ๋‹จ์ ˆ๋˜์ง€ ์•Š์•„ ์‹คํ–‰์‹œ๊ฐ„์„ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

 

4. ํŽ˜์ด์ง€ ๊ต์ฒด๊ธฐ๋ฒ•

ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ๋Š” ๋ชจ๋“  ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ํšจ์œจ์ ์ธ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰์„ ์œ„ํ•ด์„œ๋Š” ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ์ ์ ˆํ•œ ํƒ€์ด๋ฐ์— ๊ต์ฒดํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

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

 

1. FIFO ํŽ˜์ด์ง€ ๊ต์ฒด

FIFO(First In First Out) ํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ•์€, ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์žฅ ์˜ค๋ž˜ ์žˆ์—ˆ๋˜ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. ๊ฐ„๋‹จํ•œ FIFO ํ๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„๋œ๋‹ค.

 

๋‹จ์ˆœํ•˜๊ฒŒ ๋“ค์–ด์˜จ ์‹œ๊ฐ„์— ์˜ํ•ด ๊ต์ฒด๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์•ž์œผ๋กœ๋„ ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ๋†’์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

 

ํ•ด๋‹น ๊ธฐ๋ฒ•์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ Belady์˜ ์ด์ƒํ˜„์ƒ(anomaly)์ด ์ผ์–ด๋‚œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Š” ํ”„๋กœ์„ธ์Šค์— ๋” ๋งŽ์€ ์ˆ˜์˜ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ํ• ๋‹นํ•  ๊ฒฝ์šฐ ์˜คํžˆ๋ ค ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ๋” ๋งŽ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

2. LRU ํŽ˜์ด์ง€ ๊ต์ฒด

LRU(Least Recently Used) ํŽ˜์ด์ง€ ๊ต์ฒด๊ธฐ๋ฒ•์€ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ต์ฒดํ•˜๋Š” ์ „๋žต์ด๋‹ค.

 

LRU ํŽ˜์ด์ง€ ๊ต์ฒด๊ธฐ๋ฒ•์€ ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ฒซ ๋ฒˆ์งธ๋Š” ๊ฐ ํŽ˜์ด์ง€๊ฐ€ ์ฐธ์กฐ๋  ๋•Œ ๋งˆ๋‹ค ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ, ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฆฌ์ŠคํŠธ๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ฐธ์กฐ๋˜๋Š” ํŽ˜์ด์ง€๋ฅผ ์„ ๋‘์˜ ์ธ๋ฑ์Šค๋กœ ์˜ฎ๊ธฐ๊ณ , ๊ต์ฒด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๊ฐ€์žฅ ํ›„๋ฏธ์˜ ์ธ๋ฑ์Šค ํŽ˜์ด์ง€๊ฐ€ ๊ต์ฒด ๋Œ€์ƒ์ด ๋œ๋‹ค.

 

LRU ๊ธฐ๋ฒ•์€ ๊ตญ๋ถ€์  ๊ฒฝํ—˜์— ์˜์กดํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ ํ™” ์›์น™์— ๊ทผ์‚ฌํ•œ ์„ ํƒ์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํŒ๋‹จ์ด ๋งž์ง€ ์•Š๋Š” ์ƒํ™ฉ๋„ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค. (์˜ˆ: 3๊ฐœ์˜ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์ด ์กด์žฌํ•˜๊ณ , 4๊ฐœ์˜ ํŽ˜์ด์ง€๊ฐ€ ๋ฃจํ”„๋˜๋Š” ๊ฒฝ์šฐ)

 

๋˜ํ•œ LRU ๊ธฐ๋ฒ•์€ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•˜๊ฑฐ๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋“ฑ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋ฏ€๋กœ ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

 

3. LFU ํŽ˜์ด์ง€ ๊ต์ฒด

LFU(Least Frequently Used) ํŽ˜์ด์ง€ ๊ต์ฒด๊ธฐ๋ฒ•์€, ์ฐธ์กฐ๋œ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

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

๋˜ํ•œ LRU ๊ธฐ๋ฒ•๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํŽ˜์ด์ง€ ํ˜ธ์ถœ ํšŸ์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ์•ผ ํ•˜๋ฏ€๋กœ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค.

 

4. NUR ํŽ˜์ด์ง€ ๊ต์ฒด

NUR(Not Used Recently) ํŽ˜์ด์ง€ ๊ต์ฒด๊ธฐ๋ฒ•์€ ์ฐธ์กฐ์™€ ์ˆ˜์ • ์—ฌ๋ถ€๋กœ ํŽ˜์ด์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค. LRU์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์ ์€ ์˜ค๋ฒ„ํ—ค๋“œ๋กœ ์ ์ ˆํ•œ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ์–ด ์‹ค์ œ๋กœ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

 

๊ฐ ํŽ˜์ด์ง€๋‹น 2๊ฐœ์˜ ํ•˜๋“œ์›จ์–ด ๋น„ํŠธ์ธ ์ฐธ์กฐ ๋น„ํŠธ(referenced bit) r๊ณผ ์ˆ˜์ • ๋น„ํŠธ(modified bit) m์„ ๋‘๊ณ  ๊ฐ๊ฐ ์ฐธ์กฐ, ์ˆ˜์ •์ด ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋น„ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

ํŽ˜์ด์ง€ ๊ต์ฒด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ์ฐธ์กฐ์™€ ์ˆ˜์ •์ด ์ผ์–ด๋‚˜์ง€ ์•Š์€ ์ˆœ์„œ๋Œ€๋กœ ํ˜ธ์ถœํ•˜์—ฌ ๊ต์ฒดํ•œ๋‹ค.

 

5. 2์ฐจ ๊ธฐํšŒ ํŽ˜์ด์ง€ ๊ต์ฒด

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

ํ•ด๋‹น ๊ต์ฒด๊ธฐ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋”ฐ๋ฅธ๋‹ค.

  1. FIFO ํ์˜ ์„ ๋‘ ํ•ญ๋ชฉ์„ ๊บผ๋‚ด ์ฐธ์กฐ ๋น„ํŠธ๋ฅผ ์กฐ์‚ฌ
  2. ์ฐธ์กฐ ๋น„ํŠธ๊ฐ€ 0 ์ด๋ฉด ๊ทธ ํ”„๋ ˆ์ž„์„ ๊ต์ฒด ๋Œ€์ƒ์œผ๋กœ ์„ ํƒ
  3. ์ฐธ์กฐ ๋น„ํŠธ๊ฐ€ 1 ์ด๋ฉด 0 ์œผ๋กœ ์ˆ˜์ • ํ›„ FIFO ํ์˜ ๋งจ ๋’ค๋กœ ๋ณด๋ƒ„

 

6. ํด๋Ÿญ ํŽ˜์ด์ง€ ๊ต์ฒด

ํด๋Ÿญ ํŽ˜์ด์ง€ ๊ต์ฒด๊ธฐ๋ฒ•(clock page replacement) ๋Š” 2์ฐจ ๊ธฐํšŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณ€ํ˜•์œผ๋กœ 2์ฐจ ๊ธฐํšŒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ FIFO ํ๋ฅผ ์›ํ˜• ํ๋กœ ์ˆ˜์ • ํ•œ ๊ธฐ๋ฒ•์ด๋‹ค.

 

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

 

7. ํ”„๋กœ์„ธ์Šค๋ณ„ ํŽ˜์ด์ง€ ์ง‘ํ•ฉ ๊ด€๋ฆฌ

ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์— ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ํŽ˜์ด์ง€์˜ ์ง‘ํ•ฉ์ด ์ ์„ ๊ฒฝ์šฐ, ์ ์žฌํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋งŽ์•„์ ธ์„œ ์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์ฆ๋Œ€๋  ์ˆ˜ ์žˆ๋‹ค.

 

ํ•˜์ง€๋งŒ ๊ฐ ํ”„๋กœ์„ธ์Šค ๋ณ„๋กœ ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค ๋ณ„ ์„ฑ๋Šฅ์€ ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ฑ์งˆ์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๊ฐ ํ”„๋กœ์„ธ์Šค๋ณ„ ํŽ˜์ด์ง€ ์ง‘ํ•ฉ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋‘๊ฐ€์ง€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์žˆ๋‹ค.

 

 

1) ์›Œํ‚น์„ธํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

์›Œํ‚น์„ธํŠธ(working set) ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๊ธฐ๋ฒ•์—์„œ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์ฃผ ์ฐธ์กฐํ•˜๋Š” ํŽ˜์ด์ง€ ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ์‹œ์Šคํ…œ์€ ์›Œํ‚น์„ธํŠธ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜์—ฌ ์›Œํ‚น์„ธํŠธ ํฌ๊ธฐ์— ์ถฉ๋ถ„ํ•œ ํ”„๋ ˆ์ž„์„ ํ• ๋‹นํ•˜์—ฌ์•ผ ํ•œ๋‹ค.

 

 

2) PFF ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ(page fault rate)์€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ• ํ™˜๊ฒฝ์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ž˜ ์‹คํ–‰๋˜๋Š”๊ฐ€์˜ ํ•œ ์ฒ™๋„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

๋”ฐ๋ผ์„œ ๋ถ€์žฌ๊ฐ€ ๋„ˆ๋ฌด ์ž์ฃผ ์ผ์–ด๋‚˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋„ˆ๋ฌด ์ ์€ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉฐ, ๋„ˆ๋ฌด ์ ์€ ๋ถ€์žฌ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ๋„ˆ๋ฌด ๊ณผํ•œ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•œ๋‹ค.

 

PFF ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„์— ๋Œ€ํ•œ ์ƒํ•œ๊ณผ ํ•˜ํ•œ์„ ๋‘๊ณ , ํ”„๋กœ์„ธ์Šค ๋ณ„ ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„๋ฅผ ์ธก์ •ํ•˜์—ฌ ์ƒํ•œ๋ณด๋‹ค ๋†’์•„์ง€๋ฉด ์ƒ์ฃผ ํŽ˜์ด์ง€ ์„ธํŠธ๋ฅผ ๋Š˜๋ฆฌ๊ณ , ํ•˜ํ•œ๋ณด๋‹ค ๋‚ฎ์•„์ง€๋ฉด ํ˜ธ์ถœ๋˜์ง€ ์•Š์•˜๋˜ ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋‘ ์ œ๊ฑฐํ•œ๋‹ค.