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

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

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

 
ํ˜„๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ์™€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ฌ๋ผ๊ฐˆ ๋ฉ”๋ชจ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋„๋ก ์ง€์›ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
 

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ์™€ ์ฃผ์†Œ

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์–ด๋Š ์œ„์น˜์— ์žˆ๋Š”์ง€ ์ƒ๊ด€์—†์ด 0๋ฒˆ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ์—ฐ์†๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง„๋‹ค. ๊ฐ€์ƒ ์ฃผ์†Œ๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์•„๋‹Œ ๊ฐ€์ƒ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€์ง„๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํฌ๊ฒŒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
 

 
์ด๋ก ์ ์œผ๋กœ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๋Š” ๋ฌดํ•œ๋Œ€์ด์ง€๋งŒ, ์‹ค์ œ๋กœ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์ด ๊ฐ€์ง„ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋กœ ํ•œ์ •๋˜๋ฉฐ, CPU์˜ ๋น„ํŠธ์— ๋”ฐ๋ผ ๊ฒฐ์ •๋œ๋‹ค. 32bit CPU์˜ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋Š” 4GB์ด๋ฏ€๋กœ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” 4GB์ด์ง€๋งŒ, 4GB๋ณด๋‹ค ๋” ํฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ €์žฅ์žฅ์น˜ ์˜์—ญ์ธ ์Šค์™‘ ์˜์—ญ์œผ๋กœ ๋ถ€์กฑํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๋ณด์ถฉํ•œ๋‹ค.
 
๋”ฐ๋ผ์„œ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ „์ฒด ํฌ๊ธฐ๋Š” ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์™€ ์Šค์™‘ ์˜์—ญ์„ ํ•ฉํ•œ ํฌ๊ธฐ์ด๋‹ค. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ๋™์  ์ฃผ์†Œ ๋ณ€ํ™˜(DAT: Dynamic Address Translation)์ด๋ผ๊ณ  ํ•œ๋‹ค.
 
๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์ƒ ์ฃผ์†Œ๋Š” ์‹ค์ œ๋กœ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋‚˜ ์Šค์™‘ ์˜์—ญ ์ค‘ ํ•œ ๊ณณ์— ์œ„์น˜ํ•œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ผ๋Œ€์ผ๋กœ ๋งคํ•‘ํ•œ ํ…Œ์ด๋ธ”๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.
 

 
์œ„์˜ ๊ทธ๋ฆผ์€ ๋ฉ”๋ชจ๋ฆฌ ๋งคํ•‘ ํ…Œ์ด๋ธ”์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์œผ๋กœ, ๊ฐ€์ƒ ์ฃผ์†Œ๊ฐ€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์–ด๋Š ์œ„์น˜์— ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ๋งคํ•‘ ํ…Œ์ด๋ธ”์€ ๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์„ ์ด์šฉํ•œ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๋งคํ•‘ ํ…Œ์ด๋ธ”(Segmentation Mapping Table)์ด๋‹ค. ๋ฐ˜๋Œ€๋กœ, ๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹์„ ์ด์šฉํ•œ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ ์‚ฌ์šฉํ•˜๋Š” ํŽ˜์ด์ง• ๋งคํ•‘ ํ…Œ์ด๋ธ”(Paging Mapping Table)๋„ ์กด์žฌํ•œ๋‹ค.

์ด์ œ๋ถ€ํ„ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ž‘์—… ์ค‘ ๋ฉ”๋ชจ๋ฆฌ ๋ฐฐ์น˜(Placement)์™€ ๊ด€๋ จ๋œ ๋‘ ๊ฐ€์ง€ ์ •์ฑ…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.
 
 

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

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

ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์˜ ๊ตฌํ˜„

 

 
๊ฐ€์ƒ ์ฃผ์†Œ์˜ ๋ถ„ํ• ๋œ ๊ฐ ์˜์—ญ์„ ํŽ˜์ด์ง€๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ ์ฒซ ๋ฒˆ์งธ ์˜์—ญ์€ ํŽ˜์ด์ง€ 0, ๋‘ ๋ฒˆ์งธ ์˜์—ญ์€ ํŽ˜์ด์ง€ 1๊ณผ ๊ฐ™์ด ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ฒจ ๊ด€๋ฆฌํ•œ๋‹ค. ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ ์˜์—ญ์€ ๊ฐ€์ƒ ์ฃผ์†Œ์˜ ํŽ˜์ด์ง€์™€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋ ˆ์ž„์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ํ”„๋ ˆ์ž„๋„ ํŽ˜์ด์ง€์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋งค๊ฒจ ๊ด€๋ฆฌํ•œ๋‹ค. ํŽ˜์ด์ง€์™€ ํ”„๋ ˆ์ž„์˜ ํฌ๊ธฐ๋Š” ๊ฐ™๋‹ค.
 
ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Page Table)์€ ๋ชจ๋“  ํŽ˜์ด์ง€์˜ ์œ„์น˜ ์ •๋ณด(์ž์‹ ๊ณผ ๋งคํ•‘๋œ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ)๋ฅผ ๋‹ด๋Š”๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ํ•˜๋‚˜์˜ ์—ด๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๊ฐ๊ฐ์˜ ํ•œ ์ค„์„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์—”ํŠธ๋ฆฌ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. invalid๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ์Šค์™‘ ์˜์—ญ์— ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
 

ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์˜ ์ฃผ์†Œ ๋ณ€ํ™˜

 

 
์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„๊ณผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์„ 10B๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž. ๋งŒ์•ฝ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ƒ ์ฃผ์†Œ 18๋ฒˆ์— ์–ด๋–ค ๊ฐ’์„ ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค. ๋จผ์ €, ๊ฐ€์ƒ ์ฃผ์†Œ 18๋ฒˆ์ด ์–ด๋Š ํŽ˜์ด์ง€์— ์žˆ๋Š”์ง€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ์ฐพ๋Š”๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€์ƒ ์ฃผ์†Œ 18๋ฒˆ์ด ํ”„๋ ˆ์ž„ 3์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋‚ด๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ €์žฅํ•˜๋ ค๋Š” ๊ฐ’์„ ํ”„๋ ˆ์ž„ 3์˜ 8๋ฒˆ ์œ„์น˜์— ์ €์žฅํ•œ๋‹ค.
 
์ด๋Ÿฌํ•œ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ณผ์ •์„ ์ •ํ˜•ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ VA = <P, D>๋กœ ํ‘œํ˜„ํ•œ๋‹ค. P๋Š” ํŽ˜์ด์ง€, D๋Š” ํŽ˜์ด์ง€์˜ ์ฒ˜์Œ ์œ„์น˜์—์„œ ํ•ด๋‹น ์ฃผ์†Œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ(Distance)๋ฅผ ์˜๋ฏธํ•œ๋‹ค. D๋ฅผ ์˜คํ”„์…‹(Offset)์ด๋ผ๊ณ  ์ •์˜ํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์œ„์˜ ๊ฐ€์ƒ ์ฃผ์†Œ 18๋ฒˆ์— ๋Œ€ํ•ด์„œ VA = <1, 8>๋ผ๋Š” ์ •ํ˜•ํ™”๋œ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
 
ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์˜ ์ฃผ์†Œ ๋ณ€ํ™˜์€ ๊ฐ€์ƒ ์ฃผ์†Œ VA = <P, D>๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ PA = <F, D>๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. F๋Š” ํ”„๋ ˆ์ž„์„ ์˜๋ฏธํ•œ๋‹ค. ๋”ฐ๋ผ์„œ, ์œ„์˜ ๊ฐ€์ƒ ์ฃผ์†Œ 18๋ฒˆ์˜ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

VA = <1, 8> -> PA = <3, 8>

 
์ด๋•Œ, ํŽ˜์ด์ง€์™€ ํ”„๋ ˆ์ž„ ํ•˜๋‚˜์˜ ํฌ๊ธฐ๋ฅผ 10B๋กœ ๊ทœ์ •ํ•˜๋ฉด ๊ฐ€์ƒ ์ฃผ์†Œ 18๋ฒˆ์€ VA = <1, 8>, ๋ฌผ๋ฆฌ ์ฃผ์†Œ 38๋ฒˆ์€ PA = <3, 8>์ธ ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ, ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ๊ฐ€ 10B๊ฐ€ ์•„๋‹Œ ์ž„์˜์˜ ํฌ๊ธฐ์ผ ๊ฒฝ์šฐ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ <P, D>๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

P = ๊ฐ€์ƒ ์ฃผ์†Œ ๋ฒˆ์ง€์ˆ˜ / ํ•œ ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ
D = ๊ฐ€์ƒ ์ฃผ์†Œ ๋ฒˆ์ง€์ˆ˜ % ํ•œ ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ

 

ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ

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

 
์œ„์˜ ๊ทธ๋ฆผ์„ ๋ณด๋ฉด PTBR๋ผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ, PTBR์€ ๊ฐ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ(Page Table Base Register)๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋•Œ, PTBR์€ ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ PCB์— ์ €์žฅ๋œ๋‹ค.
 
 
์“ฐ๊ธฐ ์‹œ์  ๋ณต์‚ฌ(Copy On Write)
ํฌ๋กฌ ๋ธŒ๋ผ์šฐ์ € ๊ฐ™์ด ํ•˜๋‚˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋†“๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์˜ฌ๋ ค๋†“๊ณ  ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๊ณต์œ ํ•˜๋Š” ๋ฐฉ์‹์ด ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ๋ง‰์„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
 
ํ•˜๋‚˜์˜ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ์—๋Š” fork() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•ด ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์ด๋•Œ, ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๋„ ๋ณต์‚ฌ๋œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ๋ณต์‚ฌ๋œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ๊ฐ ํŽ˜์ด์ง€์™€ ๋งคํ•‘๋œ ํ”„๋ ˆ์ž„๋“ค ์ค‘ ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„๋„ ์žˆ์ง€๋งŒ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋Š” ํ”„๋ ˆ์ž„๋„ ์กด์žฌํ•œ๋‹ค.
 
๋งŒ์•ฝ, ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์—์„œ ์‚ฌ์šฉํ•˜๋˜ ๋ณ€์ˆ˜๊ฐ’์„ ๋ณต์‚ฌ๋œ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ณ€๊ฒฝํ•œ๋‹ค๋ฉด ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์— ์˜ํ–ฅ์„ ๋ผ์น˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” ๊ฐ™์€ ํ”„๋ ˆ์ž„์„ ๊ณต์œ ํ•  ์ˆ˜ ์—†๋‹ค. ๊ทธ๋ ‡๋‹ค๊ณ  ์ด ๋ณ€์ˆ˜๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ ํ”„๋ ˆ์ž„์„ ๋ฏธ๋ฆฌ ํ™•๋ณดํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋‚ญ๋น„์ผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์šด์˜์ฒด์ œ๋Š” ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๊ฐ€ ์žˆ์„ ๋•Œ๊นŒ์ง€ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์˜ ํ™•๋ณด, ์ฆ‰ ๋ณต์‚ฌ๋ฅผ ๋ฏธ๋ฃจ๋Š” ๋ฐฉ์‹์„ ์“ฐ๊ธฐ ์‹œ์  ๋ณต์‚ฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
 

 
 
๋ณ€ํ™˜ ์ƒ‰์ธ ๋ฒ„ํผ(TLB: Translation Look-ahead Buffer)
๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์€ CPU ์•ˆ์— ์žˆ๋Š” MMU๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค. ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ 2๋ฒˆ๊ณผ 4๋ฒˆ์ฒ˜๋Ÿผ ๋ฉ”๋ชจ๋ฆฌ์— ๋‘ ๋ฒˆ ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค.
 

CPU ์•ˆ์— ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋‚˜ ์บ์‹œ์— ์ ‘๊ทผํ•  ๋•Œ๋ณด๋‹ค ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ๋•Œ ์‹œ๊ฐ„์ด ๋ช‡ ๋ฐฐ ์ด์ƒ ๊ฑธ๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๋ฒˆ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์€ CPU ์„ฑ๋Šฅ์„ ๋–จ์–ด๋œจ๋ฆฐ๋‹ค. ๋”ฐ๋ผ์„œ, ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€๋ฅผ CPU ์•ˆ์ชฝ์œผ๋กœ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ, ์ด๋ฅผ ๋ณ€ํ™˜ ์ƒ‰์ธ ๋ฒ„ํผ๋ผ๊ณ  ํ•œ๋‹ค. ๋ณ€ํ™˜ ์ƒ‰์ธ ๋ฒ„ํผ๋Š” ์‰ฝ๊ฒŒ ๋งํ•ด ์บ์‹œ๋œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด๋‹ค. ์ด๋•Œ, ๋ชจ๋“  ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ์–ด 1๊ฐœ์˜ ์—ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๊ณผ ๋‹ค๋ฅด๊ฒŒ TLB๋Š” ์ „์ฒด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€๋งŒ ์žˆ์–ด์„œ <ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ, ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ>์˜ 2๊ฐœ ์—ด๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
 
์บ์‹œ ์‹œ์Šคํ…œ๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์›ํ•˜๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๊ฐ€ ๋ณ€ํ™˜ ์ƒ‰์ธ ๋ฒ„ํผ์— ์žˆ์œผ๋ฉด TLB ํžˆํŠธ, ์›ํ•˜๋Š” ํŽ˜์ด์ง€๊ฐ€ ์—†์œผ๋ฉด TLB ๋ฏธ์Šค๋ผ๊ณ  ํ•œ๋‹ค.
 

 
TLB ํžˆํŠธ์ด๋ฉด 2๋ฒˆ๊ณผ 3๋ฒˆ ๋™์ž‘์„ ์ƒ๋žตํ•˜๊ณ , TLB ๋ฏธ์Šค์ด๋ฉด ์ƒ๋žต๋˜๋Š” ๋™์ž‘ ์—†์ด ์ง„ํ–‰ํ•œ๋‹ค.
 
 
์—ญ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Invert Page Table)
์—ญ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ–ˆ๋˜ ๊ธฐ์กด ํŽ˜์ด์ง• ๋ฐฉ์‹๊ณผ๋Š” ๋ฐ˜๋Œ€๋กœ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•œ๋‹ค. ์—ญ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ”„๋ ˆ์ž„ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜์™€ ์ƒ๊ด€์—†์ด ํ…Œ์ด๋ธ”์ด ํ•˜๋‚˜๋งŒ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
 

 
์—ญ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์„ฑ์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด <ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ, PID, ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ>๋กœ ๊ตฌ์„ฑ๋˜๊ณ , ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํ–‰ ์ˆ˜๋Š” ์‹ค์ œ ํ”„๋ ˆ์ž„์˜ ์ˆ˜์™€ ๊ฐ™๋‹ค. ์—ญ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ์ž‘๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•  ๋•Œ PID์™€ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋ฅผ ๋ชจ๋‘ ์ฐพ์•„์•ผ ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
 
 
๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”
๊ธฐ์ˆ ์˜ ๋ฐœ์ „์œผ๋กœ CPU ๋น„ํŠธ ์ˆ˜๊ฐ€ ์ ์ฐจ ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„์ด ๋Š˜์–ด๋‚˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง์œผ๋กœ์จ ํ•œ๊บผ๋ฒˆ์— ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค๊ฒŒ ๋˜์—ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๋ฐฉ์‹์ด ๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด๋‹ค. ๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋ฐฉ์‹์€ ์ง‘ํ•ฉ-์—ฐ๊ด€ ๋งคํ•‘(Set-Associative Mappin) ํ˜น์€ ๋””๋ ‰ํ† ๋ฆฌ ๋งคํ•‘(Directory Mapping)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
 

 
์œ„ ๊ทธ๋ฆผ์€ 2๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์„ฑ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. 1์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ 2์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์ด๋Ÿฌํ•œ 1์ฐจ ํ…Œ์ด๋ธ”์„ ์ง‘ํ•ฉ ํ…Œ์ด๋ธ” ํ˜น์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ํ…Œ์ด๋ธ”์ด๋ผ๊ณ  ํ•œ๋‹ค. 1์ฐจ ํ…Œ์ด๋ธ”์—์„œ I๋ผ๊ณ  ํ‘œ์‹œ๋œ ๊ฒƒ์€ 2์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ์•„์ง ๋งŒ๋“ค์–ด์ง€์ง€ ์•Š์•˜๋‹ค๋Š” ๋œป์˜ Invalid๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
 
๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋ฐฉ์‹์—์„œ๋Š” ์ „์ฒด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ํ•œ๊บผ๋ฒˆ์— ๋งŒ๋“ค์ง€ ์•Š๊ณ  ํ•„์š”ํ•  ๋•Œ 2์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค๊ณ , 1์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•œ๋‹ค. 2๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋ฐฉ์‹์—์„œ ๊ฐ€์ƒ ์ฃผ์†Œ๋Š” VA = <P1, P2, D>๋กœ ํ‘œ์‹œ๋œ๋‹ค.
 

 
P1์€ 1์ฐจ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ, P2๋Š” 2์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ 10๊ฐœ์”ฉ ์ž˜๋ผ 2์ฐจ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ๊ฐ€์ƒ ์ฃผ์†Œ 32๋ฒˆ์€ <0, 3, 2>๋กœ ๋ณ€ํ™˜๋˜๊ณ , ๊ฐ€์ƒ ์ฃผ์†Œ 127๋ฒˆ์€ <1, 2, 7>, ๊ฐ€์ƒ ์ฃผ์†Œ 1784๋ฒˆ์€ <17, 8, 4>๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
 
๋งŒ์•ฝ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ํฐ ๊ฒฝ์šฐ, 3๋‹จ๊ณ„๋‚˜ 4๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋ฐฉ์‹์ด ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•˜๋ฉฐ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์ฃผ์†Œ๋Š” ๊ณ„์† ์„ธ๋ถ„ํ™”๋œ๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ง• ๋•Œ๋ฌธ์— ๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋ฐฉ์‹์„ ๋ฉ€ํ‹ฐํŽ˜์ด์ง€ ๋งคํ•‘์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
 
๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์žฅ์ ์€ ํฌ๊ธฐ๊ฐ€ ํฐ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฐ™์€ ํฌ๊ธฐ์˜ ๋ฌถ์Œ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ „์ฒด๋ฅผ ํ•œ๊บผ๋ฒˆ์— ๋งŒ๋“ค์ง€ ์•Š๊ณ  ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•จ์œผ๋กœ์จ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
 
 

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

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

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

์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•๋„ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๋ฅผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ํ…Œ์ด๋ธ” ๋˜๋Š” ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๋งคํ•‘ ํ…Œ์ด๋ธ”์ด๋ผ๊ณ  ํ•œ๋‹ค.
 

 
์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ํ…Œ์ด๋ธ”์—๋Š” ์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” limit์™€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” address๊ฐ€ ์žˆ๋‹ค. ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ถ„ํ• ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค. ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์—์„œ๋„ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•  ๋•Œ๋Š” ์Šค์™‘ ์˜์—ญ์„ ์‚ฌ์šฉํ•œ๋‹ค. ํŽ˜์ด์ง• ๊ธฐ๋ฒ•๊ณผ ๋˜‘๊ฐ™์ด I(invalid)๋ผ๊ณ  ํ‘œ์‹œํ•œ๋‹ค.
 
์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์€ ๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์ด๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ”„๋กœ์„ธ์Šค ๋‹จ์œ„๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ํ…Œ์ด๋ธ”์ด ์ž‘๊ณ  ๋‹จ์ˆœํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๊ณ , ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์™ธ๋ถ€ ๋‹จํŽธํ™”๋กœ ์ธํ•ด ๊ด€๋ฆฌ๊ฐ€ ๋ณต์žกํ•˜๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.
 

์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์˜ ์ฃผ์†Œ ๋ณ€ํ™˜

์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ๊ธฐ๋ฒ•์—์„œ๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ VA = <S, D>๋กœ ํ‘œํ˜„ํ•œ๋‹ค. S๋Š” ์„ธ๊ทธ๋จผํŠธ ๋ฒˆํ˜ธ, D๋Š” ์„ธ๊ทธ๋จผํŠธ ์‹œ์ž‘ ์ง€์ ์—์„œ ํ•ด๋‹น ์ฃผ์†Œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ ๋˜๋Š” ๋ณ€์œ„(Offset)๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
 

 
ํ”„๋กœ์„ธ์Šค A๊ฐ€ ์„ธ๊ทธ๋จผํŠธ 0๋ฒˆ์œผ๋กœ ๋ฐฐ์ •๋ฐ›์•˜๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๊ฒฝ์šฐ, ํ”„๋กœ์„ธ์Šค A์˜ ๊ฐ€์ƒ ์ฃผ์†Œ 32๋ฒˆ์— ์ ‘๊ทผํ•  ๋•Œ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
 
๋จผ์ €, ๊ฐ€์ƒ ์ฃผ์†Œ๋Š” VA = <0, 32>์ด๋‹ค. ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ํ…Œ์ด๋ธ”์—์„œ ์„ธ๊ทธ๋จผํŠธ 0์˜ ์‹œ์ž‘ ์ฃผ์†Œ 120๋ฒˆ์„ ์•Œ์•„๋‚ธ ํ›„ ๊ฑฐ๋ฆฌ 32๋ฅผ ๋”ํ•˜์—ฌ ๋ฌผ๋ฆฌ ์ฃผ์†Œ 152๋ฒˆ์„ ๊ตฌํ•œ๋‹ค. ์ด๋•Œ, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๋Š” ๊ฑฐ๋ฆฌ 32๊ฐ€ ์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ์ง€ ์ ๊ฒ€ํ•œ๋‹ค. ํฌ๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฅ˜, ํŠธ๋žฉ(Trap)์ด๋ผ๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š”๋ฐ ํŠธ๋žฉ์ด ๋ฐœ์ƒํ•˜๋ฉด ์šด์˜์ฒด์ œ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ ์˜ค๋ฅ˜(Segmentation Fault) ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒ์‹œํ‚จ๋‹ค. ๋งŒ์•ฝ, ํฌ์ง€ ์•Š๋‹ค๋ฉด ๋ฌผ๋ฆฌ ์ฃผ์†Œ 152๋ฒˆ์— ์ ‘๊ทผํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ด๋‹ค.
 
 

๋Œ“๊ธ€