[Computer Science][Operating System] ๐Ÿ“š ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜: ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์˜ ์ดํ•ด

๊น€์ƒ์šฑยท2024๋…„ 8์›” 14์ผ
0
post-thumbnail

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


1. ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

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

๐Ÿ”’ ๊ณ ์ • ๋ถ„ํ•  ๊ธฐ๋ฒ•

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

๐Ÿ”„ ๋™์  ๋ถ„ํ•  ๊ธฐ๋ฒ•

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


2. ๋ถˆ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

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

๐Ÿ“„ ํŽ˜์ด์ง€์™€ ํ”„๋ ˆ์ž„

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

๐Ÿ” ๋‹จํŽธํ™”

๋‹จํŽธํ™”๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์—ฌ๋Ÿฌ ์กฐ๊ฐ์œผ๋กœ ๋‚˜๋‰˜์–ด์ ธ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์—†๊ฒŒ ๋˜๋Š” ํ˜„์ƒ์ž…๋‹ˆ๋‹ค.

๐Ÿ“ฆ ์„ธ๊ทธ๋จผํŠธ

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

๐Ÿ—บ๏ธ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”

ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ํŽ˜์ด์ง€์™€ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„ ๊ฐ„์˜ ๋งคํ•‘ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.

โš ๏ธ ํŽ˜์ด์ง€ ํดํŠธ

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


3. ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์˜ ์ฐจ์ด

โš–๏ธ ๊ณ ์ • ํฌ๊ธฐ: ํŽ˜์ด์ง• (Paging)

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

๐Ÿ“ ๊ฐ€๋ณ€ ํฌ๊ธฐ: ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ (Segmentation)

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

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

๐Ÿ’พ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง•

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

๐Ÿ“‚ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜

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

์ด ๊ธ€์„ ํ†ตํ•ด ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜์˜ ๊ฐœ๋… ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋ฒ•๋“ค์ด ์žˆ์Œ์„ ๊ธฐ์–ตํ•ด ์ฃผ์„ธ์š”! ๐Ÿ˜Š

์ด๋Ÿฐ ์ž๋ฃŒ๋ฅผ ์ฐธ๊ณ ํ–ˆ์–ด์š”.
[1] ํ‹ฐ์Šคํ† ๋ฆฌ - (12) ํŽ˜์ด์ง• & ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ - ์ฝ”๋ฅด์‹œ์นด's Blog (https://korshika.tistory.com/154)
[2] Gyoogle - ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋จผํ…Œ์ด์…˜ | ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Tech Interview (https://gyoogle.dev/blog/computer-science/operating-system/Paging%20and%20Segmentation.html)
[3] ๋А๋ฆฌ๋”๋ผ๋„ ๊พธ์ค€ํ•˜๊ฒŒ - [์šด์˜์ฒด์ œ] ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜ - ๋А๋ฆฌ๋”๋ผ๋„ ๊พธ์ค€ํ•˜๊ฒŒ (https://steady-coding.tistory.com/524)
[4] velog - [OS] ํŽ˜์ด์ง•๊ณผ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜, ๋‹จํŽธํ™” (https://velog.io/@kku64r/paging)

0๊ฐœ์˜ ๋Œ“๊ธ€