๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽˆ | ์ผ์ƒ/๐Ÿ’ก | ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ๋Šฅ์‚ฌ

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ๋Šฅ์‚ฌ ์‹ค๊ธฐ] ์šด์˜์ฒด์ œ ๊ธฐ์ดˆ ํ™œ์šฉ(1)

by immgga 2022. 4. 25.

1. ์šด์˜์ฒด์ œ์˜ ๊ฐœ์š”

์šด์˜์ฒด์ œ(OS, Operating System): ์ปดํ“จํ„ฐ ์‚ฌ์šฉ์ž์™€ ํ•˜๋“œ์›จ์–ด ๊ฐ„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ์„œ ๋™์ž‘ํ•˜๋Š” ์‹œ์Šคํ…œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ์ผ์ข…

 

์—ญํ• 

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

 

์šด์˜์ฒด์ œ์˜ ๋ชฉ์ (์šด์˜์ฒด์ œ์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€ ํ•ญ๋ชฉ)

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

 

์šด์˜์ฒด์ œ์˜ ๊ธฐ๋Šฅ

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

 

์šด์˜์ฒด์ œ์˜ ์šด์˜ ๋ฐฉ์‹

1. ์ผ๊ด„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

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

2. ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์Šคํ…œ

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

3. ์‹œ๋ถ„ํ•  ์‹œ์Šคํ…œ

  • ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋‹จ๋ง๊ธฐ๊ฐ€ ๊ณต๋™์œผ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ์‹œ์Šคํ…œ
  • ์‚ฌ์šฉ์ž ๊ด€์ ์—์„œ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ผ์ •ํ•œ ์ฃผ๊ธฐ๋กœ ๋ฒˆ๊ฐˆ์•„ ์ ์œ ํ•œ๋‹ค.
  • ์‹ค์‹œ๊ฐ„(Real Time)์‘๋‹ต์ด ์š”๊ตฌ๋˜๋ฉฐ, CPU๊ฐ€ Multi-Programming ํ•˜๋Š” ๊ฒƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

4. ๋‹ค์ค‘ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ CPU์™€ ํ•œ ๊ฐœ์˜ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ์Šคํ…œ

5. ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

  • ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ž‘์—…์ด ๋ฐœ์ƒํ•œ ์‹œ์ ์—์„œ ์ฆ‰๊ฐ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์–ด๋‚ด๋Š” ์‹œ์Šคํ…œ
  • ์˜ˆ) ํ•ญ๊ณต๊ธฐ ์˜ˆ์•ฝ, ์€ํ–‰ ์ฐฝ๊ตฌ, ์กฐํšŒ ๋ฐ ์งˆ์˜ ์—…๋ฌด

6. ๋‹ค์ค‘ ๋ชจ๋“œ ์‹œ์Šคํ…œ

  • ์ผ๊ด„ ์ฒ˜๋ฆฌ, ์‹œ๋ถ„ํ• , ์ž๋‘ฅ ์ฒ˜๋ฆฌ, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์„ ํ•œ ์‹œ์Šคํ…œ์—์„œ ๋ชจ๋‘ ์ œ๊ณตํ•œ๋‹ค.

7. ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

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

 

์šด์˜์ฒด์ œ์˜ ๋ฐœ๋‹ฌ ๊ณผ์ •

์ผ๊ด„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ -> ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ, ์‹œ๋ถ„ํ• , ๋‹ค์ค‘ ์ฒ˜๋ฆฌ, ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ -> ๋‹ค์ค‘ ๋ชจ๋“œ ์‹œ์Šคํ…œ -> ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ

 


 

2. ์ฃผ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

 

๊ธฐ์–ต์žฅ์น˜์˜ ๋ถ„๋ฅ˜

๊ธฐ์–ต์žฅ์น˜(Memory): ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU)๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋“ฑ์„ ์ผ์‹œ์ ์œผ๋กœ ์˜๊ตฌํžˆ ์ €์žฅํ•˜๋Š” ์žฅ์น˜๋“ค์„ ํ†ตํ‹€์–ด ์ง€์นญํ•œ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต๊ตฌ์กฐ

 

๊ธฐ์–ต์žฅ์น˜์˜ ํŠน์ง•

1. ์ฃผ ๋ฉ”๋ชจ๋ฆฌ(Main Memory, ์ฃผ๊ธฐ์–ต์žฅ์น˜)

  • CPU๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•˜์—ฌ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์–ต์žฅ์น˜๋กœ, ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ๋ฐ˜๋„์ฒด ๋ฉ”๋ชจ๋ฆฌ๋กœ, ROM๊ณผ RAM์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

2. ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ(Cache Memory)

  • ์ฃผ๊ธฐ์–ต์žฅ์น˜์™€ CPU์˜ ์†๋„ ์ฐจ์ด๋ฅผ ์ค„์—ฌ ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

3. ์—ฐ๊ด€ ๋ฉ”๋ชจ๋ฆฌ(Associatiove Memory)

  • ์ €์žฅ๋œ ๋‚ด์šฉ์„ ์ด์šฉํ•ด ์ ‘๊ทผํ•˜๋Š” ๊ธฐ์–ต์žฅ์น˜๋กœ, CAM(Content Addressable Memory)์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

4. ๋ณด์กฐ ๋ฉ”๋ชจ๋ฆฌ(secondary Memory)

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

5. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)

  • ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๋ถ€์กฑํ•œ ์šฉ๋Ÿ‰์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.
  • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌํ˜„ ๊ธฐ๋ฒ•์œผ๋กœ๋Š” ํŽ˜์ด์ง•(Paging) ๊ธฐ๋ฒ•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(segmentation) ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค.

 

๊ธฐ์–ต์žฅ์น˜์˜ ๊ด€๋ฆฌ ์ „๋žต

1. ๋ฐ˜์ž…(Fetch) ์ „๋žต: When

  • ํ”„๋กœ๊ทธ๋žจ/๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ „๋žต์ด๋‹ค.
  • ์ข…๋ฅ˜: ์š”๊ตฌ ๋ฐ˜์ž…, ์˜ˆ์ƒ ๋ฐ˜์ž…

2. ๋ฐฐ์น˜(Placement) ์ „๋žต: Where

  • ํ”„๋กœ๊ทธ๋žจ/๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜ ๋‚ด์˜ ์œ„์น˜๋ฅผ ์ •ํ•˜๋Š” ์ „๋žต์ด๋‹ค.
  • ์ข…๋ฅ˜: ์ตœ์ดˆ ์ ํ•ฉ(First Fit), ์ตœ์  ์ ํ•ฉ(Best Fit), ์ตœ์•… ์ ํ•ฉ(Worst Fit)

3. ๊ต์ฒด(Replacement) ์ „๋žต: Who/What

  • ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๋นˆ๊ณต๊ฐ„ ํ™•๋ณด๋ฅผ ์œ„ํ•ด ์ œ๊ฑฐํ•  ํ”„๋กœ๊ทธ๋žจ/๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๋Š” ์ „๋žต์ด๋‹ค.
  • ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๋ชจ๋“  ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์ด ์‚ฌ์šฉ ์ค‘์ผ๋•Œ, ์–ด๋–ค ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ๊ต์ฒดํ•  ๊ฒƒ์ธ๊ฐ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ „๋žต์ด๋‹ค.
  • ์ข…๋ฅ˜: FIFO, OPT, LRU, LFU, NUR, SCR

 

๋ฐฐ์น˜(Replacement) ์ „๋žต

 

๋ฐฐ์น˜ ์ „๋žต ์„ค๋ช…
์ตœ์กฐ ์ ํ•ฉ(First Fit) ์ ์žฌ ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„ ์ค‘์—์„œ ์ฒซ ๋ฒˆ์งธ ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
์ตœ์  ์ ํ•ฉ(Best Fit) ๋‹จํŽธํ™” ๊ณต๊ฐ„์ด ๊ฐ€์žฅ ์ž‘๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.
์ตœ์•… ์ ํ•ฉ(Worst Fit) ๋‹จํŽธํ™” ๊ณต๊ฐ„์ด ๊ฐ€์žฅ ํฌ๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

 

 

 

๋‹จํŽธํ™”

๋‹จํŽธํ™”(Fragmentation): ์ฃผ๊ธฐ์–ต์žฅ์น˜ ์ƒ์—์„œ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๊ธฐ์–ต ์žฅ์†Œ๊ฐ€ ํ• ๋‹น๋˜๊ณ  ๋ฐ˜๋‚ฉ๋จ์— ๋”ฐ๋ผ ๊ธฐ์–ต์žฅ์†Œ๋“ค์ด ์กฐ๊ฐ๋“ค๋กœ ๋‚˜๋ˆ„์–ด์ง€๋Š” ํ˜„์ƒ

์ข…๋ฅ˜: ๋‚ด๋ถ€ ๋‹จํŽธํ™”(Internal Fragmentation), ์™ธ๋ถ€ ๋‹จํŽธํ™”(External Fragmentation)

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”: ๋ถ„ํ• ๋œ ์˜์—ญ์ด ํ• ๋‹น ์ž‘์—…๋ณด๋‹ค ํฐ ์ƒํ™ฉ์—์„œ ํ• ๋‹น๋œ ํ›„ ๋‚จ๊ฒŒ ๋˜๋Š” ๋นˆ ์กฐ๊ฐ ๊ณต๊ฐ„์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ
  • ๋ถ„ํ•  ์˜์—ญ >= ํ• ๋‹น ์˜์—ญ

 

  • ์™ธ๋ถ€ ๋‹จํŽธํ™”: ๋ถ„ํ• ๋œ ์˜์—ญ์ด ํ• ๋‹น ์ž‘์—…๋ณด๋‹ค ์ž‘์€ ์ƒํ™ฉ์—์„œ ํ• ๋‹น์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜์–ด ๋‚จ๊ฒŒ ๋˜๋Š” ๊ณต๊ฐ„์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ
  • ๋ถ„ํ•  ์˜์—ญ < ํ• ๋‹น ์˜์—ญ

 

๋‹จํŽธํ™” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

  • ํ†ตํ•ฉ(Colalescing): ์ธ์ ‘ํ•œ ๋‚ญ๋น„ ๊ณต๊ฐ„๋“ค์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ํฐ ๊ธฐ์–ต ๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ์ž‘์—…
  • ์••์ถ•(Compaction): ์„œ๋กœ ๋–จ์–ด์ ธ ์žˆ๋Š” ๊ณต๋ฐฑ์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ํฐ ๊ธฐ์–ต ๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ์ž‘์—…, Garbage Collection ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 


 

3. ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(Virtual Memory)๋Š” ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์˜ ์ผ๋ถ€๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

ํŽ˜์ด์ง•(Paging) ๊ธฐ๋ฒ•

  • ๊ฐ€์ƒ๊ธฐ์–ต์ฐฝ์ง€์— ๋ณด๊ด€๋œ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์˜์—ญ์„ ๋™์ผํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆ„ ํ›„, ๋‚˜๋ˆ ์ง„ ํ”„๋กœ๊ทธ๋žจ(ํŽ˜์ด์ง€, Page)์„ ๋™์ผํ•˜๊ฒŒ ์•„์›Œ์ง„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์˜์—ญ์— ์ ์žฌ์‹œ์ผœ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.
  • ๋งคํ•‘(Mapping)์„ ์œ„ํ•ด ํŽ˜์ด์ง€์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ํŽ˜์ด์ง€ ๋งต ํ…Œ์ด๋ธ”(Page Map Table)์ด ํ•„์š”ํ•˜๋‹ค.
  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์„ธ๊ทธ๋จผํ…Œ์ด์…˜(Segmentation) ๊ธฐ๋ฒ•

  • ๊ฐ€์ƒ๊ธฐ์–ต์žฅ์น˜์— ๋ณด๊ด€๋œ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„(์„ธ๊ทธ๋จผํŠธ, Segment)๋กœ ๋‚˜๋ˆˆ ํ›„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ์‹œ์ผœ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.
  • ๋งคํ•‘์„ ์œ„ํ•ด ์„ธ๊ทธ๋จผํŠธ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฐ€์ง„ ์„ธ๊ทธ๋จผํŠธ ๋งต ํ…Œ์ด๋ธ”(Segment Map Table)์ด ํ•„์š”ํ•˜๋‹ค.
  • ์™ธ๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋งคํ•‘ ํ…Œ์ด๋ธ”

๋งคํ•‘ ์ž‘์—…: ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์ธ MMU(Memory Management Unit)์— ์˜ํ•ด ์‹คํ–‰๋œ๋‹ค. ์ด๋•Œ ๋…ผ๋ฆฌ์  ์ฃผ์†Œ์˜ ๋งคํ•‘ ์ •๋ณด๋ฅผ ๋งคํ•‘ ํ…Œ์ด๋ธ”์— ์ €์žฅํ•˜์—ฌ ๊ด€๋ฆฌํ•œ๋‹ค.

 

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜

ํ”„๋กœ์„ธ์Šค ์‹คํ–‰ ์‹œ ํŽ˜์ด์ง€๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์—†๋Š” ํŽ˜์ด์ง€ ๋ถ€์žฌ(Page Fault) ๋ฐœ์ƒ ์‹œ ๊ฐ€์ƒ๊ธฐ์–ต์žฅ์น˜์˜ ํŽ˜์ด์ง€๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌํ–์•ผ ํ•˜๋Š”๋ฐ, ์ด๋–„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๋ชจ๋“  ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์ด ์‚ฌ์šฉ ์ค‘์ด๋ฉด, ์–ด๋–ค ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ ๊ต์ฒดํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ค๋ช…
OPT(OPTimal page replacement) ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
FIFO(First In First Out) ๊ฐ€์žฅ ๋จผ์ € ์ ์žฌ๋œ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
LRU(Least Recently Used) ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜๋˜ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
LFU(Least Frequently Used) ์ฐธ์กฐ๋œ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
NUR(Not Used Recently) ์ตœ๊ทผ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๋จผ์ € ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
SCR(Second Chance Replacement) ๊ฐ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์„ FIFO ์ˆœ์œผ๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ LRU ๊ทผ์‚ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ฒ˜๋Ÿผ ์ฐธ์กฐ ๋น„ํŠธ๋ฅผ ๊ฐ–๊ฒŒ ํ•˜๋Š” ๊ธฐ๋ฒ•

 

 

๊ฐ€์ƒ๊ธฐ์–ต์žฅ์น˜ ๊ด€๋ จ ๊ธฐํƒ€ ์ฃผ์š” ์šฉ์–ด

1. ๊ตฌ์—ญ์„ฑ(Locality, ์ง€์—ญ์„ฑ)

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ผ๋ถ€ ํŽ˜์ด์ง€๋งŒ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐ๋˜๋Š” ๊ฒฝํ–ฅ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์›Œํ‚น ์…‹ ์ด๋ก ์˜ ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.
  • ์‹œ๊ฐ„ ๊ตฌ์—ญ์„ฑ(Temporal Locality): ์ตœ๊ทผ์— ์ฐธ์กฐ๋œ ๊ธฐ์–ต์žฅ์†Œ๊ฐ€ ๊ฐ€๊นŒ์šด ์žฅ๋ž˜์—๋„ ๊ณ„์† ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ๊ณต๊ฐ„ ๊ตฌ์—ญ์„ฑ(Spatial Locality): ํ•˜๋‚˜์˜ ๊ธฐ์–ต์žฅ์†Œ๊ฐ€ ๊ฐ€๊นŒ์šด ์žฅ๋ž˜์—๋„ ๊ณ„์† ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

2. ์›Œํ‚น ์…‹(Working Set)

  • ํ”„๋กœ์„ธ์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์œ ์ง€๋˜์–ด์•ผ ํ•˜๋Š” ํŽ˜์ด์ง€๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค.

3. ์Šค๋ž˜์‹ฑ(Thrashing)

  • ํŽ˜์ด์ง€ ๋ถ€์žฌ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒ๋˜์–ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ˆ˜ํ–‰๋˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ํŽ˜์ด์ง€ ๊ต์ฒด์— ์†Œ๋น„๋˜๋Š” ์‹œ๊ฐ„์ด ๋” ๋“œ๋Š” ํ˜„์ƒ
  • ์Šค๋ž˜์‹ฑ ํ˜„์ƒ ๋ฐฉ์ง€ ๊ธฐ๋ฒ•: CPU ์ด์šฉ์œจ ์ฆ๊ฐ€, ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ ์กฐ์ ˆํ›„ ๋Œ€์ฒ˜, ์›Œํ‚น ์…‹ ๋ฐฉ๋ฒ• ์‚ฌ์šฉ

4. ํŽ˜์ด์ง€ ๋ถ€์žฌ(Page Fault)

  • ์ฐธ์กฐํ•  ํŽ˜์ด์ง€๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์—†๋Š” ํ˜„์ƒ์ด๋‹ค.
  • ํŽ˜์ด์ง€ ๋ถ€์žฌ์œจ์— ๋”ฐ๋ผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์žˆ๋Š” ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์˜ ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ์„œ๋‚˜ ์ค„์—ฌ ๋ถ€์žฌ์œจ์„ ์ ์ • ์ˆ˜์ค€์œผ๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.
728x90