ํฌ์ŠคํŠธ

๐ŸŒ‘ Main-Memory ์ฃผ๊ธฐ์–ต์žฅ์น˜

๐Ÿ’ซ Main-Memory ์ฃผ๊ธฐ์–ต์žฅ์น˜


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

  • RAM Random Access Memory
    • ์ž„์˜์˜ ์ฃผ์†Œ์— ์ ‘๊ทผ
  • I.E. 8๋ผ์ธ = 2์˜ 8์Šน = 256B
  • I.E. 16๋ผ์ธ = 2์˜ 16์Šน = 64KB
  • I.E. 32๋ผ์ธ = 2์˜ 32์Šน = 4GB
  • 2์˜ 10์Šน = 1024 = 1K

  • ์ฃผ๊ธฐ์–ต์žฅ์น˜ Main Memory
  • ์™œ โ€˜์ฃผโ€™ ๊ธฐ์–ต์žฅ์น˜๋ƒ, CPU๊ฐ€ ์ง์ ‘ ์ฐธ์กฐ
    • ๋น„ํŠธ Bit ์™€ ๋ฐ”์ดํŠธ Byte
      • ๋น„ํŠธ 0/1์„ ๊ธฐ๋กํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์ตœ์†Œ ๊ตฌ์„ฑ ์†Œ์ž
      • ๋ฐ”์ดํŠธ : 8๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋˜๋ฉด 256๊ฐ€์ง€์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ •๋ณด ์ €์žฅ ๊ฐ€๋Šฅ
    • ๋ฐ”์ดํŠธ ๋ณ„ ์ฃผ์†Œ ์ง€์ •
      • ๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ๋Š”๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ฃผ์†Œ๋ฅผ ๋ถ€์—ฌ
    • ๋ฐ”์ดํŠธ ๋‹จ์œ„ ์ €์žฅ
      • ์ฝ๊ฑฐ๋‚˜ ์“ฐ๊ธฐ๋Š” ๋ฐ˜๋“œ์‹œ ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ด๋ฃจ์–ด์ง
    • 1/2/4/8 ๋ฐ”์ดํŠธ ๋™์‹œ ์ ‘๊ทผ (์ฝ๊ธฐ/์“ฐ๊ธฐ)
      • ๊ธฐ๊ณ„ ๋ช…๋ น์–ด Machine Instruction ์— ๋”ฐ๋ผ ๋™์‹œ ์ ‘๊ทผํ•˜๋Š” ๋ฐ”์ดํŠธ ์ˆ˜๊ฐ€ ๋‹ค๋ฆ„
    • ๋ฉ”๋ชจ๋ฆฌ ์–ผ๋ผ์ด๋จผํŠธ Memory Alignment
      • 2 4 8 ๋“ฑ์˜ ๋ฐ”์ดํŠธ ๋™์‹œ ์ ‘๊ทผ ์‹œ ๋ชฉํ‘œ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ,
      • 2 4 8์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋„๋ก ์š”๊ตฌํ•˜๋Š” ๊ธฐ๊ณ„ CPU ๊ฐ€ ์žˆ์Œ
      • #1 ๋ฐ”์ดํŠธ๋Š” ์–ด๋””์„œ๋“  ๋˜๋Š”

๐Ÿ’ซ ๊ตฌ์กฐ


๐Ÿซง Text/Code

์‹ค์ œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ ๋“ฑ์ด ์ €์žฅ

๐Ÿซง Data

์ „์—ญ ๋ณ€์ˆ˜ ๋“ฑ์ด ์ €์žฅ

๐Ÿซง Heap

์ฃผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ๋™์  ํ• ๋‹น
i.e. malloc, calloc, realloc

๐Ÿซง Stack

@@ Assembly

Assembly๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ, ์ €์žฅ๋˜๋Š” ๊ฐ’ ์ €์žฅ, Subroutine, Procedure ๋“ฑ
Stack ์ž๋ฃŒ ๊ตฌ์กฐ
BasePointer ์‹œ์ž‘ ์œ„์น˜๋ฅผ BP ๋ ˆ์ง€์Šคํ„ฐ, StackPointer ์ œ์ผ ์œ„ ์œ„์น˜๋ฅผ SP ๋ ˆ์ง€์Šคํ„ฐ
Glow Down, ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ๊ณผ ๋‹ฌ๋ฆฌ ๊ฑฐ๊พธ๋กœ ์ž๋ž€๋‹ค

๐Ÿ’ซ ๊ด€๋ฆฌ ๊ฐœ๋…


  • ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ํšŒ์ˆ˜๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ์‹œ๊ธฐ
    • ๋””์Šคํฌ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์ƒ์„ฑ๋  ๋•Œ โ† ์ฒซ ํ• ๋‹น
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜์—ˆ์„ ๋•Œ, ํšŒ์ˆ˜
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅด ์ถ”๊ฐ€ ์š”์ฒญํ•  ๋•Œ, ์ถ”๊ฐ€ ํ• ๋‹น
    • ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์„ ์ž ์‹œ ๋ณด๋ฅ˜ํ•˜๊ณ  ๋””์Šคํฌ๋กœ ์˜ฎ๊ธธ๋•Œ, ํšŒ์ˆ˜
    • ๋””์Šคํฌ์˜ ๋ณด๋ฅ˜๋˜์—ˆ๋˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ ์žฌ๊ฐœํ•  ๋•Œ, ์žฌํ• ๋‹น
  • ํ• ๋‹น ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜
    • ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์€ ๋ฐ˜๋“œ์‹œ ๋น„์–ด์žˆ๋Š” ๊ณณ์— ์ด๋ฃจ์–ด์ง
    • ์žฌ ํ• ๋‹น์˜ ๊ฑ์šฐ ๊ผญ ๋™์ผ์žฅ์†Œ์— ์ด๋ฃจ์–ด์ ธ์•ผ ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋‹ค๋ฅธ ๋นˆ ๊ณต๊ฐ„์— ์ด๋ฃจ์–ด์งˆ ์ˆ˜๋„ ์žˆ์Œ
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ํ•„์š”์„ฑ
    • ์œ„์™€ ๊ฐ™์ด ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ• ๋‹น๊ณผ ํšŒ์ˆ˜๊ฐ€ ์—ญ๋™์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋ฏ€๋กœ ์–ด๋Š๊ณณ์ด ๋น„์–ด์žˆ๋Š”์ง€ ์–ด๋Š ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์–ด๋””์— ์–ด๋Š๋งŒํผ์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ด€๋ฆฌ๊ฐ€ ํ•„์š”ํ•จ
  • ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ „๋žต(๋ฐฉ๋ฒ•)์˜ ๋ถ„๋ฅ˜
    • ~
  • ์ „์ฒด ์ ์žฌ์™€ ์ผ๋ถ€ ์ ์žฌ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
    • ์ „์ฒด ์ ์žฌ
      • ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ์„ธ์Šค ์ด๋ฏธ์ง€ (Text,Data,Stack๋“ฑ) ์ „์ฒด๋ฅผ ์ ์žฌ
      • ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ด๊ณ  ์ดํ•ด๊ฐ€ ์‰ฌ์šดใ…‡ ์ „๋žต
      • ์‹คํ–‰์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค ํฌ๊ธฐ์˜ ์ดํ•ฉ์€ ์ปดํ“จํ„ฐ ๋ฉ”๋ชจ๋ฆฌ(์ฃผ๊ธฐ์–ต์žฅ์น˜) ์šฉ๋Ÿ‰ ์ดˆ๊ณผ ๋ถˆ๊ฐ€
        • ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ •๋„ Degree of Multiprogramming ๊ฐ€ ๋‚ฎ์•„์งˆ ์ˆ˜ ๋ฐ–์— ์—†์Œ
    • ์ผ๋ถ€ ์ ์žฌ
      • ํ”„๋กœ์„ธ์Šค ์ด๋ฏธ์ง€์˜ ํ•„์š”ํ•œ ์ผ๋ถ€๋งŒ ์ ์žฌํ•˜์—ฌ ์‹คํ–‰
      • ๋ณต์žกํ•˜๊ณ  ๊ธฐ๊ต์Šค๋Ÿฐ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์ด ์š”๊ตฌ๋จ
      • ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋“ค ํฌ๊ธฐ์˜ ์ดํ•ฉ์ด ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ํ›จ์”ฌ ์ดˆ๊ณผํ•  ์ˆ˜ ์žˆ์Œ
        • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ Virtual Memory
        • ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ •๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Œ
    • ์—ฐ์† ~
    • ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์ฃผ์†Œ Logical & Physical Address

@0516

  • ๋‹จ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ
    • ํŠน์ง•
      • ๋ฉ”๋ชจ๋ฆฌ์— ์˜ค์ง ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์กด์žฌ
      • ๊ตณ์ด ๋…ผ๋ฆฌ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์ฃผ์†Œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ฑฐ๋‚˜, ์ด๊ณณ์ €๊ณณ์— ๋ถ„์‚ฐ ๋ฐฐ์žฌํ•  ํ•„์š”์„ฑ์—†์Œ
      • ๋ฉ”๋กœ์ด์˜ ์‚ฌ์šฉ์ž ์˜์—ญ์— ์—ฐ์† ํ• ๋‹น
      • ๋‹ค๋งŒ, ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•  ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ๋ฐฉ์•ˆ ํ•„์š”
    • OS ๋ณดํ˜ธ
      • ์‚ฌ์šฉ์ž ํ”„๋กœ์„ธ์Šค๋กœ OS ์˜๊ฒฉ ์นจ๋ฒ”๋ฐฉ์ง€
      • ๊ฒฝ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ์— ๊ฒฝ๊ณ„๊ฐ’ ์„ค์ •, ์ฃผ์†Œ๊ฐ€ ์ด ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ์˜ˆ์™ธ๋ฐœ์ƒ์œผ๋กœ ํ”„๋กœ์„ธ์Šค ๋ถ„์‚ฐ์‹œํ‚ค
    • ์˜ค๋ฒ„๋ ˆ์ด
      • ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๋Š ๊ฒฝ์šฐ ์ฒ˜๋ฆฌ๋ฐฉ๋ฒ•
      • ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ๋ถ€๋ถ„์œผ๋กœ ๋ถ„๋ฆฌ
      • ๋ถ„๋ฆฌ๋œ ๋ถ€๋ถ„์„ํ•„์š”ํ•  ๋•Œ ๋งˆ๋‹ค ๋™์ผ ์žฅ์†Œ์— ๊ต์ฒดํ•˜์—ฌ ์ ์žฌ (๋™์  ์ ์žฌ Dynamic Loading
        • ๊ฐœ๋ฐœ์ž์˜ ์„ค๊ณ„์— ๋”ฐ๋ผ OS์— ์š”์ฒญํ•˜์—ฌ ์ ์žฌ
      • ์ฆ‰, ํ”„๋กœ๊ทธ๋ž˜๋ฏฑ ๋ถ„๋ฆฌ ๋ฐ ์šด์˜์€ SW ๊ฐœ๋ฐœ์ž์˜ ์„ค๊ณ„์— ์˜ํ•ด ์ด๋ฃจ์–ด์ง
  • ๊ณ ์ • ๋ถ„ํ• 
    • ๊ฐœ๋…
      • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ช‡ ๊ฐœ์˜ ๋ถ€๋ถ„์„ ๊ณ ์ • ๋ถ„ํ• ํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ 
      • ๋ชฉ์  ์ฝ”๋“œ๋“ค์€ ํŠน์ • ๋ถ„ํ• ์„ ๋ชฉํ‘œ๋กœ ์ž‘์„ฑ๋˜๊ฑฐ๋‚˜, ์ž„์˜์˜ ๋ถ„ํ• ์— ์ ์žฌ๋  ์ˆ˜ ์žˆ๋„๋ก ์žฌ๋ฐฐ์น˜ ๊ฐ€๋Šฅ Eolocatable ํ•˜์— ์ž‘์„ฑ๋˜์–ด์•ผ ํ•จ
  • ๊ณ ์ • ๋ถ„ํ• , ๊ฐ€๋ณ€๋ถ„ํ• 
    • ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ๋Š” ์–ด๋–ค ํ˜•ํƒœ๋กœ๋“  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ํ• ๋‹นํ•ด์•ผํ•จ
    • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ํ”„๋กœ๋ ˆ์Šค๋ฅผ ํ•˜๋‚˜์˜ ๋ถ„ํ• ์— ์—ฐ์†์ ์œผ๋กœ ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€
  • OS ๋ฐ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค ๋ณดํ˜ธ
    • ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ๋Š” OS ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ผ์ง€๋„ ๋ณดํ˜ธ
    • ๊ฐ ํ”„๋กœ์„ธ์Šค๋ณ„๋กœ ์ž์‹œ๋Š์ด ์ง‘ ์˜์—ญ์„ ๋ฒ—์–ด๋‚˜ ์ฐธ์กฐํ•œ๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฃผ์†Œ์˜ ์ƒ-ํ•˜ํ•œ์„ ์„ฑ์ •ํ•˜์—ฌ ๊ด€๋ฆฌํ•ด์•ผํ•จ ๋งํ•˜๊ธฐ๋„ ํ•œ๋‹ค
    • ์ฆ‰ ์ƒ-ํ•˜ํ•œ ๊ฒฝ๊ณ„ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ํ™œ์šฉํ•จ
  • ๋ถ„ํ• ์˜ ํฌ๊ธฐ
    • ํ”„๋กœ์„ธ์„œ์˜ ํฌ๊ธฐ์™€ ๋ถ„ํ• ์˜ ํฌ๊ธฐ๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ์ผ์น˜ํ•˜์ง€ ์•Š์•„ ๋ฉ”๋ชจ๋ฆฌ ์ผ๋ถ€๊ฐ€ ๋‚ญ๋น„๋˜๋Š” ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ Internal Fragmentation ๋ฐœ์ƒ
    • ~๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ถ„ํ• ์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€๊ธ‰์  ์•„์–‘ํ•˜๊ฒŒ ํ•ด์•ผํ•จ
  • ๊ฐ€๋ณ€ ๋ถ„ํ• 
    • ๋ฉ”๋ชจ๋ฆฌ ์ „์ฒด๋ฅผ ํ’€๋กœ ๋ณด๊ณ  ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ •ํ™•ํ•œ ํฌ๊ธฐ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ํ• ๋‹น
    • ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ถ„ํ• ๋œ ํ• ๋‹น ํ•˜๋‚˜์— ์—ฐ์†์ €๊ธ๋กœ ์ ์žฌ๋œ๋‹ค๋Š” ์ ์€ ๊ณ ์ • ๋ถ„ํ• ๊ณผ ๋™์ผ
    • ๋ชฉ์  ์ฝ”๋“œ๋“ค์€ ์–ด๋Š ์ฃผ์†Œ ์ ์žฌ๋ ์ง€ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ์žฌ๋ฐฐ์น˜๊ฐ€ ๊ฐ€๋Š์•ป์•ผ ํ•จ
    • ํ˜ˆ๋‹น๊ณผ ๋ฐ˜๋‚ฉ์ด ๋ฐ˜๋ณต๋˜๋ฉด์„œ ์‚ฌ์šฉ๋„๊ฐ€ ๊ทนํžˆ ์•‰์€ ์ž‘์€ ๋นˆ ๊ณต๊ฐ„ (์กด์žฌํ•˜๋Š” ์™ธ๋ถ€ ๋‹จํŽธํ™”, External Fragmentation) ๋ฌธ์ œ ๋Œ€๋‘
    • ๋ณ‘ํ•ฉ ๊ณผ ํ†ตํ•ฉ ์ ˆ์ฐจ ํ•„์š”
  • ์ธ์ ‘ํ•œ ๋นˆ๋ถ„ํ• ๋“ค์˜ ๋ณ‘ํ•ฉ Coalescing
    • ํ• ๋‹น๋˜์—ˆ๋–ค ๋ถ„ํ•˜์ด ๋ฐ˜๋‚ฉ๋˜์–ด ๋นˆ๋ถ„ํ• ์ด ๋˜์—ˆ์„ ๋•Œ, ์•ž์ด๋‚˜ ๋’ค์— ์ธ์ ‘ํ•œ ๋นˆ๋ถ„ํ•˜๋ง ์กด์žฌํ•˜๋ฉด ์ด๋“ค์„ ๋ณ‘ํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ํฐ ๋นˆ๋ถ„ํ• ์„ ๋งŒ๋“ฆ
    • ์™ธ๋ถ€ ๋‹จํŽธํ™” ์ตœ์†Œํ™”
  • ๋ถ„์‚ฐ๋œ ๋นˆ ๋ถ„ํ• ๋“ค์˜ ํ†ตํ•ฉ Compaction
    • ์—ฌ๊ธฐ์ €๊ธฐ ํฉ์–ด์ €์ž‡๋Š” ์ž‘์€ ๋ถ„ํ• ๋“ค์„ ์ด๋™์‹œ์ผœ ํ•˜๋‚˜์˜ ํฐ ๋นˆ ๋ถ„ํ• ๋กœ ๊ด€๋ฆฌ
    • ๋นˆ ใ…œใ„ดํ• ๋ฟ๋งŒ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉ์ค‘์ธ ๋ถ„ํ• ๋“ค๋„ ์ด๋™์ด ๋ถˆ๊ฐ€ํ”ผ
    • => ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๋“ค์— ๋Œ€ํ•ด ์‹คํ–‰์„ ์ค‘๋‹จํ•˜๊ณ  ์žฌ๋ฐฐ์น˜ ์ž‘์—…์ด ํ•„์š”ํ•จ
  • ๊ฐ€๋ณ€ ๋ถ„ํ• ์˜ ํ• ๋‹น ์ •์ฑ…
    • ์ฃ„์  ์ ํ•ฉ Best fit ํ• ๋‹น
    • ์ตœ์•… ์ ํ•ฉ Worst-fit ํ• ๋‹น
    • ์ตœ์ดˆ ์ ํ•ฉ First-fit ํ• ๋‹น
    • ์ˆœ์ฐจ ์ ํ•ฉ Next-fit ํ• ๋‹น
    • ์ธ์ ‘ํ•œ ๋นˆ ๋ถ„ํ• ๋“ค์˜ ๋ณ‘ํ•ฉ Coalescing
  • ๋น„์—ฐ์† ํ• ๋‹น

  • Paging & Segmentation
    • ํ”„๋กœ๊ทธ๋žจ์„ ์›๋ž˜ ๋ชจ์–‘ ๊ทธ๋Œ€๋กœ ์ ์žฌํ•˜์ง€ ์•Š์Œ (๋‚˜๋ˆ ์„œ)
    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…ผ๋ฆฌ์  ์กฐ์ž‘์œผ๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด๊ณณ์ €๊ณณ์— ๋ถ„์‚ฐํ•˜์—ฌ ์ ์žฌ
      • => ๋น„์—ฐ์† ์ ์žฌ (ํ• ๋‹น) ์ •์ฑ…
    • ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€๋ถ„์„ ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ• (๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ)์œผ๋กœ์˜ ๋ฐœ์ „์ด ์šฉ์ด
    • ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์€ ํ”„๋กœ๊ทธ๋žจ์„ ๋…ผ๋ฆฌ์  ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ๋ฒ•์„
  • Paging
    • ๊ฐœ๋…
      • ํ”„๋กœ๊ทธ๋žจ์„ ์ผ์ •ํ•œ ํฌ๊ธฐ์˜ ์ž‘์€ ์กฐ๊ฐ์œผ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ๊ฐ๊ฐ์˜ ์กฐ๊ฐ์„ ํŽ˜์ด์ง€๋ผ ํ•จ
      • ํŽ˜์ด์ง€ ํฌ๊ธฐ๋Š” ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ 512~8K๋ฐ”์ดํŠธ
      • ๋ฉ”๋ชจ๋ฆฌ ๋˜ํ•œ ํŽ˜์ด์ง€์™€ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๊ฐ ๋ถ„ํ• ์„ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ PageFrame์ด๋ผ ํ•จ
      • ํ”„๋กœ๊ทธ๋žจ์˜ ํŽ˜์ด์ง€๋ฅผ ์ž„์˜์˜ ๋นˆ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์— ์ ์žฌํ•˜๊ณ , ๊ทธ ์ •๋ณด๋ฅผ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๋กœ ๊ด€๋ฆฌ
      • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜๋Š” PTBR, Page Table Base Register์— ์„ค์ •
  • ๋…ผ๋ฆฌ ์ฃผ์†Œ์˜ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๋ณ€ํ™˜
    • CP๊ฐ€ ์˜ฌ๋ฆฐ ๋…ผ๋ฆฌ ์ฃผ์†Œ (๊ธฐ๊ณ„ ๋ช…๋ น์–ด ๋‚ด์˜ ํ”ผใ…ฃ์—ฐ์‚ฐ์ž ์ฃผ์†Œ)๋Š” MMU์— ์˜ํ•ด ๋Œ€์‘๋˜๋Š” ๋ฌผ๋ฆฌ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜๋จ)
    • ๋…ผ๋ฆฌ์ฃผ์†Œ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ๊ทธ ํŽ˜์ด์ง€ ๋‚ด์—์„œ์˜ ๊ฑฐ๋ฆฌ Offset / Displacement
    • ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋Š” ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ์™€ ๊ทธ ํ”„๋ ˆ์ž„ ๋‚ด์—์„œ์˜ ๊ฑฐ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋จ
    • ์ฆ‰, MMU๋Š” ๋…ผ๋ฆฌ์ฃผ์†Œ์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋ฅผ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ์ ์žฌ๋œ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ๋กœ ๋Œ€์น˜ํ•˜๋ฉด ๋จ
    • ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ์ ์žฌ๋œ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ๋ฒ„๋ฒˆํ˜ธ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์—ฌ ์–ป์–ด๋ƒ„
    • ํŽ˜์ด์ง€ ํฌ๊ธฐ๋Š” 2^n์˜ ํฌ๊ธฐ (512 1024 2048 4096 8192,โ€ฆ)
  • ํŽ˜์ด์ง•์„ ์œ„ํ•œ MMU ๊ตฌ์กฐ
    • MMU๋Š” ๊ทธ๋ฆผ 7-12์˜ ์ ˆ์ฐจ์— ๋”ฐ๋ผ ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฌด๋ฆฌ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•จ
    • ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ 2^n์ด๋ฏ€๋กœ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ, ํŽ˜์ด์ง€ ๋‚ด ๊ฑฐ๋ฆฌ, ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ๋ฅผ ๋‹ค๋ฃจ๊ธฐ๊ฐ€ ์šฉ์ดํ•จ
  • ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์œ„ํ•œ ํŽ˜์ด์ง• MMU ๊ตฌ์†Œ
    • ํŽ˜์ด์ง•์˜ ๊ฐ€์žฅ ํฐ ๋‹จ์ ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ‘๊ทผํ•  ๋•Œ๋งˆ๋‹ค ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•ด์•ผ ํ•จ
    • ์ฆ‰, ๋‘ ๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚จ โ†’ ์„ฑ๋Šฅ์ด ์ ˆ๋ฐ˜์œผ๋กœ ์ €ํ•˜๋จ
    • ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ํ•œ ๋ฒˆ ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ๋‚ด์šฉ์„ ์—ฐ๊ด€ ๋ฉ”๋ชจ๋ฆฌ Associative Memory ์†Œ์ž๋กœ ๊ตฌ์„ฑ๋œ TLB, Translation Lookaside Buffer์— ์บ์‹œ์‹œํ‚ด
    • TLB ๊ฒ€์ƒ‰์—์„œ ์‹คํŒจํ•œ ๊ฒฝ์šฐ๋งŒ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐ
      • TLB์—์„œ ์„ฑ๊ณตํ•œ ๋น„์œจ์€ ์ ์ค‘๋ฅ  Hit Ratio ๋ผํ•˜๋Š” ๋ฐ, ์ ์€ ์šฉ๋Ÿ‰์œผ๋กœ 90% ์ด์ƒ์˜ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ์Œ
  • ํŽ˜์ด์ง• ์‹œ์Šคํ…œ ๋ถ„์„
    • ์žฅ์ 
      • ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€์—์„œ์˜ ๋‚ด๋ถ€ ๋‹จํŽธํ™” ์™ธ์—, ๋‹จํŽธํ™”์— ๋”ฐ๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์—†์Œ
      • ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€์˜ ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ์ปค์ง
      • ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๋ถ„๋ฆฌ๋˜๋ฏ€๋กœ, ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋…ผ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ณ , ์žฌ๋ฐฐ์น˜๊ฐ€ ๋ถˆํ•„์š”ํ•จ
      • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋“  ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชฉ์  ์ฝ”๋“œ๊ฐ€ 0๋ฒˆ์ง€ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋”๋ผ๋„ ๋Œ€์‘๋˜๋Š” ๋ฌผ๋ฆฌ์ฃผ์†Œ๋Š” ๋‹ค๋ฆ„์œผ๋กœ ์ „ํ˜€ ๋ฌธ์ œ ์—†์Œ
    • ๋‹จ์ 
      • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์กด์žฌํ•จ
      • ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ์ž‘์œผ๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์—”ํŠธ๋ฆฌ ์ˆ˜๋„ ๋Š˜์–ด๋‚˜๋ฏ€๋กœ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํฌ๊ธฐ๋„ ์ฆ๊ฐ€ํ•จ
      • ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ์กด์žฌํ•จ
  • ๋‹ค๋‹จ๊ณ„ ํŽ˜์ด์ง• - ํŒจ์Šค

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

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

@0518

  • ํŽ˜์ด์ง€ํ™” ๋œ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ Segmentation with Paging
    • ๊ฐœ๋…
      • ํŒจ์ด์ง•์˜ ๋‹จ์ ์€ ์ ์žฌ๋‹จ์œ„๊ฐ€ ๋„ˆ๋ฌด ์ž‘์•„ ๋ณดํ˜ธ์™€ ๊ณต์œ  ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ถ€๋‹ด์ด ์žˆ์Œ
      • ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์˜ ๋‹จ์ ์€ ๊ฐ€๋ณ„ ๋ถ„ํ•  ๋ฐฉ์‹์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์ •์ฑ…์œผ๋กœ ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ
      • ํŽ˜์ด์ง€ํ™”๋œ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์€, ๋ถ„๋ฆฌ๋œ ๊ฐ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์žฌ๊ตฌ์„ฑํ•˜์—ฌ ํ• ๋‹นํ•˜๊ณ  ์ ์žฌํ•จ
      • โ†’ ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์˜ ์žฅ์ ๋งŒ์„ ์ถ”ํ•œ ๋ฐฉ๋ฒ•
      • ๋…ผ๋ฆฌ ์ฃผ์†Œ์—์„œ ์„ธ๊ทธ๋จผํŠธ ์ฃผ์†Œ์™€ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋ฅผ ๋„์ถœํ•˜๊ณ , ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ” ๋ฐ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜
      • ์ฃผ์†Œ๋ฅผ ํ•œ ๋ฒˆ ๋” ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ํ•œ ๋ฒˆ ๋” ์ƒ๊ธฐ๋Š” ๋ฐ, ์‹ ๊ฒฝ์“ธ ์ •๋„๋Š” ์•„๋‹ˆ๋‹ค
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ (VS ์‹ค, ๋ฌผ๋ฆฌ, Real, Physical ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ)

  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐœ๋…
    • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ
      • ์‚ฌ์šฉ์ž๋“ค์ด ์‹ค์ œ ๋ฌด๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํ›จ์”ฌ ํฌ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ
      • ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๊ฐ€ ์ ์žฌ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์ „์ฒด ํ•˜์—์„œ๋Š” ๋ถˆ๊ฐ€๋Šฅ
      • ํ”„๋กœ๊ทธ๋žจ ์ผ๋ถ€๋งŒ ์ ์žฌํ•˜๋ ค๋ฉด, ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถ„๋ฆฌ ์ ์žฌ๊ฐ€ ๋ถˆ๊ฐ€ํ”ผ
      • โ†’ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์— ๊ธฐ๋ฐ˜
      • ํ”„๋กœ๊ทธ๋žจ์˜ ์ ์žฌ๋˜์ง€ ์•Š์€ ๋ถ€๋ถ„์€ ๋””์Šคํฌ์— ์กด์žฌ
      • ๋””์Šคํฌ์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜ค๊ฐ€๋ฉฐ ํ•„์š”ํ•œ ๋ถ€๋ถ„๋งŒ์ด ์ ์žฌ๋จ (Swapping)
  • ์š”๊ตฌ ํŽ˜์ด์ง• Demand Paging
    • ์š”๊ตฌ ํŽ˜์ด์ง•
      • ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์˜ ํ™•์žฅ์œผ๋กœ, ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚  ๋•Œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ ์žฌ
      • ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฐธ์กฐ ์ธ์‹ ๋ฐ ์ ์žฌ๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ™œ์šฉ
      • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ์ ์žฌ ์—ฌ๋ถ€๋ฅผ ํ‘œ์‹œํ•˜๊ณ , ๋งŒ์•ฝ ์ ์žฌ๋˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ (ํŽ˜์ด์ง€ ๋ถ€์žฌ ํŠธ๋žฉ, Page Fault Trap) ๊ฐ€ ๋ฐœ์ƒ
      • ํ•ด๋‹น ์ธํ„ฐ๋ŸฝํŠธ ํ•ธ๋“ค๋Ÿฌ์—์„œ ํŽ˜์ด์ง€ ์ ์žฌ (์Šค์™‘ ์ธ, Swap in)
      • ์ฐธ์กฐ๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋Š” ๋””์Šคํฌ์— ์ €์žฅํ•˜๊ณ  (์Šค์™‘ ์•„์›ƒ, Swap out) ํ• ๋‹น๋˜์—ˆ๋˜ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ํšŒ์ˆ˜
  • ํŽ˜์ด์ง€ ๋ถ€์žฌ ํŠธ๋žฉ ์ฒ˜๋ฆฌ ๊ณผ์ • (ISR, ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด)
    • ํŽ˜์ด์ง€ ์ฐธ์กฐ์‹œ ๋ถ€์žฌ ํŽ˜์ด์ง€์ผ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฌํŠธ์˜ ํ•˜๋‚˜
    • ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ํ• ๋‹นํ•˜๊ณ , ๊ทธ ๊ณณ์— ๋””์Šคํฌ์— ์กด์žฌํ•˜๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ์ž…๋ ฅ
    • ๋ถ€์žฌ ํŽ˜์ด์ง€ ์ฒ˜๋ฆฌ๋ถ€๋‹ด์œผ๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋Š” ๋ถˆ๊ฐ€ํ”ผ

@Locality ์ง€์—ญ์„ฑ

  • ํŽ˜์ด์ง€ ๊ต์ฒด Page Replacement
    • ํŽ˜์ด์ง€ ๋ถ€์žฌ ํŠธ๋žฉ์ด ๋ฐœ์ƒํ•˜์—ฌ ํŽ˜์ด์ง€๋ฅผ ์ ์žฌํ•˜๊ณ ์ž ํ•  ๋•Œ, ๋นˆ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์ด ์—†๋‹ค๋ฉด?
    • ์ด๋ฏธ ์ ์žฌ๋œ ํŽ˜์ด์ง€ ์ค‘ ์ ์ ˆํ•œ ๊ฒƒ (ํฌ์ƒ์–‘ Victim)์„ ์„ ํƒํ•˜์—ฌ ๋””์Šคํฌ์— ๋ณด๊ด€ํ•˜๊ณ , ํ• ๋‹น๋˜์—ˆ๋˜ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ํšŒ์ˆ˜
    • ์œ„์™€ ๊ฐ™์ด, ์ ์žฌ๋œ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ๋กœ ๋ณด๋‚ด๊ณ , ๊ทธ ๊ณณ์— ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋ฅผ ์ ์žฌํ•˜๋Š” ๊ณผ์ •์„ ํŽ˜์ด์ง€ ๊ต์ฒด๋ผ ํ•จ
    • ํฌ์ƒ ํŽ˜์ด์ง€๋ฅผ ์„ ์ •ํ•˜๋Š” ๊ณผ์ •์„ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์นจ
  • ์ตœ์  OPT, Optional ํŽ˜์ด์ง€ ๊ต์ฒด
    • ๊ฐœ๋…
      • ๊ต์ฒด ๋Œ€์ƒ ํŽ˜์ด์ง€๋กœ ๋ฏธ๋ž˜์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ฑฐ๋‚˜ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒ
      • MIN, Minimal ํŽ˜์ด์ง€ ๊ต์ฒด๋ผ๊ณ ๋„ํ•จ
      • ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์ผ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„ ๋ถˆ๊ฐ€ โ† ๋น„๊ต ๋Œ€์ƒ ๋ฐฉ๋ฒ•์œผ๋กœ์„œ์˜ ์˜๋ฏธ
  • FIFO, First in First out ํŽ˜์ด์ง€ ๊ต์ฒด
    • ๊ฐœ๋…
      • ์ ์žฌ๋œ ์ง€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ณ ์ฒด
      • ํŽ˜์ด์ง€๋ณ„ ์ ์žฌ ์‹œ๊ฐ„์„ ๊ด€๋ฆฌํ•  ์žฅ์น˜๊ฐ€ ํ•„์š” (ํ ํ˜น์€ ํƒ€์ž„ ์Šคํƒฌํ”„)
      • ๋ฒจ๋Ÿฌ๋”” ๋ชจ์ˆœ (Beladyโ€™s Anomaly) ํ˜„์ƒ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Œ
  • LRU, Least Recently Used ํŽ˜์ด์ง€ ๊ต์ฒด
    • ๊ฐœ๋…
      • ์‚ฌ์šฉ (์ฐธ์กฐ)๋œ ์ง€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ต์ฒด
      • ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜์œผ๋‹ˆ, ์•ž์œผ๋กœ๋„ ์‚ฌ์šฉ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์„ ๊ฒƒ์ด๋ผ๋Š” ํŒ๋‹จ์— ๊ทผ๊ฑฐ
      • ํŽ˜์ด์ง€๋ณ„ ์ฐธ์กฐ ์‹œ๊ฐ„์ด ๊ด€๋ฆฌ๋˜์–ด์•ผ ํ•จ (์Šคํƒ ๊ตฌ์กฐ๋‚˜ ํƒ€์ž„ ์Šคํƒฌํ”„)

@0523 ๋‚ฎ์ž ์ž๋‹ค๊ฐ€ ๋ชป ์ผ์–ด๋‚˜์„œ ์ž์ฒดํœด๊ฐ•

  • NUR, Not Used Recently ํŽ˜์ด์ง€ ๊ต์ฒด
    • ๊ฐœ๋…
      • ๋น„๊ต์  ์ตœ๊ทผ์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒด
      • ๋ชจ๋“  ํŽ˜์ด์ง€๋“ค ์‚ฌ์ด์˜ ์ฐธ์กฐ ์ˆœ์„œ๋ฅผ ์ผ๋ ค๋กœ ๊ฐ€๋ฅด์ง€ ์•Š๊ณ , ์ฐธ์กฐ ๋œ ๋“ฑ๊ธ‰๊ณผ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ๋“ฑ๊ธ‰์œผ๋กœ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๊ฐ™์ด ๊ฐœ๋žต์ ์ธ ์ฐธ์กฐ ์ƒํ™ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŽ˜์ด์ง€ ๋“ค์„ ๋ช‡ ๊ฐ€์ง€ ๊ทธ๋ฃน์œผ๋กœ ๋ถ„๋ฅ˜ํ•จ์œผ๋กœ์จ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์ค„์ด๋ฉด์„œ LRU์— ๊ฐ€๊นŒ์šด ํšจ๊ณผ๋ฅผ ์–ป๋Š” ๋ฐฉ๋ฒ•
      • ๊ทผ์‚ฌ LRU, LRU Approximation ์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ

@0525

  • ํ”„๋กœ๊ทธ๋žจ ์ง€์—ญ์„ฑ Locality of Program ์ด๋ก 
    • ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ Temporal Locality
      • ์žฅ์†Œ(๋ณ€์ˆ˜)๋“ค์ด ์ผ์ •ํ•œ ์‹œ์ฐจ๋ฅผ ๋‘๊ณ  ๋ฐ˜๋ณต์ ์œผ๋กœ ์žฌ์ฐธ์กฐ๋˜๋Š” ํ˜„์ƒ
        • ํ”„๋กœ๊ทธ๋žจ ๋กœ์ง์€ ๋ณดํ†ต ๋ฐ˜๋ณต(๋ฃจํ”„)์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฏ€๋กœ ์ง€๊ธˆ ์ฐธ์กฐํ•œ ๊ธฐ๊ณ„ ๋ช…๋ น์–ด๋Š” ๋จธ์ง€์•Š์•„ ๊ณง ๋‹ค์‹œ ์‹คํ–‰๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ
        • ๋ฐ˜๋ณต ๊ตฌ๋ฌธ์—์„œ ์ฐธ์กฐ๋˜๋Š” ๋ณ€์ˆ˜๋„ ๋งˆ์ฐฌ๊ฐ€์ง€
    • ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ Spacial Locality
      • ํ˜„์žฌ ์ฐธ์กฐ๋˜๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์˜ ์ธ๊ทผ ์ง€์—ญ์ด ๋จธ์ง€ ์•Š์•„ ์ฐธ์กฐ๋˜๋Š” ํ˜„์ƒ
        • ์ง€๊ธˆ ์‹คํ–‰์ค‘์ธ ๊ธฐ๊ณ„ ๋ช…๋ น์–ด ์ธ๊ทผ์ด๋‚˜, ์ฐธ์กฐ ์ค‘์ธ ๋ฐฐ์—ด ์›์†Œ์˜ ์ธ๊ทผ ์ง€์—ญ
  • ์Šค๋ž˜์‹ฑ์„ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ์ด๋‚˜ ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์ด ๋†’์€ ํŽ˜์ด์ง€๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด ์žˆ์–ด์•ผ ํ•œ๋‹ค
  • ์ž‘์—… ์ง‘ํ•ฉ์€ ์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ๊ณผ ๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ์ด ๋†’์€ ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ

  • ์ž‘์—… ์ง‘ํ•ฉ ๊ด€๋ฆฌ์™€ ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„
    • ์ž‘์—… ์ง‘ํ•ฉ์˜ ํฌ๊ธฐ
      • ์ž‘์—… ์ง‘ํ•ฉ W(t, delta t)์˜ ํฌ๊ธฐ๋Š” ๊ฒฐ๊ตญ delta t์˜ ํฌ๊ธฐ์— ์ขŒ์šฐ ๋จ
      • delta t๋ฅผ ๋„ˆ๋ฌด ํฌ๊ฒŒ ํ•˜๋ฉด ์ž‘์—… ์ง‘ํ•ฉ์— ์ง€์—ญ์„ฑ์ด ์•ฝํ•œ ํŽ˜์ด์ง€๊ฐ€ ํฌํ•จ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ
      • delta t๋ฅผ ๋„ˆ๋ฌด ์ž‘๊ฒŒ ํ•˜๋ฉด ์ž‘์—… ์ง‘ํ•ฉ์— ์ง€์—ญ์„ฑ์ด ๊ฐ•ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ˆ„๋ฝ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ
        • delta t๋ฅผ ์ง€์†์ ์œผ๋กœ ์ ์ ˆํ•˜๊ฒŒ ๊ด€๋ฆฌํ•˜์—ฌ์•ผ ํ•จ
    • ์ ์ ˆํ•œ delta t ์œ ์ง€ ๋ฐฉ์•ˆ
      • ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„ PFF, Page Fault Frequency ๊ฐ€ ๊ธฐ์ค€์น˜๋ณด๋‹ค ๋†’์œผ๋ฉด delta t ํ™•๋Œ€
      • ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„ PFF ๊ฐ€ ๊ธฐ์ค€์น˜๋ณด๋‹ค ๋‚ฎ์œผ๋ฉด delta t ์ถ•์†Œ
    • ์ž‘์—… ์ง‘ํ•ฉ๊ด€๋ฆฌ์˜ ์˜ˆ
      • delta t๋ฅผ ํ˜„ ์‹œ์ ๋ถ€ํ„ฐ ๊ณผ๊ฑฐ ํŽ˜์ด์ง€ ์ฐธ์กฐ ํšŒ์ˆ˜๋กœ ์ •์˜
      • ์ตœ๊ทผ ๋‘ ๋ฒˆ์˜ ํŽ˜์ด์ง€ ์ฐธ์กฐ ์ค‘ ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ์ผ์–ด๋‚œ ํšŒ์ˆ˜๋ฅผ PFF๋กœ ์ •์˜
      • PFF๊ฐ€ 1์ด๋ฉด ์ ์ ˆํ•œ ๊ฒƒ์œผ๋กœ ์ •์˜
        • PFF > 1 ์ด๋ฉด delta 1 ์ฆ๊ฐ€, PFF < 1 ์ด๋ฉด delta t๋ฅผ 1 ๊ฐ์†Œ
  • ๊ธฐํƒ€ ๋…ผ์ ๋“ค
    • ํŽ˜์ด์ง€ ํฌ๊ธฐ
      • ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ํฌ๋ฉด?
        • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์—”ํŠธ๋ฆฌ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ•˜์—ฌ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ํฌ๊ธฐ๊ฐ€ ์ž‘์•„์ง
        • ์Šค์™€ํ•‘์„ ์œ„ํ•œ ์ž…์ถœ๋ ฅ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Œ
        • ํŽ˜์ด์ง€ ๊ต์ฒด ๋ฐ ์ ์žฌ์˜ ํšŒ์ˆ˜๊ฐ€ ์ค„์–ด ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ๋„์›€์ด ๋จ
        • ์ •๋ณด์˜ ์ ์ค‘๋ฅ ์ด ๋‚ฎ์•„ ์ง
        • ํ”„๋กœ๊ทธ๋žจ์˜ ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€์—์„œ์˜ ๋‹จํŽธํ™” ๋‚ญ๋น„๊ฐ€ ์ฆ๊ฐ€ํ•จ
    • ํŽ˜์ด์ง€ ํฌ๊ธฐ ๋Œ€์†Œ์— ๋”ฐ๋ฅธ ์˜ํ–ฅ์„ ์ƒํ˜ธ ๋ฐฐํƒ€์ 
    • ๋‹ค์ฐจ์›๋ฐฐ์—ด ์ ‘๊ทผ
      • ํ–‰ ์œ„์ฃผ, ์—ด ์œ„์ฃผ ์ ‘๊ทผ
    • ํ•จ์ˆ˜ ๋ฐฐ์น˜
      • ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ ์‹œ, ์ž์ฃผ ํ˜ธ์ถœ๋˜๋Š” ํ•จ์ˆ˜๋Š” ๊ฐ€๊นŒ์ด ๋ฐฐ์น˜
    • ํ…Œ์ด๋ธ” ์ธ๋ฑ์‹ฑ
      • ํ•ด์‹ฑ๊ณผ ๊ฐ™์ด ์ฐธ์กฐ ๊ณต์‚ฐ์„ ๋žœ๋คํ•˜๊ฒŒ ํ™•์žฅ์‹œํ‚ค๋Š” ๊ธฐ๋ฒ•์€ ์ง€์—ญ์„ฑ์— ์•ฝ ์˜ํ–ฅ์„ ๋ฏธ์นจ
    • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด
      • ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž„์˜์˜ ๊ณต๊ฐ„์„ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋Š” ์ง€์—ญ์„ฑ ์œ ์ง€์— ๋ถˆ๋ฆฌํ•จ
      • ์‹ค์‹œ๊ฐ„ ์—ฐ๊ฒฐ์ด ์žฆ์€ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด ์—ญ์‹œ ์ง€์—ญ์„ฑ ์œ ์ง€์— ๋ถˆ๋ฆฌ
    • ์ž…์ถœ๋ ฅ ๋ฒ„ํผ ์ž ๊ธˆ
      • ์ž…์ถœ๋ ฅ ๋ฐ์ด๋ฒ„ ๋ฒ„ํผ
        • ์ž…์ถœ๋ ฅ์„ ๋Œ€๊ธฐ ์ค‘์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด๊ด€ ์ค‘์ธ ์˜์—ญ์ด ํฌ์ƒ ํŽ˜์ด์ง€๋กœ ์„ ์ •๋˜์–ด ๊ต์ฒด๋œ๋‹ค๋ฉด ์ž…์ถœ๋ ฅ์ด ์ด๋ฃจ์–ด์ง€๊ธฐ ์ „ ์Šค์™‘ ์ธ/์Šค์™‘ ์•„์›ƒ์œผ๋กœ ์ž…์ถœ๋ ฅ์„ ๋งŽ์ด ํ•˜๊ฒŒ๋จ
        • ์ด๋Ÿฐ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ต์ฒด๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•œ ์ž ๊ธˆ ์žฅ์น˜๊ฐ€ ํ•„์š”ํ•จ
        • ํŠน์‹œ, ์‹œ์Šคํ…œ ์ž…์ถœ๋ ฅ ๋ฒ„ํผ๋Š” OS ๋‚ด์— ๋‘์–ด ๊ต์ฒด๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ณ , ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด ๋‘  Copy in/out
      • ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ
        • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด๋ฅผ ์œ„ํ•œ ์Šค์™‘ํ•‘ ์ž…์ถœ๋ ฅ์œผ๋กœ ์ธํ•ด ์ฒ˜๋ฆฌ ์™„๋ฃŒ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ์˜ˆ์ธก์ด ๊ณค๋ž€
        • ๋”ฐ๋ผ์„œ, ์—„๊ฒฉํ•œ ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์—์„œ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์—†์Œ
์ด ๊ธฐ์‚ฌ๋Š” ์ €์ž‘๊ถŒ์ž์˜ CC BY 4.0 ๋ผ์ด์„ผ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.