3 min read

OSTEP 13 Address Spaces

Table of Contents

1. ์ดˆ๊ธฐ ์‹œ์Šคํ…œ

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

OSTEP 13 Address Spaces-1688413695513.jpeg

2. ๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์‹œ๋ถ„ํ• 

๋ฉ€ํ‹ฐํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ๋Œ€๊ฐ€ ์™”๋‹ค. ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰ ์ค€๋น„ ์ƒํƒœ์— ์žˆ๊ณ , ์šด์˜์ฒด์ œ๊ฐ€ ์ด๋“ค์„ ์ „ํ™˜ํ•˜๋ฉด์„œ ์‹คํ–‰ํ•˜์˜€๋‹ค. ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž…์ถœ๋ ฅ์„ ํ•˜๋ฉด, CPU๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ ์ „ํ™˜ํ•˜์˜€๋‹ค.

์ด๋ ‡๊ฒŒ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ„ ์ „ํ™˜์„ ํ†ตํ•ด CPU์˜ ์ด์šฉ๋ฅ ์ด ์˜ฌ๋ผ๊ฐ”๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์ปดํ“จํ„ฐ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ธธ ์›ํ–ˆ๊ณ , ์‹œ๋ถ„ํ•  (time sharing) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ผ๊ด„์ฒ˜๋ฆฌ๋ฐฉ์‹ (batch) ์ปดํ“จํŒ…์˜ ํ•œ๊ณ„๋ฅผ ๋А๊ผˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

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

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

OSTEP 13 Address Spaces-1688414404626.jpeg

์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ์ • ๋ถ€๋ถ„์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค. ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ํ•œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ์ง€ ๋ชปํ•˜๋„๋ก ๋ณดํ˜ธ(protection) ํ•ด์•ผ ํ•œ๋‹ค.

3. ์ฃผ์†Œ ๊ณต๊ฐ„

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

OSTEP 13 Address Spaces-1688414817225.jpeg

๊ทธ๋ฆผ์—๋Š” 0KB๋ถ€ํ„ฐ 16KB๋ผ๊ณ  ์จ์žˆ์ง€๋งŒ ์‹ค์ œ๋กœ ๋ฌผ๋ฆฌ ์ฃผ์†Œ 0 ~ 16 ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. A, B, C๊ฐ€ ํ•จ๊ป˜ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ๊ทธ๋ฆผ์ฒ˜๋Ÿผ, ์‹ค์ œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋Š” ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ€์ƒํ™”: ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋Š” ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ํ”„๋กœ์„ธ์Šค ์ „์šฉ์˜ ์ปค๋‹ค๋ž€ ์ฃผ์†Œ ๊ณต๊ฐ„์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ

๊ทธ๋Ÿฌ๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ฐ€์ƒํ™” ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ?

4. ๋ชฉํ‘œ

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ (VM) ์˜ ์ฃผ์š” ๋ชฉํ‘œ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด์ž.

  1. ํˆฌ๋ช…์„ฑ(transparency): ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์กด์žฌ๋ฅผ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•˜๋„๋ก ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ์œ ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ํ–‰๋™ํ•ด์•ผ ํ•œ๋‹ค.
  2. ํšจ์œจ์„ฑ(eiciency): ๊ฐ€์ƒํ™”๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋„ˆ๋ฌด ๋А๋ฆฌ๊ฒŒ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ๋„ˆ๋ฌด ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋ชจํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. TLB ๋“ฑ์˜ ๋„์›€์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
  3. ๋ณดํ˜ธ(protection): ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ด์•ผ ํ•œ๋‹ค. ์šด์˜์ฒด์ œ ์ž์‹ ๋„ ํ”„๋กœ์„ธ์Šค๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•ด์•ผ ํ•œ๋‹ค. ์ ˆ๋Œ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋‚˜ ์šด์˜์ฒด์ œ์˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋“ค์„ ์„œ๋กœ ๊ณ ๋ฆฝ์‹œ์ผœ์•ผ ํ•œ๋‹ค.