CS/์šด์˜์ฒด์ œ

[์šด์˜์ฒด์ œ] ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ(๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น)

1eehyunji 2023. 8. 25. 01:01

๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ๊ทธ๋žจ์„ ํ• ๋‹นํ•  ๋•Œ๋Š” ์‹œ์ž‘ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜, ๋ฉ”๋ชจ๋ฆฌ์˜ ํ• ๋‹น ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ• ๋‹นํ•˜๋Š”๋ฐ, ์—ฐ์† ํ• ๋‹น๊ณผ ๋ถˆ์—ฐ์† ํ• ๋‹น์œผ๋กœ ๋‚˜๋‰œ๋‹ค. 

์—ฐ์† ํ• ๋‹น

์—ฐ์† ํ• ๋‹น

์—ฐ์† ํ• ๋‹น์€ ๋ฉ”๋ชจ๋ฆฌ์— '์—ฐ์†์ ์œผ๋กœ' ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

์•ž์˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํ”„๋กœ์„ธ์Šค A, ํ”„๋กœ์„ธ์Šค B, ํ”„๋กœ์„ธ์Šค C๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. 

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

 

๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹(fixed partition allocation)

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

๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹(variable partition allocation)

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

* ๋‚ด๋ถ€ ๋‹จํŽธํ™”(internal fragmentation) : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜๋ˆˆ ํฌ๊ธฐ๋ณด๋‹ค ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘์•„์„œ ๋‚จ๋Š” ๊ณต๊ฐ„์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ

* ์™ธ๋ถ€ ๋‹จํŽธํ™”(external fragmentation) : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜๋ˆˆ ํฌ๊ธฐ๋ณด๋‹ค ํ”„๋กœ๊ทธ๋žจ์ด ์ปค์„œ ํ”„๋กœ๊ทธ๋žจ์ด ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•˜๊ณ  ๋‚จ๋Š” ๊ณต๊ฐ„์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ

* ํ™€(hole) : ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋น„์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

 

๋ถˆ์—ฐ์† ํ• ๋‹น

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

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

ํŽ˜์ด์ง• ๊ธฐ๋ฒ• ์™ธ์—๋„ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜, ํŽ˜์ด์ง€๋“œ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์ด ์žˆ๋‹ค. 

 

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

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