Skip to content

Latest commit

ย 

History

History
375 lines (253 loc) ยท 25.6 KB

Memory_Management_Paging.md

File metadata and controls

375 lines (253 loc) ยท 25.6 KB

Memory Management

์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ์šฉ์–ด

๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ํ• ๋‹น ๋ฐฉ์‹

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


์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ

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

์ฃผ์†Œ ๊ณต๊ฐ„(address space)

  • ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์€ 32๋น„ํŠธ ํ˜น์ธ 64๋น„ํŠธ์˜ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
  • 32๋น„ํŠธ์˜ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ 2^32๊ฐ€์ง€์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • ์ปดํ“จํ„ฐ์—์„œ๋Š” byte ๋‹จ์œ„๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ถ€์—ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— 32๋น„ํŠธ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 2^32 ๋ฐ”์ดํŠธ๋งŒํผ์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผ์†Œ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ€์ƒ ์ฃผ์†Œ vs ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ

  • ๊ฐ€์ƒ(๋…ผ๋ฆฌ์ ) ์ฃผ์†Œ(virtual address):

    • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜๋ฉด ๊ทธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•œ ๋…์ž์ ์ธ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋œ๋‹ค.
    • ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค 0๋ฒˆ์ง€๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค.
    • CPU๊ฐ€ ๋ณด๋Š” ์ฃผ์†Œ์ด๋‹ค.
  • ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ(physical address):

    • ๋ฉ”๋ชจ๋ฆฌ์— ์‹ค์ œ๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ์œ„์น˜์ด๋‹ค.
    • ๋ณดํ†ต ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ฎ์€ ์ฃผ์†Œ ์˜์—ญ์—๋Š” ์šด์˜์ฒด์ œ๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ณ , ๋†’์€ ์ฃผ์†Œ ์˜์—ญ์—๋Š” ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋“ค์ด ์˜ฌ๋ผ๊ฐ„๋‹ค.

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

  • Compile time binding: ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์ปดํŒŒ์ผํ•  ๋•Œ ๊ฒฐ์ •๋˜๋Š” ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ ๋ฐฉ์‹

  • Load time binding: ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์ด ์‹œ์ž‘๋  ๋•Œ์— ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๊ฒฐ์ •๋˜๋Š” ์ฃผ์†Œ ๋ฐ”์ธ๋”ฉ ๋ฐฉ์‹

  • Execution time binding(Runtime binding):

    • ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰์„ ์‹œ์ž‘ํ•œ ํ›„์—๋„ ๊ทธ ํ”„๋กœ๊ทธ๋žจ์ด ์œ„์น˜ํ•œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜ ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐ”์ธ๋”ฉ ๋ฐฉ์‹
    • CPU๊ฐ€ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ์–ด๋А ์œ„์น˜์— ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•˜๋Š”๋ฐ, ์ด๋•Œ ์ฃผ์†Œ ๋งคํ•‘ ํ…Œ์ด๋ธ”(+MMU)์„ ์‚ฌ์šฉํ•œ๋‹ค.
    • ๋Ÿฐํƒ€์ž„ ๋ฐ”์ธ๋”ฉ ๋ฐฉ์‹์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ(base register)์™€ ํ•œ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ(limit register)๋ฅผ ํฌํ•จํ•ด MMU๋ผ๋Š” ํ•˜๋“œ์›จ์–ด์ ์ธ ์ง€์›์ด ํ•„์š”ํ•˜๋‹ค.

IMAGES

MMU(Memory-Management Unit)

๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜

  • MMU๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” MMU ๊ธฐ๋ฒ•(MMU scheme)

MMU ๊ธฐ๋ฒ•(MMU scheme) ๋™์ž‘ ๊ณผ์ •

IMAGES

  • CPU๊ฐ€ ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋ ค๊ณ  ํ•  ๋•Œ MMU ๊ธฐ๋ฒ•์€ ๊ทธ ์ฃผ์†Œ๊ฐ’์— ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ(base register)์˜ ๊ฐ’์„ ๋”ํ•ด ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๊ฐ’์„ ์–ป์–ด๋‚ธ๋‹ค.
  • ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ๋Š” ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • ๋ฌธ๋งฅ๊ตํ™˜์œผ๋กœ CPU์—์„œ ์ˆ˜ํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ’์„ ๊ทธ ํ”„๋กœ์„ธ์Šค์— ํ•ด๋‹น๋˜๋Š” ๊ฐ’์œผ๋กœ ์žฌ์„ค์ •ํ•จ์œผ๋กœ์จ ๊ฐ ํ”„๋กœ์„ธ์Šค์— ๋งž๋Š” ์œ„์น˜์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์ง€์›ํ•œ๋‹ค.
  • ํ•œ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž์‹ ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋„˜์–ด์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ๋ฅผ ํ•˜๋ ค๊ณ  ํ•˜๋Š”์ง€ ์ฒดํฌํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ํ˜„์žฌ CPU์—์„œ ์ˆ˜ํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์˜ ์ตœ๋Œ“๊ฐ’, ์ฆ‰ ๊ทธ ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.

IMAGES

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ์šฉ์–ด

๋™์  ๋กœ๋”ฉ(dynamic loading)

ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด ์‹ค์ œ๋กœ ๋ถˆ๋ฆด ๋•Œ๋งˆ๋‹ค ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๊ฒƒ

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

์ค‘์ฒฉ(overlays)

ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋ถ„ํ• ํ•ด ์‹ค์ œ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๊ธฐ๋ฒ•

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

์Šค์™€ํ•‘(swapping)

๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ ์ „์ฒด๋ฅผ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ(swap area)์— ์ผ์‹œ์ ์œผ๋กœ ๋‚ด๋ ค๋†“๋Š” ๊ฒƒ

  • ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ ์ „์ฒด๋ฅผ ๋””์Šคํฌ์˜ ์Šค์™‘ ์˜์—ญ์œผ๋กœ ์ซ“์•„๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.
    • swap area๋Š” backing store๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ๋””์Šคํฌ ๋‚ด์— ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ๋Š” ๋ณ„๋„๋กœ ์กด์žฌํ•˜๋Š” ๋งŽ์€ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ด์„ ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ณ  ํฐ ์ €์žฅ ๊ณต๊ฐ„์ด๋‹ค.
  • ๋””์Šคํฌ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์˜ฌ๋ฆฌ๋Š” ์ž‘์—…์„ swap in, ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋””์Šคํฌ๋กœ ๋‚ด๋ฆฌ๋Š” ์ž‘์—…์„ swap out๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
  • swap์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •
    • ์ผ๋ฐ˜์ ์œผ๋กœ ์ค‘๊ธฐ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ swap outํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ ์ •ํ•œ๋‹ค.
      • ์ฃผ๋กœ, ์šฐ์„  ์ˆœ์œ„ ๊ธฐ๋ฐ˜ CPU ์Šค์ผ€์ค„๋ง์„ ์‚ฌ์šฉํ•œ๋‹ค.
      • ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋‚ฎ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ swap outํ•จ.
      • ์šฐ์„  ์ˆœ์œ„๊ฐ€ ๋†’์€ ํ”„๋กœ์„ธ์Šค๋ฅผ swap inํ•จ.
    • ๋งŒ์•ฝ ์ปดํŒŒ์ผ ํƒ€์ž„ ๋ฐ”์ธ๋”ฉ ํ˜น์€ ๋กœ๋“œ ํƒ€์ž„ ๋ฐ”์ธ๋”ฉ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค๋ฉด, swap out๋˜์—ˆ๋‹ค๊ฐ€ swap in์ด ๋˜๋ฉด ์›๋ž˜ ์กด์žฌํ•˜๋˜ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋กœ ๋‹ค์‹œ ์˜ฌ๋ผ๊ฐ€์•ผ ํ•œ๋‹ค.
    • ๋ฐ˜๋ฉด ๋Ÿฐํƒ€์ž„ ๋ฐ”์ธ๋”ฉ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ถ”ํ›„ ๋นˆ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ์•„๋ฌด ๊ณณ์—๋‚˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ Swapping์— ์ ํ•ฉํ•˜๋‹ค.
  • swap time์€ ๋””์Šคํฌ์˜ ํƒ์ƒ‰ ์‹œ๊ฐ„์ด๋‚˜ ํšŒ์ „ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ณด๋‹ค๋Š” ๋””์Šคํฌ ์„นํ„ฐ์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ์ „์†ก ์‹œ๊ฐ„(transfer time)์ด ๋Œ€๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•œ๋‹ค.

๋™์  ์—ฐ๊ฒฐ(dynamic linking)

์ปดํŒŒ์ผ์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ ๋ชฉ์  ํŒŒ์ผ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์ง€์ ๊นŒ์ง€ ์ง€์—ฐ์‹œํ‚ค๋Š” ๊ธฐ๋ฒ•

  • ์—ฐ๊ฒฐ(linking)์ด๋ž€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜์—ฌ ์ƒ์„ฑ๋œ ๋ชฉ์  ํŒŒ์ผ(object file)๊ณผ ์ด๋ฏธ ์ปดํŒŒ์ผ๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ๋“ค์„ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ์‹คํ–‰ ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.
  • ์ •์  ์—ฐ๊ฒฐ
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํŒŒ์ผ ์ฝ”๋“œ์— ํฌํ•จ๋œ๋‹ค.
    • ์‹คํ–‰ ํŒŒ์ผ์˜ ํฌ๊ธฐ๊ฐ€ ์ปค์ง„๋‹ค.
    • ๋™์ผํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๋ฏ€๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค. (ex. printf ํ•จ์ˆ˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ)
  • ๋™์  ์—ฐ๊ฒฐ
    • ์‹คํ–‰ ํŒŒ์ผ์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฝ”๋“œ๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์œผ๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๊ฐ€ ๋˜์–ด์„œ์•ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ์ด ์ด๋ฃจ์–ด์ง„๋‹ค.
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ ๋ถ€๋ถ„์— ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฃจํ‹ด์˜ ์œ„์น˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•œ stub์ด๋ผ๋Š” ์ž‘์€ ์ฝ”๋“œ๋ฅผ ๋‘”๋‹ค.
    • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ด๋ฏธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์œผ๋ฉด ๊ทธ ๋ฃจํ‹ด์˜ ์ฃผ์†Œ๋กœ ๊ฐ€๊ณ , ์—†์œผ๋ฉด ๋””์Šคํฌ์—์„œ ์ฝ์–ด ์˜จ๋‹ค.
    • ์šด์˜ ์ฒด์ œ์˜ ๋„์›€์ด ํ•„์š”ํ•˜๋‹ค.

๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ํ• ๋‹น ๋ฐฉ์‹

  • ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋Š” ์šด์˜์ฒด์ œ ์ƒ์ฃผ ์˜์—ญ๊ณผ ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ์˜์—ญ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
    • ์šด์˜์ฒด์ œ ์ƒ์ฃผ ์˜์—ญ์€ ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ์™€ ํ•จ๊ป˜ ๋‚ฎ์€ ์ฃผ์†Œ ์˜์—ญ์„ ์‚ฌ์šฉํ•œ๋‹ค.
    • ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ์˜์—ญ์€ ๋†’์€ ์ฃผ์†Œ ์˜์—ญ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ์˜์—ญ์˜ ํ• ๋‹น ๋ฐฉ๋ฒ•
    • ์—ฐ์† ํ• ๋‹น
      • ๊ฐ๊ฐ์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์— ์ ์žฌ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
      • ๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹๊ณผ ๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์ด ์กด์žฌํ•œ๋‹ค.
    • ๋ถˆ์—ฐ์† ํ• ๋‹น
      • ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์—ฌ๋Ÿฌ ์˜์—ญ์— ๋ถ„์‚ฐ๋˜์–ด ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค.
      • Paging, Segmentaing, Paged Segmentation ๋ฐฉ์‹์ด ์กด์žฌํ•œ๋‹ค.

์—ฐ์† ํ• ๋‹น

Untitled

๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹

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

๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹

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

Hole

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

Untitled

๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฌธ์ œ

  • ๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์—์„œ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ํฌ๊ธฐ๊ฐ€ n์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆด ๋•Œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์˜ ๊ฐ€์šฉ ๊ณต๊ฐ„ ์ค‘ ์–ด๋–ค ์œ„์น˜์— ์˜ฌ๋ฆด ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.
  • First-fit
    • size๊ฐ€ n ์ด์ƒ์ธ ๊ฒƒ ์ค‘ ์ตœ์ดˆ๋กœ ์ฐพ์•„์ง€๋Š” hole์— ํ• ๋‹นํ•œ๋‹ค.
  • Best-fit
    • size๊ฐ€ n ์ด์ƒ์ธ ๊ฐ€์žฅ ์ž‘์€ hole์„ ์ฐพ์•„์„œ ํ• ๋‹นํ•œ๋‹ค.
    • Hole๋“ค์˜ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํฌ๊ธฐ ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ชจ๋“  hole์„ ํƒ์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.
    • ๋งŽ์€ ์ˆ˜์˜ ์•„์ฃผ ์ž‘์€ hole์ด ์ƒ์„ฑ๋œ๋‹ค.
  • Worst-fit
    • ๊ฐ€์žฅ ํฐ hole์— ํ• ๋‹นํ•œ๋‹ค.
    • ์—ญ์‹œ hole์„ ํƒ์ƒ‰ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ƒ๋Œ€์ ์œผ๋กœ ์•„์ฃผ ํฐ hole์ด ์ƒ์„ฑ๋œ๋‹ค.
  • First-fit๊ณผ Best-fit์ด Worst-fit๋ณด๋‹ค ์†๋„์™€ ๊ณต๊ฐ„ ์ด์šฉ๋ฅ  ์ธก๋ฉด์—์„œ ํšจ๊ณผ์ ์ด๋‹ค.

Compaction (์••์ถ•)

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

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

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

ํŽ˜์ด์ง• ์˜ˆ์‹œ

Untitled

  • ๋…ผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋Š” ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋ถ„ํ• ์ด ๋˜๊ณ , ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋ ˆ์ž„ ๋‹จ์œ„๋กœ ๋ถ„ํ• ์ด ๋˜์–ด ์„œ๋กœ ๋งค์นญ๋œ๋‹ค. ์ด๋•Œ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ํ™œ์šฉํ•œ๋‹ค.

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

Untitled

  • ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ๋Š” CPU๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ(p)์™€ ํŽ˜์ด์ง€ ์˜คํ”„์…‹(d)์œผ๋กœ ๋‚˜๋ˆ„์–ด ์ฃผ์†Œ ๋ณ€ํ™˜์— ์‚ฌ์šฉํ•œ๋‹ค.
  • ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋Š” ๊ฐ ํŽ˜์ด์ง€๋ณ„ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ ‘๊ทผ ์‹œ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉ๋˜๊ณ , ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ํ•ญ๋ชฉ์—๋Š” ๊ทธ ํŽ˜์ด์ง€์˜ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๊ธฐ์ค€ ์ฃผ์†Œ, ์ฆ‰ ์‹œ์ž‘ ์œ„์น˜๊ฐ€ ์ €์žฅ๋œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ํŠน์ • ํ”„๋กœ์„ธ์Šค์˜ p๋ฒˆ์งธ ํŽ˜์ด์ง€๊ฐ€ ์œ„์น˜ํ•œ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ p๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ์ฐพ์•„๋ณด๋ฉด ๋œ๋‹ค.
  • ํŽ˜์ด์ง€ ์˜คํ”„์…‹์€ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€ ๋‚ด์—์„œ์˜ ๋ณ€์œ„๋ฅผ ์•Œ๋ ค์ค€๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ์ค€ ์ฃผ์†Œ ๊ฐ’์— ๋ณ€์œ„๋ฅผ ๋”ํ•จ์œผ๋กœ์จ ์š”์ฒญ๋œ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์— ๋Œ€์‘ํ•˜๋Š” ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.
  • ์œ„ ๊ทธ๋ฆผ์—์„œ f (๋ฌผ๋ฆฌ์  ์ฃผ์†Œ์˜ ์‹œ์ž‘ ์œ„์น˜) + d๋ฅผ ์ทจํ•˜๋ฉด ์ฒ˜์Œ์— CPU๊ฐ€ ์š”์ฒญํ•œ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์— ๋Œ€์‘ํ•˜๋Š” ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๊ฐ€ ๋œ๋‹ค.

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

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ๋กœ, ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์ธ Main Memory์— ์ƒ์ฃผํ•œ๋‹ค.
  • ํ˜„์žฌ CPU์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด 2๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ธฐ์ค€ ๋ ˆ์ง€์Šคํ„ฐ(page-table base register)
      • ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์‹œ์ž‘ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ด
    • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ธธ์ด ๋ ˆ์ง€์Šคํ„ฐ(page-table length register)
      • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๋ฅผ ๋ณด๊ด€ํ•จ
  • ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์—ฐ์‚ฐ์€ ์ด 2๋ฒˆ์”ฉ ํ•„์š”ํ•˜๋‹ค.
    • ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•ด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์ ‘๊ทผ
    • ๋ณ€ํ™˜๋œ ์ฃผ์†Œ์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ
    • ์ด๋Ÿฌํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ด๊ณ  ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ‘๊ทผ ์†๋„๋ฅผ ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•ด **TLB(Translation Look-aside Buffer)**๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ณ ์†์˜ ์ฃผ์†Œ ๋ณ€ํ™˜์šฉ ํ•˜๋“œ์›จ์–ด ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

TLB

Untitled

  • TLB๋Š” ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ๊ธฐ ๋•Œ๋ฌธ์— ๋นˆ๋ฒˆํžˆ ์ฐธ์กฐ๋˜๋Š” ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๋งŒ ๋‹ด๊ฒŒ ๋œ๋‹ค.
  • ์š”์ฒญ๋œ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๊ฐ€ TLB์— ์กด์žฌํ•œ๋‹ค๋ฉด ๊ณง๋ฐ”๋กœ ๋Œ€์‘ํ•˜๋Š” ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, TLB์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ๋ฅผ ์•Œ์•„๋‚ด์•ผ ํ•œ๋‹ค.
  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ํ•ด๋‹น ํŽ˜์ด์ง€์— ๋Œ€์‘ํ•˜๋Š” ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์ง€๋งŒ, TLB์—๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ ์Œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ํŠน์ • ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์žˆ๋Š”์ง€ TLB ์ „์ฒด๋ฅผ ์ฐพ์•„๋ด์•ผ ํ•œ๋‹ค.
    • ์ด๋•Œ TLB ํ’€ ์Šค์บ” ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋ฏ€๋กœ ๋ณ‘๋ ฌ์ ์œผ๋กœ ํƒ์ƒ‰์ด ๊ฐ€๋Šฅํ•œ ์—ฐ๊ด€ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • TLB๋Š” context switch์‹œ, ์ด์ „ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ๋‚ด์šฉ์ด ์ „๋ถ€ ์ง€์›Œ์ง„๋‹ค.

์—ฐ๊ด€ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ ํ‰๊ท  ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„ (Effective Access Time)

  • ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„์„ 1์ด๋ผ ํ•˜๊ณ , ์—ฐ๊ด€ ๋ ˆ์ง€์Šคํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„์„ ฮต์ด๋ผ๊ณ  ํ•˜์ž. (์ด๋•Œ, ฮต์€ 1๋ณด๋‹ค ์ถฉ๋ถ„ํžˆ ์ž‘์€ ๊ฐ’์ด๋‹ค.)
  • ์š”์ฒญ๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๊ฐ€ ์—ฐ๊ด€ ๋ ˆ์ง€์Šคํ„ฐ์— ์กด์žฌํ•  ํ™•๋ฅ ์„ a๋ผ๊ณ  ํ•˜์ž.
  • ํ‰๊ท ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„ EAT๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
    • EAT = (1 + ฮต)a + (2 + ฮต)(1 - a) = 2 + ฮต - a
    • (1 + ฮต)a ํ•ญ์€ ์š”์ฒญ๋œ ํŽ˜์ด์ง€์˜ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๊ฐ€ TLB์— ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
      • TLB๋กœ๋ถ€ํ„ฐ ์ง์ ‘ ๋ฌผ๋ฆฌ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์–ป๋Š” ๋ฐ ฮต์‹œ๊ฐ„์ด ์†Œ์š”๋˜๊ณ , ์‹ค์ œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ํ•œ ๋ฒˆ์— ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ (1 + ฮต)์ด ๋œ๋‹ค. ์—ฌ๊ธฐ์— TLB์—์„œ ์กด์žฌํ•˜๋Š” ํ™•๋ฅ ์ธ a๋ฅผ ๊ณฑํ•˜๋ฉด, (1 + ฮต)a๊ฐ€ ๋œ๋‹ค.
    • (2 + ฮต)(1 - a) ํ•ญ์€ ์š”์ฒญ๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๊ฐ€ TLB์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์ด๋‹ค.
      • ์š”์ฒญ๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๊ฐ€ TLB์— ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ์‹œ๊ฐ„ ฮต์ด ์†Œ์š”๋˜๊ณ , ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„ ฮต๊ณผ ์‹ค์ œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ์‹œ๊ฐ„ a, ๋‘ ๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์ด ํ•„์š”ํ•˜๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ (2 + ฮต)์˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋ฉฐ, ์—ฌ๊ธฐ์— TLB์—์„œ ์ฐพ์ง€ ๋ชปํ•˜๋Š” ๋น„์œจ์ธ (1 - a)๋ฅผ ๊ณฑํ•˜์—ฌ (2 + ฮต)(1 - a)๊ฐ€ ๋œ๋‹ค.

๊ณ„์ธต์  ํŽ˜์ด์ง•

  • ํ˜„๋Œ€์˜ ์ปดํ“จํ„ฐ๋Š” ์ฃผ์†Œ ๊ณต๊ฐ„์ด ๋งค์šฐ ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์ง€์›ํ•œ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด 32๋น„ํŠธ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ปดํ“จํ„ฐ์—์„œ๋Š” 4GB์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ–๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ง€์›ํ•œ๋‹ค.
      • ํŽ˜์ด์ง€ ์‚ฌ์ด์ฆˆ๊ฐ€ 4K๋ผ๋ฉด, ํ•œ ํ”„๋กœ์„ธ์Šค๋‹น ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์œ„ํ•ด 1M ํฌ๊ธฐ์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.
      • ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋žจ์€ 4G์˜ ์ฃผ์†Œ ๊ณต๊ฐ„ ์ค‘ ์ง€๊ทนํžˆ ์ผ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๊ณต๊ฐ„์ด ์‹ฌํ•˜๊ฒŒ ๋‚ญ๋น„๋œ๋‹ค.
  • ์œ„ ๋ฌธ์ œ๋กœ ์ธํ•˜์—ฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ž์ฒด๋ฅผ ํŽ˜์ด์ง€๋กœ ๊ตฌ์„ฑํ•˜๋Š” 2๋‹จ๊ณ„ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

2๋‹จ๊ณ„ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•

Untitled

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

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

  • ํ”„๋กœ์„ธ์Šค์˜ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ๋‘ ์ข…๋ฅ˜์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ(P1, P2)์™€ ํŽ˜์ด์ง€ ์˜คํ”„์…‹(d)์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค.
    • P1์€ ์™ธ๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์ธ๋ฑ์Šค์ด๊ณ , P2๋Š” ๋‚ด๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์ธ๋ฑ์Šค์ด๋‹ค.
    • ๋…ผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ <P1, P2, d> ํ˜•ํƒœ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • ์™ธ๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ P1๋งŒํผ ๋–จ์–ด์ง„ ์œ„์น˜์—์„œ ๋‚ด๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์ฃผ์†Œ๋ฅผ ์–ป๊ฒŒ ๋˜๊ณ , ๋‚ด๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ P2๋งŒํผ ๋–จ์–ด์ง„ ์œ„์น˜์—์„œ ์š”์ฒญ๋œ ํŽ˜์ด์ง€๊ฐ€ ์กด์žฌํ•˜๋Š” ํ”„๋ ˆ์ž„์˜ ์œ„์น˜๋ฅผ ์–ป์€ ํ›„, ํ•ด๋‹น ํ”„๋ ˆ์ž„์œผ๋กœ๋ถ€ํ„ฐ d๋งŒํผ ๋–จ์–ด์ง„ ๊ณณ์ด ๋ฐ”๋กœ ์ฐพ์œผ๋ ค๋Š” ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ์ด๋‹ค.

Untitled

  • 32๋น„ํŠธ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ๊ฐ–๋Š” ์‹œ์Šคํ…œ์—์„œ ํŽ˜์ด์ง€ ํ•˜๋‚˜์˜ ํฌ๊ธฐ๋ฅผ 4KB๋ผ ํ•˜๊ณ  ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํ•ญ๋ชฉ์˜ ํฌ๊ธฐ๋ฅผ 4byte๋ผ๊ณ  ํ•  ๋•Œ, 32๋น„ํŠธ์˜ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ ์ค‘ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ํŽ˜์ด์ง€ ์˜คํ”„์…‹์„ ์œ„ํ•ด ๊ฐ๊ฐ ๋ช‡ ๋น„ํŠธ์”ฉ ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š”๊ฐ€?
    • ๋จผ์ € ํŽ˜์ด์ง€์˜ ํฌ๊ธฐ๊ฐ€ 4KB์ด๋ฏ€๋กœ ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€ ๋‚ด์—์„œ์˜ byte ์˜คํ”„์…‹์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด 12๋น„ํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    • 2๋‹จ๊ณ„ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ๋Š” ๋‚ด๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ž์ฒด๋ฅผ ํ•˜๋‚˜์˜ ํ”„๋ ˆ์ž„์— ๋ณด๊ด€ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ๋‚ด๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ ์—ญ์‹œ 4KB๊ฐ€ ๋œ๋‹ค. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํ•ญ๋ชฉ์˜ ํฌ๊ธฐ๊ฐ€ 4byte์ด๋ฏ€๋กœ ๋‚ด๋ถ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ 4KB/4byte, ์ฆ‰ 1K๊ฐœ์˜ ํ•ญ๋ชฉ์„ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. 1K ํ•ญ๋ชฉ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 10๋น„ํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
    • P1์€ (32 - 12- 10)์„ ์ทจํ•˜์—ฌ 10๋น„ํŠธ๊ฐ€ ํ• ๋‹น๋œ๋‹ค.

๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•

  • ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์ปค์งˆ์ˆ˜๋ก ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ๋„ ์ปค์ง€๋ฏ€๋กœ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•ด์ง„๋‹ค.
  • ๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ์†Œ๋ชจ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„์ด ๋Š˜์–ด๋‚œ๋‹ค.
  • TLB๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • 4๋‹จ๊ณ„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
    • ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„์ด 100ns, TLB ์ ‘๊ทผ ์‹œ๊ฐ„์ด 20ns
    • ์š”์ฒญ๋œ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๊ฐ€ TLB์— ์กด์žฌํ•  ํ™•๋ฅ  98%
    • ํ‰๊ท  ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„ (EAT) = 0.98 x 120 + 0.02 x 520 = 128ns
      • TLB hit์ด ์„ฑ๊ณตํ•  ๋•Œ๋Š” TLB ์ ‘๊ทผ ์‹œ๊ฐ„๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„์˜ ํ•ฉ์ธ 120ns๊ฐ€ ๋œ๋‹ค.
      • TLB hit์ด ์‹คํŒจํ•  ๋•Œ๋Š” TLB ์ ‘๊ทผ ์‹œ๊ฐ„๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ๊ฐ„ x 5์˜ ํ•ฉ์ธ 520ns์ด ๋œ๋‹ค.
    • ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•ด์„œ๋งŒ 28ns๊ฐ€ ์†Œ์š”๋œ๋‹ค.

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

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

Untitled

๊ณต์œ  ํŽ˜์ด์ง€

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

Untitled

  • ed 1, ed 2, ed 3๋Š” ๊ณต์œ  ํŽ˜์ด์ง€์ด๊ณ , data 1, data 2, data 3๋Š” ์‚ฌ์œ  ํŽ˜์ด์ง€์ด๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ•ญ๋ชฉ์—๋Š” ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด ์™ธ์— ๋ฉ”๋ชจ๋ฆฌ ๋ณดํ˜ธ๋ฅผ ์œ„ํ•œ ๋ณดํ˜ธ ๋น„ํŠธ์™€ ์œ ํšจ-๋ฌดํšจ ๋น„ํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
  • ๋ณดํ˜ธ ๋น„ํŠธ๋Š” ๊ฐ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด ์ฝ๊ธฐ-์“ฐ๊ธฐ/์ฝ๊ธฐ ์ „์šฉ ๋“ฑ์˜ ์ ‘๊ทผ ๊ถŒํ•œ์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์œ ํšจ-๋ฌดํšจ ๋น„ํŠธ๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์ด ์œ ํšจํ•œ ์ง€์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋‹ค.
    • ์œ ํšจ-๋ฌดํšจ ๋น„ํŠธ๊ฐ€ โ€˜์œ ํšจโ€™: ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ํ”„๋ ˆ์ž„์— ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ์กด์žฌ. ๋”ฐ๋ผ์„œ ์ ‘๊ทผ ํ—ˆ์šฉ
    • ์œ ํšจ-๋ฌดํšจ ๋น„ํŠธ๊ฐ€ โ€˜๋ฌดํšจโ€™: ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ์ง€ ์•Š๊ณ , backing store์— ์กด์žฌํ•˜์—ฌ ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ํ”„๋ ˆ์ž„์— ์ ‘๊ทผ ๋ถˆ๊ฐ€

์•„๋ž˜๋Š” ์œ ํšจ-๋ฌดํšจ ๋น„ํŠธ์™€ ๊ด€๋ จ๋œ ์‚ฌ์ง„์ด๋‹ค.

Untitled



๐Ÿ“š ์ถœ์ฒ˜

๋ฐ˜ํšจ๊ฒฝ๊ต์ˆ˜๋‹˜ ์šด์˜์ฒด์ œ ๊ฐ•์˜

์šด์˜์ฒด์ œ ์ •๋ฆฌ ๊นƒํ—™



Summary



โ‰๏ธ ๋ฉด์ ‘ ์˜ˆ์ƒ ์งˆ๋ฌธ

  1. ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค ์˜์—ญ์˜ ํ• ๋‹น ๋ฐฉ๋ฒ•์˜ ์ข…๋ฅ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. -> (์—ฐ์† ํ• ๋‹น, ๋ถˆ์—ฐ์† ํ• ๋‹น) ๊ฐ๊ฐ์˜ ์ข…๋ฅ˜ ํŠน์ง• ์„ค๋ช…
  1. Paging ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
  1. Paging์˜ ์žฅ๋‹จ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.