๐Ÿ“–๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•

ํ”„๋กœ๊ทธ๋žจ์„ ์–ด๋–ป๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌํ•  ๊ฒƒ์ธ์ง€ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ

๐Ÿ“Ž์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹น๋˜์–ด์•ผ ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•

1. ๊ณ ์ • ๋ถ„ํ•  ๊ธฐ๋ฒ•

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

  • ๋ถ„ํ• ์˜ ํฌ๊ธฐ๋Š” ๋ชจ๋‘ ๋™์ผํ•  ์ˆ˜ ์žˆ๊ณ  ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ์Œ
  • ๋‚ด๋ถ€ ๋‹จํŽธํ™” ํ˜„์ƒ๊ณผ ์™ธ๋ถ€ ๋‹จํŽธํ™” ํ˜„์ƒ์ด ๋ฐœ์ƒ

2. ๊ฐ€๋ณ€ ๋ถ„ํ•  ๊ธฐ๋ฒ•

๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ถ„ํ• ์˜ ํฌ๊ธฐ, ๊ฐœ์ˆ˜๊ฐ€ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๋ฐฉ์‹

  • ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ•ด์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๊ณ  ์ด๋ฅผ ๊ธฐ์ˆ ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฒ•์ด ํ•„์š”

๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์—์„œ ์ ํ•ฉํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

  1. First-Fit : ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ค๋Š” ๊ฐ€์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
  2. Best-Fit : ๊ฐ€์žฅ ๋”ฑ ๋งž๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ฐพ์•„ ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
  3. Worst-Fit : ๊ฐ€์žฅ ํฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฆฌ๋Š” ๋ฐฉ๋ฒ•
  • ํ”„๋กœ์„ธ์Šค์— ๋”ฑ ๋งž๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋‚ด๋ถ€ ๋‹จํŽธํ™” ํ˜„์ƒ์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ์— ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์˜ฌ๋ฆด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ์—๋Š”, ์™ธ๋ถ€ ๋‹จํŽธํ™” ํ˜„์ƒ์ด ๋ฐœ์ƒ

๐Ÿ“Ž๋ถˆ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

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

  • ๋‹จํŽธํ™” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ œ์‹œ๋œ ๊ธฐ๋ฒ•

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

ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ํŽ˜์ด์ง€(Page)๋ž€ ๋‹จ์œ„์˜ ๊ณ ์ •๋œ ์‚ฌ์ด์ฆˆ๋กœ ๋‚˜๋ˆ„์–ด ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ๋ถˆ์—ฐ์†์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹

  • ์™ธ๋ถ€ ๋‹จํŽธํ™” ํ•ด์†Œ โ†’ ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ํ•ด์†Œํ•˜์ง€ ๋ชปํ•จ(Page ๋‹จ์œ„๊ฐ€ ํด์ˆ˜๋ก ๋‚ด๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ์ปค์ง)
  • ํ”„๋กœ์„ธ์Šค๋Š” Page ๋‹จ์œ„๋กœ ๋ถ„ํ• ๋˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋Š” Frame ๋‹จ์œ„๋กœ ๋ถ„ํ• 
  • mapping์„ ์œ„ํ•œ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์ด ํ•„์š” page num : ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ page offset : ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ํ• ๋‹น๋œ ํ”„๋ ˆ์ž„์˜ ์‹œ์ž‘ ๋ฌผ๋ฆฌ ์ฃผ์†Œ
  • CPU๋Š” ๋…ผ๋ฆฌ ์ฃผ์†Œ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์„ค์ •ํ•œ๋Œ€๋กœ ์—ฐ์†์ ์ธ ์ฃผ์†Œ๊ฐ’์œผ๋กœ ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ณ , ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€๊ธฐ ์ „์— ๊ฐ ํŽ˜์ด์ง€์˜ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์—์„œ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋ณ€๊ฒฝ

2. Segmentation(์„ธ๊ทธ๋จผํ…Œ์ด์…˜)

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

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

๋…ผ๋ฆฌ์ ์ธ ๋‚ด์šฉ ๋‹จ์œ„

๐Ÿ”–ํ•จ์ˆ˜๋‹จ์œ„

  • method, procedure, function, object, โ€ฆ

๐Ÿ”–C ์ปดํŒŒ์ผ๋Ÿฌ ๊ด€์ ์—์„œ์˜ ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋‹จ์œ„

  • ์ฝ”๋“œ, ์ „์—ญ ๋ณ€์ˆ˜, ํž™, ์Šคํƒ
  • mapping์„ ์œ„ํ•œ ์„ธ๊ทธ๋จผํŠธ ํ…Œ์ด๋ธ”์ด ํ•„์š” base : ์„ธ๊ทธ๋จผํŠธ ๋ฒˆํ˜ธ์™€ ์‹œ์ž‘ ์ฃผ์†Œ limit : ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ
  • CPU์—์„œ ํ•ด๋‹น ์„ธ๊ทธ๋จผํŠธ์˜ ํฌ๊ธฐ๋ฅผ ๋„˜์–ด์„œ๋Š” ์ฃผ์†Œ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด, ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ๋กœ ์ข…๋ฃŒ