์ฒด๋šฑ๋กœ๊ทธ

[์šด์˜์ฒด์ œ 3๊ธฐ] 5์ฃผ์ฐจ ์Šคํ„ฐ๋”” ์ •๋ฆฌ ๋ณธ๋ฌธ

CS/JSCODE

[์šด์˜์ฒด์ œ 3๊ธฐ] 5์ฃผ์ฐจ ์Šคํ„ฐ๋”” ์ •๋ฆฌ

sooyeoniya 2024. 2. 5. 16:05

๐Ÿ”น์ ˆ๋Œ€ ์ฃผ์†Œ ์ง€์ • vs ์ƒ๋Œ€ ์ฃผ์†Œ ์ง€์ •

์ ˆ๋Œ€ ์ฃผ์†Œ

  • ํŒŒ์ผ ๋˜๋Š” ๋””๋ ‰ํ† ๋ฆฌ์˜ ์ „์ฒด ๊ฒฝ๋กœ๋ฅผ ๋‚˜ํƒ€๋ƒ„
  • ๋ฉ”๋ชจ๋ฆฌ ํŠน์ • ์œ„์น˜๋ฅผ ์ง์ ‘ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹
  • ๋ช…๋ น์–ด ์‹คํ–‰ ์œ„์น˜์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ํ•ญ์ƒ ๋™์ผํ•œ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ ๊ฐ€๋ฆฌํ‚ด
  • "C:\Users\Username\Documents\file.txt"๋Š” Windows ์šด์˜์ฒด์ œ์—์„œ ํŒŒ์ผ "file.txt"์— ๋Œ€ํ•œ ์ ˆ๋Œ€ ์ฃผ์†Œ

    ์žฅ์ : ์ž‘์„ฑ ์ค‘์ธ ํŒŒ์ผ ์œ„์น˜๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ์˜ํ–ฅ๋ฐ›์ง€ ์•Š์Œ
    ๋‹จ์ : ์ „์ฒด ์ฃผ์†Œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•˜๋ฏ€๋กœ ๋ฒˆ๊ฑฐ๋กœ์›€

์ƒ๋Œ€ ์ฃผ์†Œ

  • ํ˜„์žฌ ๋ช…๋ น์–ด ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋ฐฉ์‹
  • ๋ช…๋ น์–ด ์‹คํ–‰ ์œ„์น˜์— ๋”ฐ๋ผ ์ฐธ์กฐํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๊ฐ€ ๋‹ฌ๋ผ์ง

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

๐Ÿ”น๋‚ด๋ถ€ ๋‹จํŽธํ™”(Internal Fragmentation)

๋‚ด๋ถ€ ๋‹จํŽธํ™”

๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ž€ ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ๋น„ํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ ์–ด์„œ ๋นˆ ๊ณต๊ฐ„์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค.

๋นˆ ๊ณต๊ฐ„์€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด ์‚ฌ์šฉ๋  ์ˆ˜ ์—†์–ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์ฑ„ ๋‚จ๊ฒจ์ง„๋‹ค.

๐Ÿ”น์™ธ๋ถ€ ๋‹จํŽธํ™”(External Fragmentation)

์™ธ๋ถ€ ๋‹จํŽธํ™”

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

๐Ÿ”น๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(Memory Management)

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์„ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น, ํšŒ์ˆ˜, ๋ณดํ˜ธํ•˜๋Š” ํ™œ๋™์ด๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ๊ด€๋ฆฌ ์ •์ฑ…์„ ์ˆ˜๋ฆฝํ•˜์—ฌ ์ด์— ๋”ฐ๋ผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

โ–ช๏ธ ๋ฐ˜์ž… ๊ธฐ๋ฒ•(When)

: ํ”„๋กœ์„ธ์Šค๋ฅผ ๋””์Šคํฌ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋ฐ˜์ž…ํ•  ์‹œ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

 

โ–ช๏ธ ๋ฐฐ์น˜ ๊ธฐ๋ฒ•(Where)

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

 

โ–ช๏ธ ํ• ๋‹น ๊ธฐ๋ฒ•(How)

: ์‹คํ–‰ํ•ด์•ผ ํ•  ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ ํ• ๋‹นํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

 

โ–ช๏ธ ๊ต์ฒด ๊ธฐ๋ฒ•(Who)

: ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ๊ฑฐํ•  ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•œ๋‹ค.

๐Ÿ”น๋ฐ˜์ž… ๊ธฐ๋ฒ•

๋ฐ˜์ž… ๊ธฐ๋ฒ•์—๋Š” ๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค.

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

๐Ÿ”น๋ฉ”๋ชจ๋ฆฌ ๋ฐฐ์น˜ ๊ธฐ๋ฒ•

๋ฉ”๋ชจ๋ฆฌ ๋ฐฐ์น˜ ๊ธฐ๋ฒ•์—๋Š” ์ตœ์ดˆ ์ ํ•ฉ, ์ตœ์  ์ ํ•ฉ, ์ตœ์•… ์ ํ•ฉ์ด ์žˆ๋‹ค.

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

๐Ÿ”น๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ธฐ๋ฒ•

๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๊ธฐ๋ฒ• ๋ถ„๋ฅ˜

๐Ÿ”น์—ฐ์† ํ• ๋‹น ๊ธฐ๋ฒ•(Contiguous Memory Allocation)

: ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†๋œ ์ฃผ์†Œ๋กœ ์ €์žฅ๋˜๋Š” ๋ฐฉ์‹

 

โ–ช๏ธ ์˜ค๋ฒ„๋ ˆ์ด(Overlay) - ๋‹จ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

: ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ๋œ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ ์กฐ๊ฐ(๋ชจ๋“ˆ ๋‹จ์œ„)์œผ๋กœ ๋ถ„ํ• ํ•œ ํ›„ ํ•„์š”ํ•œ ์กฐ๊ฐ์„ ์ฐจ๋ก€๋Œ€๋กœ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹

: ์ฃผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ œํ•œ์ ์ธ ํ™˜๊ฒฝ์—์„œ ๋ณดํ†ต ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ

 

์˜ค๋ฒ„๋ ˆ์ด ๊ณผ์ •

์˜ค๋ฒ„๋ ˆ์ด ๊ณผ์ •

  1. ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ๋œ ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋ถ„ํ• 
    • ํ”„๋กœ๊ทธ๋žจ์„ ๋ถ„ํ• ํ•˜๋Š” ์ž‘์—…์€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‹œ์Šคํ…œ์ด๋‚˜ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•จ
  2. ์ž‘์—…์ด ํ•„์š”ํ•œ ์กฐ๊ฐ๋“ค์„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ
  3. ์‹คํ–‰ ์ค‘์— ์ฃผ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ๊ฝ‰ ์ฐฌ ๊ฒฝ์šฐ ํ•„์š” ์—†๋Š” ์กฐ๊ฐ ์œ„์— ์ƒˆ๋กœ์šด ์กฐ๊ฐ์œผ๋กœ ์ค‘์ฒฉํ•˜์—ฌ ๊ต์ฒด(์˜ค๋ฒ„๋ ˆ์ด ์ „ํ™˜, Overlay Swapping)

์˜ค๋ฒ„๋ ˆ์ด ์žฅ์ 

  • ์ œํ•œ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ํฐ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
  • ์˜ค๋ฒ„๋ ˆ์ด ์ „ํ™˜์„ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ตœ์ ํ™” (์ž์› ๋‚ญ๋น„ ์ตœ์†Œํ™”)

์˜ค๋ฒ„๋ ˆ์ด ๋‹จ์ 

  • ์˜ค๋ฒ„๋ ˆ์ด ์ „ํ™˜์— ๋Œ€ํ•œ Overhead ↑
  • ์˜ค๋ฒ„๋ ˆ์ด ์ „ํ™˜ ๊ณผ์ •์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜ ๋ฐœ์ƒ (์‹œ์Šคํ…œ ์ฒ˜๋ฆฌ ์†๋„๋‚˜ ์‘๋‹ต ์‹œ๊ฐ„ ๋“ฑ)

โ–ช๏ธ ์Šค์™€ํ•‘(Swapping) - ๋‹จ์ผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

: ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ํ• ๋‹นํ•˜์—ฌ ํ•„์š”์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•

: ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ์„ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„๋กœ ๊ต์ฒด

 

์Šค์™€ํ•‘ ๊ณผ์ •

์Šค์™€ํ•‘ ๊ณผ์ •

  1. ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ํ˜„์ƒ ๋ฐœ์ƒ
  2. ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์Šค์™€ํ•‘ํ•˜์—ฌ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋กœ ์˜ฎ๊ธธ์ง€ ๊ฒฐ์ •
  3. Swap-Out: ์ฃผ๊ธฐ์–ต์žฅ์น˜ → ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜
  4. Swap-In: ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ → ์ฃผ๊ธฐ์–ต์žฅ์น˜
  5. ํ”„๋กœ์„ธ์Šค ์žฌ๊ฐœ: ์Šค์™€ํ•‘๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ชจ๋‘ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋กœ๋“œ๋˜๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค ๋‹ค์‹œ ์‹คํ–‰

์Šค์™€ํ•‘ ์žฅ์ 

  • ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋กœ Swap-Out ํ•จ์œผ๋กœ์จ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉ ๊ฐ€๋Šฅ
  • ์ œํ•œ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์—์„œ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ๊ฐ€๋Šฅ

์Šค์™€ํ•‘ ๋‹จ์ 

  • ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ๋งŒ ์˜ฌ๋ผ๊ฐˆ ์ˆ˜ ์žˆ์Œ → ๊ฐœ์„ : ๋‹ค์ค‘ ๋ถ„ํ•  ํ• ๋‹น ๊ธฐ๋ฒ•(๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•)
  • ์Šค์™€ํ•‘์— ๋”ฐ๋ฅธ Overhead ๋ฐœ์ƒ
  • ์Šค์™€ํ•‘์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์†๋„ ์ €ํ•˜

โ–ช๏ธ ๊ณ ์ • ๋ถ„ํ• (Fixed Partitioning) - ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

: ์‹œ์Šคํ…œ ์ƒ์„ฑ ์‹œ ์ฃผ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ์ด๋ฏธ ํŠน์ • ํฌ๊ธฐ๋กœ ๊ณ ์ •๋œ ํŒŒํ‹ฐ์…˜๋“ค๋กœ ์˜๊ตฌ์ ์ธ ๋ถ„ํ• ์„ ํ•˜๊ณ  ๊ฐ ๋ถ„ํ• ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜๋Š” ๋ฐฉ์‹

 

๊ณ ์ • ๋ถ„ํ•  ์ข…๋ฅ˜

- ๊ท ๋“ฑ ๋ถ„ํ• : ๋ชจ๋“  ํŒŒํ‹ฐ์…˜์˜ ํฌ๊ธฐ๊ฐ€ ์ผ์ •ํ•จ

  1. ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๊ฐ€ ํŒŒํ‹ฐ์…˜์˜ ํฌ๊ธฐ๋ณด๋‹ค ํด ์ˆ˜ ์žˆ์Œ
    - ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•) ์˜ค๋ฒ„๋ ˆ์ด(Overlay), ์Šค์™€ํ•‘(Swapping)
  2. ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ ๋ฐœ์ƒ
    - ๋งค์šฐ ์ž‘์€ ํฌ๊ธฐ์˜ ํ”„๋กœ์„ธ์Šค๋ผ๋„ ์ „์ฒด ํŒŒํ‹ฐ์…˜์„ ์ฐจ์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ

- ๋น„๊ท ๋“ฑ ๋ถ„ํ• : ๋ชจ๋“  ํŒŒํ‹ฐ์…˜์˜ ํฌ๊ธฐ๊ฐ€ ์ผ์ •ํ•˜์ง€ ์•Š์Œ

 

๊ณ ์ • ๋ถ„ํ•  ์žฅ์ 

  • ๊ตฌํ˜„์ด ๊ฐ„๋‹จ
  • ์šด์˜์ฒด์ œ Overhead๊ฐ€ ๊ฑฐ์˜ ์—†์Œ (์‹œ์Šคํ…œ ์ƒ์„ฑ ์‹œ ์ฃผ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ๋ฏธ๋ฆฌ ๋ถ„ํ• ๋จ)

๊ณ ์ • ๋ถ„ํ•  ๋‹จ์ 

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

โ–ช๏ธ ๊ฐ€๋ณ€ ๋ถ„ํ• (Variable Partitioning) - ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ์ ์žฌ๋  ๋•Œ ์ •ํ™•ํžˆ ํ•„์š”ํ•œ ํฌ๊ธฐ๋งŒํผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹

 

๊ฐ€๋ณ€ ๋ถ„ํ•  ์žฅ์ 

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Œ (ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ์— ๋”ฑ ๋งž๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ)

๊ฐ€๋ณ€ ๋ถ„ํ•  ๋‹จ์ 

  • ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฌธ์ œ ๋ฐœ์ƒ
    - ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ๋ฐ ํ•ด์ œ๋กœ ์ธํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์กฐ๊ฐ๋‚˜๊ณ , ์ด ์กฐ๊ฐ๋‚œ ์ž‘์€ ๊ณต๊ฐ„๋“ค์˜ ํฌ๊ธฐ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ€ ํฐ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ ํฌ๊ธฐ๊ฐ€ ๋งž์ง€ ์•Š์•„ ์‚ฌ์šฉ๋˜์ง€ ๋ชปํ•˜๋Š” ๊ฒฝ์šฐ
    - ๋ฉ”๋ชจ๋ฆฌ ํ†ตํ•ฉ(Coalescing) ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์••์ถ•(Compaction) ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ํ•ด๊ฒฐ ๊ฐ€๋Šฅ

๐Ÿ”น๋ถˆ์—ฐ์†/๋ถ„์‚ฐ ํ• ๋‹น ๊ธฐ๋ฒ•(Non-contiguous Memory Allocation)

: ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์˜ ์—ฌ๋Ÿฌ ์˜์—ญ์— ๋ถ„์‚ฐ๋˜์–ด ํ• ๋‹น๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹

: ์ฃผ๋กœ ๊ฐ€์ƒ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์‚ฌ์šฉ

 

โ–ช๏ธ ํŽ˜์ด์ง•(Paging) - ๊ณ ์ • ๋ถ„ํ• 

: ํŽ˜์ด์ง•์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(logical, ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„)๋ฅผ ๊ณ ์ • ํฌ๊ธฐ์˜ ๋ธ”๋ก์ธ 'ํŽ˜์ด์ง€' ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๊ณ , ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(physical, ์‹ค์ œ ๊ธฐ์–ต ๊ณต๊ฐ„)๋ฅผ ํŽ˜์ด์ง€์™€ ๊ฐ™์€ ํฌ๊ธฐ์˜ ํ”„๋ ˆ์ž„์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

ํŽ˜์ด์ง•(Paging)

  • ํŽ˜์ด์ง€(Page): ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ๋ธ”๋ก
  • ํ”„๋ ˆ์ž„(Frame): ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ๋ธ”๋ก
  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”(Page Table): ํ”„๋กœ์„ธ์Šค์˜ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ(frame)์˜ ์‹œ์ž‘ ์ฃผ์†Œ(offset)์˜ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ง

์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์—ฐ์†์ ์ผ ํ•„์š”๋Š” ์—†๋‹ค. (๋ถ„์‚ฐ ํ• ๋‹น ๊ธฐ๋ฒ• ํŠน์ง•)


โ–ช๏ธ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜(Segmentation) - ๊ฐ€๋ณ€ ๋ถ„ํ• 

: ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์€ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„์ธ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•œ๋‹ค.

๊ฐ ์„ธ๊ทธ๋จผํŠธ๋Š” ๋…ผ๋ฆฌ์ ์ธ ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„ ํ”„๋กœ๊ทธ๋žจ์˜ ๋ถ€๋ถ„์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ์„œ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.

์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜(Segmentation)

  • ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ํ…Œ์ด๋ธ”(Segmentation Table): ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ํฌ๊ธฐ(limit)์™€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ์‹œ์ž‘ ์ฃผ์†Œ(address, offset)๋กœ ๊ตฌ์„ฑ

์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ ๊ธฐ๋ฒ•๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์ด ์—ฐ์†์ ์ผ ํ•„์š”๋Š” ์—†๋‹ค. (๋ถ„์‚ฐ ํ• ๋‹น ๊ธฐ๋ฒ• ํŠน์ง•)

๐Ÿ”น์™ธ๋ถ€ ๋‹จํŽธํ™” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

โ–ช๏ธ ๋ฉ”๋ชจ๋ฆฌ ํ†ตํ•ฉ (Coalescing)

: ์ธ์ ‘ํ•œ ๋‹จํŽธํ™” ์˜์—ญ์„ ์ฐพ์•„๋‚ด์–ด ํ•˜๋‚˜๋กœ ํ†ตํ•ฉํ•˜๋Š” ๊ธฐ๋ฒ•

: ํ”„๋กœ๊ทธ๋žจ ์žฌ๋ฐฐ์น˜ ํ•„์š” X

๋ฉ”๋ชจ๋ฆฌ ํ†ตํ•ฉ(Coalescing)

โ–ช๏ธ ๋ฉ”๋ชจ๋ฆฌ ์••์ถ• (Compaction)

: ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ชจ๋“  ๋‹จํŽธํ™” ์˜์—ญ์„ ํ•˜๋‚˜๋กœ ์••์ถ•ํ•˜๋Š” ๊ธฐ๋ฒ•

: ํ”„๋กœ๊ทธ๋žจ ์žฌ๋ฐฐ์น˜ ํ•„์š” O

๋ฉ”๋ชจ๋ฆฌ ์••์ถ•(Compaction)

โ–ช๏ธ ๋ฒ„๋”” ์‹œ์Šคํ…œ / ๋ฒ„๋”” ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น (Buddy System/Buddy Memory Allocation)

: ์š”์ฒญํ•œ ํ”„๋กœ์„ธ์Šค ํฌ๊ธฐ์— ๊ฐ€์žฅ ์•Œ๋งž์€ ํฌ๊ธฐ๋ฅผ ํ• ๋‹นํ•˜๊ธฐ ์œ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 2^n์˜ ํฌ๊ธฐ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ•

๋ฒ„๋”” ์‹œ์Šคํ…œ(Buddy System)

  • ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 1/2๋กœ ๊ณ„์† ๋ถ„ํ• ํ•˜์—ฌ ์š”์ฒญํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ํฐ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
  • ๋งŒ์•ฝ, 31KB๋ฅผ ์š”์ฒญํ–ˆ์„ ๋•Œ, 256KB๋ฅผ 3๋ฒˆ ๋ถ„ํ• ํ•˜์—ฌ 32KB๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
  • 31KB์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšŒ์ˆ˜ํ•  ๊ฒฝ์šฐ, ์ธ์ ‘ํ•œ 32KB์™€ ํ•ฉ์น˜๊ณ  ๋‹ค์‹œ 64KB, 128KB๋ฅผ ํ•ฉ์ณ ์›๋ž˜์˜ 256KB๋กœ ๋งŒ๋“ ๋‹ค.

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

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋ž€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๋ผ๊ฒŒ ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ์ด ๊ฐœ๋…์€ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ณด์กฐ ์ €์žฅ ์žฅ์น˜(e.g, SSD, ํ•˜๋“œ ๋“œ๋ผ์ด๋ธŒ ๋“ฑ)๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ์ด ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์ง„ ๊ฒƒ์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๋„๋ก ๋„์™€์ค€๋‹ค.

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํŽ˜์ด์ง•(Paging)๊ณผ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜(Segmentation) ๊ฐ™์€ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„๋œ๋‹ค.

๐Ÿ”น๊ฐ€์ƒ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ

๊ฐ€์ƒ ์ฃผ์†Œ(Virtual Address)์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ(Physical Address)๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ์‹์ด๋‹ค. ์ด ๋‘ ์ฃผ์†Œ ์ฒด๊ณ„๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ํŠนํžˆ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.

 

โ–ช๏ธ ๊ฐ€์ƒ ์ฃผ์†Œ(Virtual Address)

: ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ์™€๋Š” ๋…๋ฆฝ์ ์ด๋ฉฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์‹œ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ์ด๋‹ค.

: ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์‹œ, ์šด์˜์ฒด์ œ๋Š” ๊ฐ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋…๋ฆฝ๋œ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค.

: ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์€ 'ํŽ˜์ด์ง€'๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ธ”๋ก์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

 

โ–ช๏ธ ๋ฌผ๋ฆฌ ์ฃผ์†Œ(Physical Address)

: ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ํ•˜๋“œ์›จ์–ด(RAM)์— ์กด์žฌํ•˜๋Š” ์ฃผ์†Œ์ด๋‹ค.

 

โ–ช๏ธ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ • (ํŽ˜์ด์ง• ๊ธฐ๋ฒ•)

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

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

1. ๊ฐ€์ƒ ์ฃผ์†Œ ์ƒ์„ฑ

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์„ ์œ„ํ•ด ์ƒ์„ฑํ•œ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ƒ์ฃผ์†Œ๋ผ๊ณ  ํ•จ

2. ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ์ถ”์ถœ

  • ๊ฐ€์ƒ ์ฃผ์†Œ์—์„œ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ์ถ”์ถœ
  • ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ๋งคํ•‘ ์ •๋ณด๋ฅผ ์ฐพ๋Š” ๋ฐ ์‚ฌ์šฉ

3. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์กฐํšŒ

  • ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์กฐํšŒ
  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์—์„œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณต๊ฐ„์œผ๋กœ์˜ ๋งคํ•‘ ์ •๋ณด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ

4. ํŽ˜์ด์ง€ ์˜คํ”„์…‹ ์ถ”์ถœ

  • ๊ฐ€์ƒ ์ฃผ์†Œ์—์„œ ํŽ˜์ด์ง€ ์˜คํ”„์…‹ ์ถ”์ถœ
  • ํŽ˜์ด์ง€ ์˜คํ”„์…‹์€ ํŽ˜์ด์ง€ ์ฒ˜์Œ ์œ„์น˜์—์„œ ํ•ด๋‹น ์ฃผ์†Œ๊นŒ์ง€์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋ƒ„
  • ํŽ˜์ด์ง€ ์˜คํ”„์…‹์€ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ์˜ ์‹ค์ œ ์ฃผ์†Œ ๊ณ„์‚ฐ์— ์‚ฌ์šฉ๋จ

5. ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณ„์‚ฐ

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ์กฐํšŒํ•œ ํ”„๋ ˆ์ž„ ๋ฒˆํ˜ธ์™€ ํŽ˜์ด์ง€ ์˜คํ”„์…‹์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ณ„์‚ฐ

6. ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ

  • ๊ณ„์‚ฐ๋œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰

โ–ช๏ธ TLB(Translation Lookaside Buffer)

: ๊ฐ€์ƒ ์ฃผ์†Œ์™€ ํ•ด๋‹นํ•˜๋Š” ๋ฌผ๋ฆฌ ์ฃผ์†Œ ์‚ฌ์ด์˜ ๋งคํ•‘ ์ •๋ณด๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๋Š” ์ž‘์€ ๊ณ ์† ์บ์‹œ

TLB ์‚ฌ์šฉ ์ด์œ 

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

TLB ์‚ฌ์šฉ ์›๋ฆฌ

: TLB๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ถœ๋ ฅ์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

: ๋งŒ์•ฝ TLB์— ๊ฐ€์ƒ ์ฃผ์†Œ์˜ ๋งคํ•‘ ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ์ด ์ •๋ณด๋ฅผ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€์ ธ์™€ TLB์— ์ €์žฅํ•œ๋‹ค.

TLB ์žฅ์ 

: ๊ฐ€์ƒ ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ ์ฃผ์†Œ ๊ฐ„์˜ ๋ณ€ํ™˜ ์†๋„๋ฅผ ๋†’์ž„

: ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ ์„ฑ๋Šฅ ํ–ฅ์ƒ

TLB ๋‹จ์ 

: TLB ํฌ๊ธฐ๊ฐ€ ์ œํ•œ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งคํ•‘ ์ •๋ณด๊ฐ€ TLB์— ์บ์‹œ๋  ์ˆ˜ ์žˆ๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Œ (TLB miss)

: TLB miss๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ๋งคํ•‘ ์ •๋ณด๋ฅผ ์ฐพ์•„์™€์•ผํ•˜๋ฏ€๋กœ ์ถ”๊ฐ€ ์ง€์—ฐ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

๐Ÿ”นํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ•

ํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ•์ด๋ž€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค ์ค‘ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ๊ฑฐํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

 

*. ํŽ˜์ด์ง€ ๋ถ€์žฌ(Page fault): ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ๋œ ํŽ˜์ด์ง€ ์ค‘ ์‚ฌ์šฉ ํŽ˜์ด์ง€๊ฐ€ ์—†์„ ๋•Œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด, ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์—์„œ ๊ฐ€์ ธ์™€ ์ ์žฌํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ฃผ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ๊ฝ‰ ์ฐจ์„œ ํŽ˜์ด์ง€๋ฅผ ์ ์žฌํ•  ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•˜๋‹ค๋ฉด ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์กด์žฌํ•˜๋Š” ํŽ˜์ด์ง€์™€ ์›ํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•ด์•ผํ•œ๋‹ค.

์ด๋•Œ ํŽ˜์ด์ง€ ๋ถ€์žฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์š”๊ตฌ ํŽ˜์ด์ง•(Demand Paging)์ด๋ผ๋Š” ์ „๋žต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

์š”๊ตฌ ํŽ˜์ด์ง• ์ˆ˜ํ–‰ ๊ณผ์ •

1. ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ๋ฐ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ” ์ดˆ๊ธฐํ™”

  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ•ญ๋ชฉ์€ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š”์ง€, ์กด์žฌํ•œ๋‹ค๋ฉด ์–ด๋””์— ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •๋ณด๋ฅผ ํฌํ•จ
  • ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ํŽ˜์ด์ง€๋Š” ์‹ค์ œ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์ง€ ์•Š์€ ์ƒํƒœ

2. ํŽ˜์ด์ง€ ์š”์ฒญ

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

3. ํŽ˜์ด์ง€ ๋ถ€์žฌ

  • ๋งŒ์•ฝ ์š”์ฒญํ•œ ํŽ˜์ด์ง€๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—†๋‹ค๋ฉด ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋ฐœ์ƒ
  • ์ด๋•Œ ์šด์˜์ฒด์ œ๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๋””์Šคํฌ์—์„œ ์ฐพ์•„ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋กœ๋“œ
  • ํŽ˜์ด์ง€ ๋กœ๋“œ ํ›„ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ํ•ด๋‹น ํŽ˜์ด์ง€ ์œ„์น˜๋ฅผ ํ‘œ์‹œ

4. ํŽ˜์ด์ง€ ๊ต์ฒด

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

์ด๋•Œ 4๋ฒˆ ํŽ˜์ด์ง€ ๊ต์ฒด ๊ณผ์ •์—์„œ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์‚ฌ์šฉ๋œ๋‹ค.

ํŽ˜์ด์ง€ ๊ต์ฒด ๊ธฐ๋ฒ•์˜ ๋Œ€ํ‘œ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ FIFO, LRU, LFU, OPT, NUR, SCR ๋“ฑ์ด ์žˆ๋‹ค.

๐Ÿ”นFIFO(First-In-First-Out: ์„ ์ž…์„ ์ถœ)

FIFO๋Š” ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ํŽ˜์ด์ง€๋ถ€ํ„ฐ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

FIFO ์˜ˆ์‹œ

์žฅ์ : ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ ์„ค๊ณ„ ๋ฐ ๊ตฌํ˜„์ด ๊ฐ„๋‹จ

๋‹จ์ : ์˜ค๋ž˜๋œ ํŽ˜์ด์ง€๊ฐ€ ๋ฌด์กฐ๊ฑด ๋ถˆํ•„์š”ํ•œ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜คํžˆ๋ ค ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Œ

๐Ÿ”นLRU(Least Recently Used)

LRU๋Š” ์‚ฌ์šฉ๋œ ์‹œ๊ฐ„์„ ํ™•์ธํ•˜์—ฌ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜์—ฌ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

LRU ์˜ˆ์‹œ

๋‹จ์ : ์ฐธ์กฐํ•  ๋•Œ๋งˆ๋‹ค ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•ด์•ผํ•จ(Overhead)

๐Ÿ”นLFU(Least Frequently Used)

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

LFU ์˜ˆ์‹œ

๋‹จ์ : ์ตœ๊ทผ ์ ์žฌ๋œ ํŽ˜์ด์ง€ ์ค‘ ์•ž์œผ๋กœ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ํŽ˜์ด์ง€๊ฐ€ ๊ต์ฒด๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ

๐Ÿ”นClock Algorithm

Clock์€ ์˜ค๋žซ๋™์•ˆ ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

LRU์™€ ๋น„์Šทํ•˜์ง€๋งŒ "๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŽ˜์ด์ง€ ๊ต์ฒด"๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์—์„œ ๋‹ค๋ฅด๋‹ค.

๊ฐ ํŽ˜์ด์ง€๋“ค์€ ์ฐธ์กฐ ๋น„ํŠธ(Reference Bit)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ์ด๋•Œ ํŽ˜์ด์ง€๋“ค์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฐ€๋ฆฌํ‚ค๋Š” Pointer(์‹œ๊ณ„๋ฐ”๋Š˜)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ํŽ˜์ด์ง€์˜ ์ฐธ์กฐ ๋น„ํŠธ์— ๋”ฐ๋ผ ๊ต์ฒด๋  ํŽ˜์ด์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

Clock Algorithm

1. ํ˜„์žฌ Pointer๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€์˜ ์ฐธ์กฐ๋น„ํŠธ(r) ํ™•์ธ2. r = 0 ์ธ ๊ฒฝ์šฐ, ๊ต์ฒด ํŽ˜์ด์ง€๋กœ ๊ฒฐ์ •, ํŽ˜์ด์ง€ ๊ต์ฒด ํ›„ r์„ 1๋กœ ๋ณ€๊ฒฝ3. r = 1 ์ธ ๊ฒฝ์šฐ, r์„ 0์œผ๋กœ ์ดˆ๊ธฐํ™” ํ›„ Pointer๋ฅผ ๋‹ค์Œ์œผ๋กœ ์ด๋™

Clock Algorithm ์˜ˆ์‹œ

๊ฐœ์„ ๋œ Clock Algorithm == Second Chance Algorithm

- Update bit(m)๋„ ์ถ”๊ฐ€๋กœ ๊ณ ๋ คํ•จ

- Reference bit(r) = 1 : ์ตœ๊ทผ์— ์ฐธ์กฐ๋œ ํŽ˜์ด์ง€

- Update bit(m) = 1 : ์ตœ๊ทผ์— ๋ณ€๊ฒฝ๋œ ํŽ˜์ด์ง€ (I/O๋ฅผ ๋™๋ฐ˜ํ•˜๋Š” ํŽ˜์ด์ง€)

- ํ˜„์žฌ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€์˜ (r, m)์„ ํ™•์ธ

  • (0, 0): ๊ต์ฒด ํŽ˜์ด์ง€๋กœ ๊ฒฐ์ •
  • (0, 1): (0, 0)์œผ๋กœ ๋ณ€๊ฒฝ, write-back (cleaning) list์— ์ถ”๊ฐ€ ํ›„ ์ด๋™
  • (1, 0): (0, 0)์œผ๋กœ ๋ณ€๊ฒฝ ํ›„ ์ด๋™
  • (1, 1): (0, 1)์œผ๋กœ ๋ณ€๊ฒฝ ํ›„ ์ด๋™

๊ฐœ์„ ๋œ Clock Algorithm ์˜ˆ์‹œ

๐Ÿ”น์“ฐ๋ ˆ์‹ฑ(Thrashing) - ๋ฌธ์ œ์ 

์“ฐ๋ ˆ์‹ฑ(Thrashing)์ด๋ž€ ํ”„๋กœ์„ธ์Šค์˜ ์ฒ˜๋ฆฌ์‹œ๊ฐ„๋ณด๋‹ค ํŽ˜์ด์ง€ ๊ต์ฒด ์‹œ๊ฐ„์ด ๋” ๋งŽ์•„์ ธ์„œ(Page fault ์ฆ๊ฐ€) CPU ์ด์šฉ๋ฅ ์ด ์ €ํ•˜๋˜๋Š” ํ˜„์ƒ์„ ๋งํ•œ๋‹ค.

์ฆ‰, ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ •๋„๊ฐ€ ๋†’์„์ˆ˜๋ก ์“ฐ๋ ˆ์‹ฑ์˜ ๋ฐœ์ƒ ๋นˆ๋„๋Š” ๋†’์•„์ง„๋‹ค.

์“ฐ๋ ˆ์‹ฑ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

- ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ •๋„ ↓

- CPU ์ด์šฉ ↑

- Working Set ๋ฐฉ๋ฒ• ์‚ฌ์šฉ

๐Ÿ”น์›Œํ‚น ์…‹(Working Set) - ์“ฐ๋ ˆ์‹ฑ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 1

์›Œํ‚น ์…‹(Working Set)์ด๋ž€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ์ž์ฃผ ์ฐธ์กฐํ•˜๋Š” ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ์ด๋ผ๋Š” ๋œป์œผ๋กœ, ์ง€์—ญ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž์ฃผ ์ฐธ์กฐ๋˜๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์›Œํ‚น ์…‹์„ ๋ฉ”๋ชจ๋ฆฌ์— ํ•ญ์ƒ ์ƒ์ฃผ์‹œํ‚ด์œผ๋กœ์จ ํŽ˜์ด์ง€ ๋ถ€์žฌ(Page fault) ํ˜„์ƒ์„ ์ค„์ด๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์›Œํ‚น ์…‹์€ ๋ณ€๊ฒฝ์ด ๋œ๋‹ค.

*. ์ง€์—ญ์„ฑ: ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ์ผ๋ถ€ ํŽ˜์ด์ง€๋งŒ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ํŠน์„ฑ

๐Ÿ”นํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„(PFF, Page Fault Frequency) - ์“ฐ๋ ˆ์‹ฑ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ 2

ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„(Page Fault Frequency)๋ž€ ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์˜ ์ƒํ•œ๊ณผ ํ•˜ํ•œ์„ ์ •ํ•˜์—ฌ ์ง์ ‘์ ์œผ๋กœ ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์„ ์˜ˆ์ธกํ•˜๊ณ  ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

- ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด, ์ฆ‰ ์ง€์—ญ์„ฑ(Locality)์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค.

- ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์— ๋”ฐ๋ผ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ๊ฐœ์ˆ˜๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

- ์ฆ‰, ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์ด ์‹œ์Šคํ…œ์ด ๋ฏธ๋ฆฌ ์ •ํ•ด ๋†“์€ ์ƒํ•œ๊ฐ’(upper bound)์„ ๋„˜์–ด๊ฐ€๊ฑฐ๋‚˜ ํ•˜ํ•œ๊ฐ’(lower bound)์ดํ•˜๋กœ ๋–จ์–ด์ง€๊ฒŒ ๋˜๋ฉด ์šด์˜์ฒด์ œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•œ๋‹ค.

 

์žฅ์ 

- ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋ฐœ์ƒ ์‹œ์— ์‹คํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ถ€ํ•˜๊ฐ€ ์ ๋‹ค.

- ์ง์ ‘์ ์œผ๋กœ ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ ์กฐ์ ˆ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹จ์ 

- ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘์ง€์‹œํ‚ค๋Š” ๊ณผ์ •์ด ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ง€์—ฐ์‹œํ‚ฌ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

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

 

https://limqoh.tistory.com/entry/html02

https://lordofkangs.tistory.com/203

https://lordofkangs.tistory.com/211

https://zangzangs.tistory.com/133

https://yeol-study-history.tistory.com/73

https://gooweon.tistory.com/183

https://velog.io/@kiiiyeon/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EA%B4%80%EB%A6%AC-%EC%A0%84%EB%9E%B5

https://sorjfkrh5078.tistory.com/49

https://sorjfkrh5078.tistory.com/48

https://sorjfkrh5078.tistory.com/53

https://blackjellybear.tistory.com/47

https://scottxchoo.xyz/cs-os-012/

https://kangsu-2ji.tistory.com/175

https://zangzangs.tistory.com/144

http://www.jidum.com/jidums/view.do?jidumId=484

https://blog.naver.com/klp0712/220883220425

https://hpckoreatech.notion.site/Operating-System-CSE132-2023-b8aa98fe69cc4a8cb950051a04bc35ca

https://m.blog.naver.com/qbxlvnf11/221367174686

https://velog.io/@chappi/OS%EB%8A%94-%ED%95%A0%EA%BB%80%EB%8D%B0-%ED%95%B5%EC%8B%AC%EB%A7%8C-%ED%95%A9%EB%8B%88%EB%8B%A4.-15%ED%8E%B8-%EA%B0%80%EC%83%81-%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%85%8C%EC%9D%B4%EC%85%98-%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%85%8C%EC%9D%B4%EC%85%98-%ED%8E%98%EC%9D%B4%EC%A7%95-%ED%98%BC%EC%9A%A9-%EA%B8%B0%EB%B2%95

https://sommda.tistory.com/62

https://www.ilsangeasy.com/tag/%ED%8E%98%EC%9D%B4%EC%A7%95-%EA%B8%B0%EB%B2%95/

https://wansook0316.github.io/cs/os/2020/04/06/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%EC%A0%95%EB%A6%AC-14-%ED%8E%98%EC%9D%B4%EC%A7%95.html

 

Comments