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

๐Ÿ“ ์ด ๊ธ€์€ CS ์Šคํ„ฐ๋””๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ฐœ์ธ์ ์œผ๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.
ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.๐Ÿ™‡‍โ™€๏ธ๐ŸŒŸ

 

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

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

์ด๋Ÿฌํ•œ ์ œ์•ฝ์„ ๊ทน๋ณตํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ํšจ์œจ์ ์ด๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory) ๊ฐœ๋…์ด ๋„์ž…๋˜์—ˆ๋‹ค.

 

๐Ÿ’ก ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ž€ ?

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

 

์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์€ ์™œ ํ•„์š”ํ• ๊นŒ ? ๐Ÿค”

 

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

 

๊ทธ๋ ‡๋‹ค๋ฉด, CPU๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ •๋ณด์™€ ํ”„๋กœ์„ธ์Šค ์ฃผ์†Œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ธ์‹ํ•˜๊ณ  ๊ด€๋ฆฌํ• ๊นŒ ? ๐Ÿค”

 

๐ŸŽˆ ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ

CPU๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ, ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹ค์ œ ์œ„์น˜๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ์„๊นŒ ? ๐Ÿค”

์‚ฌ์‹ค ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.

 

์šด์˜์ฒด์ œ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์„ ์–ด๋А ์œ„์น˜์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ• ์ง€ ๋™์ ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค.

  • ์–ด๋–ค ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค ๋‹ค๋ฅธ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์— ์˜ฌ๋ผ๊ฐ€๋ฉฐ,
  • ์‹คํ–‰์ด ๋๋‚œ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ œ๊ฑฐ๋˜๊ณ ,
  • ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ์€ ๊ทธ ๋นˆ ๊ณต๊ฐ„์— ๋‹ค์‹œ ์ ์žฌ๋œ๋‹ค.

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

 

๐Ÿ‘‰ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋„์ž…๋œ ๊ฐœ๋…์ด ๋ฐ”๋กœ ๋…ผ๋ฆฌ ์ฃผ์†Œ(Logical Address)์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ(Physical Address)์ด๋‹ค.

 

๐Ÿงฉ ๋…ผ๋ฆฌ ์ฃผ์†Œ(Logical Address)

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

๐Ÿงฉ ๋ฌผ๋ฆฌ ์ฃผ์†Œ(Physical Address)

  • ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ(RAM) ์ƒ์˜ ์ฃผ์†Œ
  • ๋ฉ”๋ชจ๋ฆฌ ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€์ ์˜ ์ฃผ์†Œ
  • ๊ฐ™์€ ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ผ๋„, ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋  ๋•Œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ ์ฃผ์†Œ์— ๋งคํ•‘๋œ๋‹ค.

 

์™œ ๋…ผ๋ฆฌ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ• ๊นŒ ? ๐Ÿค”

 

๋…ผ๋ฆฌ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์ด ์ƒ๊ธด๋‹ค.

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

 

๋…ผ๋ฆฌ ์ฃผ์†Œ → ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๋ณ€ํ™˜์€ ๋ˆ„๊ฐ€ ํ• ๊นŒ? ๐Ÿค”

 

CPU๋Š” ์˜ค์ง ๋…ผ๋ฆฌ ์ฃผ์†Œ๋งŒ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ(RAM)๋Š” ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋งŒ ์ดํ•ดํ•œ๋‹ค.

๋”ฐ๋ผ์„œ ๋‘˜ ์‚ฌ์ด์—๋Š” ์ฃผ์†Œ ๋ณ€ํ™˜์ด ํ•„์š”ํ•˜๋ฉฐ, ์ด ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ MMU(Memory Management Unit, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜)์ด๋‹ค.

 

๐Ÿงฉ MMU(Memory Management Unit)์˜ ์—ญํ• 

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

MMU ์ž‘๋™ ๋ฐฉ์‹

 

๐ŸŽˆ ์Šค์™€ํ•‘(Swapping)

์šด์˜์ฒด์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด, ํ˜„์žฌ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์˜ ์ผ๋ถ€์ธ ์Šค์™‘ ์˜์—ญ(swap space)์œผ๋กœ ์ž„์‹œ ์ด๋™์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ, ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‚ด๋ณด๋‚ด๊ณ , ๊ทธ ๊ณต๊ฐ„์— ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์„ ์Šค์™€ํ•‘(Swapping)์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • ์Šค์™‘ ์•„์›ƒ (Swap Out): ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ → ์Šค์™‘ ์˜์—ญ์œผ๋กœ ์ด๋™
  • ์Šค์™‘ ์ธ (Swap In): ์Šค์™‘ ์˜์—ญ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ด๋™

์Šค์™‘ ์•„์›ƒ๋˜์—ˆ๋˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์‹œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ ์žฌ๋  ๋•Œ, ์ด์ „๊ณผ๋Š” ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๊ณ , ์Šค์™€ํ•‘ ๋Œ€์ƒ์ด ์–ธ์ œ๋“  ๋ฐ”๋€” ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

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

 

๐ŸŽˆ ์Šค๋ ˆ์‹ฑ(Thrashing)

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

 

์–ธ์ œ ์Šค๋ ˆ์‹ฑ์ด ๋ฐœ์ƒํ• ๊นŒ ? ๐Ÿค”

  • ๋™์‹œ์— ๋„ˆ๋ฌด ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ
  • ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ถฉ๋ถ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ๋ชปํ•ด ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒํ•  ๋•Œ
  • CPU๊ฐ€ ํ•œ๊ฐ€ํ•˜๋‹ค๊ณ  ์˜คํ•ดํ•œ ์šด์˜์ฒด์ œ๊ฐ€ ๋” ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆด ๋•Œ

 

๐ŸŒ€ ์Šค๋ ˆ์‹ฑ์˜ ์•…์ˆœํ™˜

  1. ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ถฉ๋ถ„ํžˆ ํ™•๋ณดํ•˜์ง€ ๋ชปํ•ด ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ž์ฃผ ๋ฐœ์ƒ
  2. CPU๋Š” ์‹ค์ œ ์ž‘์—…๋ณด๋‹ค ๊ณ„์†ํ•ด์„œ ํŽ˜์ด์ง€ ๊ต์ฒด(์Šค์™€ํ•‘)์— ์‹œ๊ฐ„์„ ์†Œ๋ชจ
  3. CPU ์ด์šฉ๋ฅ ์ด ์ ์  ๋–จ์–ด์ง
  4. ์šด์˜์ฒด์ œ๋Š” ์ด๋ฅผ ๋ณด๊ณ  "CPU๊ฐ€ ์—ฌ์œ  ์žˆ๋‚˜ ๋ณด๋‹ค" ์˜คํ•ดํ•˜๊ณ , ๋” ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ
  5. ๊ทธ ๊ฒฐ๊ณผ
    • ํŽ˜์ด์ง€ ํดํŠธ ์ฆ๊ฐ€
    • ์Šค์™€ํ•‘ ์ฆ๊ฐ€
    • CPU ์ž์› ๋‚ญ๋น„
  6. ๊ฒฐ๊ตญ ์‹œ์Šคํ…œ์€ ์‹ฌ๊ฐํ•˜๊ฒŒ ๋А๋ ค์ง€๋ฉฐ ์Šค๋ ˆ์‹ฑ ์ƒํƒœ์— ๋น ์ง

 

๐ŸŽˆ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(Contiguous Memory Allocation)

์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์€ ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์— ํ• ๋‹น๋˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

์ฆ‰, ๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ํ•˜๋‚˜์˜ ๊ณ ์ •๋œ ์—ฐ์† ๋ธ”๋ก์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜์–ด์•ผ ํ•œ๋‹ค.

๐Ÿ‘‰ ํ”„๋กœ์„ธ์Šค A๋Š” A์˜ ํฌ๊ธฐ๋งŒํผ ๋ฉ”๋ชจ๋ฆฌ์— ๋จผ์ € ํ• ๋‹น๋˜๊ณ , ๊ทธ ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค B๋Š” A ๋‹ค์Œ ์œ„์น˜์—, ํ”„๋กœ์„ธ์Šค C๋Š” B ๋‹ค์Œ ์œ„์น˜์— ํ• ๋‹น๋˜๋Š” ์‹์ด๋‹ค.

 

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

์‹คํ–‰ ์ค‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ์Šค์™‘ ์•„์›ƒ๋˜๋ฉด, ํ•ด๋‹น ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋น„๊ฒŒ ๋˜์–ด ์™ธ๋ถ€ ๋‹จํŽธํ™”(External Fragmentation)๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ž.

ํ˜„์žฌ ์ด ๋ฉ”๋ชจ๋ฆฌ์— ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์žฌ๋  ์ˆ˜ ์žˆ๋Š” ๋นˆ ๊ณต๊ฐ„์€ ์ด 50MB์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฌ๊ธฐ๊ฐ€ 50MB์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์— ๋‚จ์•„์žˆ๋Š” ๊ณต๊ฐ„์ด ๊ฐ๊ฐ 30MB์™€ 20MB์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

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

 

์ด๋Ÿฌํ•œ ๋น„์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์กฐ๊ฐ๋“ค ์ค‘ ์–ด๋””์— ์ƒˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

๐Ÿงฉ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹

ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋นˆ ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ 3๊ฐ€์ง€ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

โ—ฝ์ตœ์ดˆ ์ ํ•ฉ(First-fit)

๋ฉ”๋ชจ๋ฆฌ์˜ ๋นˆ ๊ณต๊ฐ„์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์—ฌ, ์ฒ˜์Œ ๋ฐœ๊ฒฌํ•œ ์ถฉ๋ถ„ํ•œ ํฌ๊ธฐ์˜ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐฐ์น˜ํ•œ๋‹ค.

 

โœ… ์žฅ์ 

  • ๊ฒ€์ƒ‰์ด ๊ฐ„๋‹จํ•˜๊ณ  ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค.
  • ๊ตฌํ˜„์ด ์‰ฝ๋‹ค.

โš ๏ธ ๋‹จ์ 

  • ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ์•ž๋ถ€๋ถ„์— ์ž‘์€ ๋‹จํŽธํ™”(fragmentation)๊ฐ€ ๋งŽ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โ—ฝ์ตœ์  ์ ํ•ฉ(Best-fit)

๋ชจ๋“  ๋นˆ ๊ณต๊ฐ„์„ ๊ฒ€์‚ฌํ•œ ํ›„, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•œ๋‹ค.

 

โœ… ์žฅ์ 

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค. (๋‚จ๋Š” ๊ณต๊ฐ„์ด ์ ์Œ)

โš ๏ธ ๋‹จ์ 

  • ๊ฒ€์ƒ‰ ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • ์ž‘์€ ๊ณต๊ฐ„์ด ๋งŽ์ด ๋‚จ์•„ ์™ธ๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ์‹ฌํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

โ—ฝ์ตœ์•… ์ ํ•ฉ(Worst-fit)

๋ชจ๋“  ๋นˆ ๊ณต๊ฐ„์„ ๊ฒ€์‚ฌํ•œ ํ›„, ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„ ์ค‘ ๊ฐ€์žฅ ํฐ ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•œ๋‹ค.

 

โœ… ์žฅ์ 

  • ํฐ ๊ณต๊ฐ„์„ ๋‚˜๋ˆ„์–ด ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ์ดํ›„ ํฐ ํ”„๋กœ์„ธ์Šค์˜ ๋ฐฐ์น˜ ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์ธ๋‹ค.

โš ๏ธ ๋‹จ์ 

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ์ปค์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์ „์ฒด์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ํ™œ์šฉ ํšจ์œจ์ด ๋‚ฎ์„ ์ˆ˜ ์žˆ๋‹ค.

 

๐ŸŒ€ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์˜ ํ•œ๊ณ„

์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ์—ฐ์†์ ์ธ ๊ณต๊ฐ„์— ๋ฐฐ์น˜๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค.

์ด ๋ฐฉ์‹์€ ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ˆœํ•˜๊ณ  ์ ‘๊ทผ ์†๋„๊ฐ€ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•œ๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค:

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

์ด๋Ÿฌํ•œ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด, ์šด์˜์ฒด์ œ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋ผ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

๐ŸŽˆ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)

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

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

 

๐Ÿงฉ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์žฅ๋‹จ์ 

โœ… ์žฅ์ 

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

 

โš ๏ธ ๋‹จ์ 

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

 

๐Ÿงฉ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ž‘๋™ ๋ฐฉ์‹

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋…ผ๋ฆฌ์  ์ฃผ์†Œ(๊ฐ€์ƒ ์ฃผ์†Œ)๋ฅผ ์‹ค์ œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ฃผ์†Œ ๋ณ€ํ™˜(Address Translation) ๊ณผ์ •์„ ํ†ตํ•ด ๋™์ž‘ํ•œ๋‹ค.

์šด์˜์ฒด์ œ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ผ์ •ํ•œ ํฌ๊ธฐ์˜ ๋ธ”๋ก์ธ ํŽ˜์ด์ง€(Page) ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๊ณ , ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(RAM)๋„ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํ”„๋ ˆ์ž„(Frame) ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋Š” ํŽ˜์ด์ง€ ๋‹จ์œ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋ฉฐ, ๋น„์—ฐ์†์ ์ธ ๊ณต๊ฐ„์—์„œ๋„ ์—ฐ์†์ ์ธ ์ฃผ์†Œ ๊ณต๊ฐ„์ฒ˜๋Ÿผ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ์ž์‹ ๋งŒ์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Page Table)์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ์ด ํ…Œ์ด๋ธ”์—๋Š” ๊ฐ€์ƒ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ ๊ฐ„์˜ ๋งคํ•‘ ์ •๋ณด๊ฐ€ ์ €์žฅ๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ€์ƒ ์ฃผ์†Œ์— ์ ‘๊ทผํ•˜๋ฉด, MMU(Memory Management Unit)๊ฐ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์—ฌ
ํ•ด๋‹น ๊ฐ€์ƒ ํŽ˜์ด์ง€๊ฐ€ ์–ด๋А ํ”„๋ ˆ์ž„์— ์ ์žฌ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ณ , ์ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

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

 

๐ŸŽˆ ํŽ˜์ด์ง•(Paging)

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

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

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

 

ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์—์„œ๋„ ์Šค์™€ํ•‘์ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ํŽ˜์ด์ง•์„ ์‚ฌ์šฉํ•˜๋Š” ์‹œ์Šคํ…œ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค ์ „์ฒด๊ฐ€ ์Šค์™‘ ์•„์›ƒ/์Šค์™‘ ์ธ ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ์Šค์™‘ ์•„์›ƒ/์Šค์™‘ ์ธ ๋œ๋‹ค. ํŽ˜์ด์ง• ์‹œ์Šคํ…œ์—์„œ ์Šค์™‘ ์•„์›ƒ์€ ํŽ˜์ด์ง• ์•„์›ƒ(page out), ์Šค์™‘ ์ธ์€ ํŽ˜์ด์ง€ ์ธ(page in)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

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

CPU ์ž…์žฅ์—์„œ ๋ฐ”๋ผ๋ณธ ๋…ผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ๊ฐ€ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํด ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŽ˜์ด์ง•์„ ํ†ตํ•ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ํฌ๊ธฐ์˜ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰๋„ ๊ฐ€๋Šฅํ•ด์ง„ ๊ฒƒ์ด๋‹ค.

 

๐Ÿ“˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Page Table)

๊ฐ ํ”„๋กœ์„ธ์Šค๋Š” ๊ณ ์œ ์˜ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋Š” ๊ฐ€์ƒ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ๋งคํ•‘๋œ ๋ฌผ๋ฆฌ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋‹ค.

CPU๊ฐ€ ๊ฐ€์ƒ ์ฃผ์†Œ์— ์ ‘๊ทผํ•  ๋•Œ, ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ํ†ตํ•ด ํ•ด๋‹น ์ฃผ์†Œ๊ฐ€ ์–ด๋А ํ”„๋ ˆ์ž„์— ๋งคํ•‘๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ณ , ๊ทธ์— ๋”ฐ๋ผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

 

๐Ÿงฉ ๋‹จํŽธํ™”(Fragmentation)

โ—ฝ๋‚ด๋ถ€ ๋‹จํŽธํ™”(Internal Fragmentation)

  • ํŽ˜์ด์ง€ ๋‚ด์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋‚จ์€ ๊ณต๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด 4KB ํŽ˜์ด์ง€์— 3.6KB๋งŒ ์‚ฌ์šฉ๋œ๋‹ค๋ฉด, ๋‚จ์€ 0.4KB๊ฐ€ ๋‚ด๋ถ€ ๋‹จํŽธํ™”์ด๋‹ค.

 

โ—ฝ์™ธ๋ถ€ ๋‹จํŽธํ™”(External Fragmentation)

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

 

๐Ÿ“˜ ์••์ถ•(compaction)

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

์šด์˜์ฒด์ œ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์žฌ๋ฐฐ์น˜(relocation) ํ•˜์—ฌ, ์ค‘๊ฐ„์ค‘๊ฐ„ ์ƒ๊ธด ๋นˆ ๊ณต๊ฐ„์„ ์ œ๊ฑฐํ•˜๊ณ  ํ•˜๋‚˜์˜ ํฐ ์—ฐ์†๋œ ๋นˆ ๊ณต๊ฐ„์œผ๋กœ ํ†ตํ•ฉํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด, ์ดํ›„์— ํฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ์œ„ํ•œ ์—ฐ์†๋œ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

โœ… ์žฅ์ 

  • ์™ธ๋ถ€ ๋‹จํŽธํ™”๋ฅผ ์ค„์—ฌ, ๋” ํฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐฉ์‹์—์„œ ์ค‘์š”ํ•œ ์ œ์•ฝ์ธ "์—ฐ์†๋œ ๊ณต๊ฐ„ ๋ถ€์กฑ" ๋ฌธ์ œ๋ฅผ ์™„ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

โš ๏ธ ๋‹จ์ 

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

 

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

 

๐ŸŽˆ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(Segmentation)

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

์ฆ‰, ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฝ”๋“œ(Code), ๋ฐ์ดํ„ฐ(Data), ์Šคํƒ(Stack) ๋“ฑ๊ณผ ๊ฐ™์ด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š” ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ , ๊ฐ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•œ๋‹ค.

 

ํ•œ ์„ธ๊ทธ๋จผํŠธ๋Š” ์ฝ”๋“œ ์˜์—ญ(์˜ ์ผ๋ถ€)์ผ ์ˆ˜๋„ ์žˆ๊ณ , ๋ฐ์ดํ„ฐ ์˜์—ญ(์˜ ์ผ๋ถ€)์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

์ด ๊ธฐ๋ฒ•์€ ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”(Segment Table)์„ ์‚ฌ์šฉํ•ด ์„ธ๊ทธ๋จผํŠธ์˜ ๋…ผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•œ๋‹ค.

 

๐Ÿงฉ ์„ธ๊ทธ๋จผํŠธ ํŠน์ง•

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

 

๐Ÿงฉ ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”

  • ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์—์„œ๋„ ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•ด ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”(Segment Table)์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ฐ€์ƒ ์ฃผ์†Œ๋Š” <์„ธ๊ทธ๋จผํŠธ ๋ฒˆํ˜ธ, ์˜คํ”„์…‹(offset)>์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„๋œ๋‹ค.
  • ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”์—๋Š” ๊ฐ ์„ธ๊ทธ๋จผํŠธ์˜
    • ๊ธฐ์ค€(base): ์„ธ๊ทธ๋จผํŠธ์˜ ์‹œ์ž‘ ๋ฌผ๋ฆฌ ์ฃผ์†Œ
    • ํ•œ๊ณ„(limit): ์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

 

๐Ÿ”„ ์ฃผ์†Œ ๋ณ€ํ™˜ ๊ณผ์ •

  1. CPU๊ฐ€ <์„ธ๊ทธ๋จผํŠธ ๋ฒˆํ˜ธ, ์˜คํ”„์…‹> ํ˜•ํƒœ์˜ ์ฃผ์†Œ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
  2. MMU๊ฐ€ ์„ธ๊ทธ๋จผํŠธ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๊ธฐ์ค€(base) ์ฃผ์†Œ๋ฅผ ์กฐํšŒํ•œ๋‹ค.
  3. ์˜คํ”„์…‹์„ ๊ธฐ์ค€ ์ฃผ์†Œ์— ๋”ํ•ด ์ตœ์ข… ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณ„์‚ฐํ•œ๋‹ค.
  4. ์˜คํ”„์…‹์ด ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ์ฃผ์†Œ ์˜ค๋ฅ˜(trap) ๋ฐœ์ƒํ•œ๋‹ค.

 

๐Ÿงฉ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์˜ ์žฅ๋‹จ์ 

โœ… ์žฅ์ 

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

 

โš ๏ธ ๋‹จ์ 

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

 

๐ŸŽˆ ์š”๊ตฌ ํŽ˜์ด์ง•(Demand Paging)

์š”๊ตฌ ํŽ˜์ด์ง•(Demand Paging)์€ ๋ง ๊ทธ๋Œ€๋กœ, ํ•„์š”ํ•œ ์‹œ์ ์—๋งŒ ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

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

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

๋˜ํ•œ, ์š”๊ตฌ ํŽ˜์ด์ง•์€ ์ง€์—ฐ๋œ ๋กœ๋”ฉ(lazy loading)์˜ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์ด๋ฉฐ, ์ดˆ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ์‹œ์Šคํ…œ ๋ถ€ํŒ… ์†๋„๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ์—๋„ ๋„์›€์ด ๋œ๋‹ค.

 

๐ŸŽˆ ํŽ˜์ด์ง€ ํดํŠธ(Page Fault)

ํŽ˜์ด์ง€ ๋ถ€์žฌ(Page Fault)๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์ ‘๊ทผํ•˜๋ ค๋Š” ํŽ˜์ด์ง€๊ฐ€ ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค.

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

 

ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์ฒ˜๋ฆฌ ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ํ™•์ธํ•œ๋‹ค.
    • ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด i๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  2. i๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด OS๋Š” ์ฐธ์กฐํ•˜๋ ค๋Š” ํŽ˜์ด์ง€์˜ ์ฃผ์†Ÿ๊ฐ’์ด ์œ ํšจํ•˜์ง€ ์•Š์€์ง€, ์•„๋‹ˆ๋ฉด ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์ง€ ์•Š์€ ์˜์—ญ์ธ์ง€ ํŒ๋‹จํ•˜๋‹ค.
  3. ํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์ง€ ์•Š์€ ์˜์—ญ์ด๋ผ๋ฉด ๋””์Šคํฌ์—์„œ ํ•ด๋‹น ์˜์—ญ์„ ์ฐพ๋Š”๋‹ค.
  4. ๋””์Šคํฌ์—์„œ ํ•ด๋‹น ํŽ˜์ด์ง€ ์˜์—ญ์„ ์Šค์™‘ ์ธํ•œ๋‹ค.
    1. ์ด๋•Œ, ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋น„์–ด ์žˆ๋Š” ํ”„๋ ˆ์ž„(free frame)์ด ์žˆ์œผ๋ฉด ํŽ˜์ด์ง€๋ฅผ ํ•ด๋‹น ์˜์—ญ์— ๋ฐ”๋กœ ๋กœ๋“œํ•œ๋‹ค. ๋งŒ์•ฝ ๋น„์–ด ์žˆ๋Š” ํ”„๋ ˆ์ž„์ด ์—†์œผ๋ฉด ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜(page replace algorithm)์„ ํ˜ธ์ถœํ•ด ๊ธฐ์กด์— ๋กœ๋“œ๋œ ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ๋กœ ์Šค์™‘ ์•„์›ƒํ•œ ํ›„ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•œ๋‹ค.
  5. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ์ƒˆ๋กœ ๋กœ๋“œํ•œ ํŽ˜์ด์ง€์˜ ๊ฐ’์„ v๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.
  6. ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•œ๋‹ค.

 

ํŽ˜์ด์ง€ ๋ถ€์žฌ๋Š” ์ •์ƒ์ ์ธ ํ˜„์ƒ์ด์ง€๋งŒ, ์ง€๋‚˜์น˜๊ฒŒ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋ฉด ๋””์Šคํฌ I/O๊ฐ€ ๋Š˜์–ด๋‚˜ ์‹œ์Šคํ…œ ์ „์ฒด์˜ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋„ˆ๋ฌด ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์€ ์Šค๋ž˜์‹ฑ(thrashing)์ด๋ผ ๋ถ€๋ฅด๋ฉฐ, ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ๊ธ‰๊ฒฉํžˆ ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค

 

๊ทน๋‹จ์ ์ธ ๊ฒฝ์šฐ์—๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ํŽ˜์ด์ง€๊ฐ€ ํ•˜๋‚˜๋„ ์•ˆ ์˜ฌ๋ผ์™€ ์žˆ๋Š” ์ƒํƒœ์—์„œ๋„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ์šด์˜์ฒด์ œ์—์„œ ๋ช…๋ น ํฌ์ธํ„ฐ(instruction pointer)์˜ ๊ฐ’์„ ํ”„๋กœ์„ธ์Šค์˜ ์ฒซ ๋ช…๋ น์–ด๋กœ ์„ค์ •ํ•˜๋Š” ์ˆœ๊ฐ„, ์ด ๋ช…๋ น์ด ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€์— ์žˆ์œผ๋ฏ€๋กœ, ํŽ˜์ด์ง€ ํดํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. ํŽ˜์ด์ง€๊ฐ€ ์ ์žฌ๋˜๊ณ  ๋‚˜๋ฉด ํ”„๋กœ์„ธ์Šค๋Š” ์ˆ˜ํ–‰์„ ๊ณ„์†ํ•˜๋Š”๋ฐ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ชจ๋“  ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜ฌ ๋•Œ๊นŒ์ง€ ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค. ์ผ๋‹จ ํ•„์š”ํ•œ ๋ชจ๋“  ํŽ˜์ด์ง€๊ฐ€ ์ ์žฌ๋˜๊ณ  ๋‚˜๋ฉด ๋” ์ด์ƒ ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ด๊ฒƒ์ด ์ˆœ์ˆ˜ ์š”๊ตฌ ํŽ˜์ด์ง•(pure demand paging)์ด๋‹ค. ์ฆ‰. ์–ด๋–ค ํŽ˜์ด์ง€๊ฐ€ ํ•„์š”ํ•ด์ง€๊ธฐ ์ „์—๋Š” ๊ฒฐ์ฝ” ๊ทธ ํŽ˜์ด์ง€๋ฅผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ ์žฌํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

๐ŸŽˆ TLB(Translation Lookaside Buffer)

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

 

โ—ฝ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ, MMU์™€ TLB์˜ ๊ด€๊ณ„

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

๐Ÿ‘‰ ์ด ์„ธ ์š”์†Œ๋Š” ํ•จ๊ป˜ ์ž‘๋™ํ•˜์—ฌ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ •์ ์ธ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•œ๋‹ค.

 

 


 

๐Ÿ’ญ Q&A

ํŽ˜์ด์ง•์„ ์‚ฌ์šฉํ•˜๋ฉด ์™ธ๋ถ€ ๋‹จํŽธํ™”๋Š” ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ผ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด๋ถ€ ๋‹จํŽธํ™”์™€ ์™ธ๋ถ€ ๋‹จํŽธํ™” ์ค‘, ์šด์˜์ฒด์ œ์˜ ์ž…์žฅ์—์„œ๋Š” ๋ญ๊ฐ€ ๋” ๋ฌธ์ œ์ผ๊นŒ ? ๐Ÿค”

 

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

 

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

 

์ด๋•Œ, ์••์ถ•์ด ํ•ญ์ƒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค. ์žฌ๋ฐฐ์น˜๊ฐ€ ์–ด์…ˆ๋ธ” ๋˜๋Š” ์ ์žฌ ์‹œ์— ์ •์ ์œผ๋กœ ํ–‰ํ•ด์ง„๋‹ค๋ฉด, ์••์ถ•์€ ์‹คํ–‰๋  ์ˆ˜ ์—†๋‹ค.

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

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

 

๋”ฐ๋ผ์„œ ์šด์˜์ฒด์ œ๋Š” ์™ธ๋ถ€ ๋‹จํŽธํ™”๋ฅผ ์—†์• ๊ณ , ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ฅผ ๊ฐ์ˆ˜ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ธ ์„ ํƒ์ด๋‹ค.

 

 

 

 

 

๐Ÿ“ƒ reference

'Computer Science' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์šด์˜์ฒด์ œ] ์šด์˜์ฒด์ œ(OS, Operating System)  (0) 2025.03.24
[Spring] JPA์™€ Spring Data JPA ์ฐจ์ด  (0) 2025.03.24
Java  (0) 2024.08.30
Spring & Spring Boot  (0) 2024.08.15