๐Ÿ“ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ „๋žต

JeongMinยท2023๋…„ 10์›” 13์ผ
0
post-thumbnail

๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์ „๋žต์€ ์ œํ•œ๋œ ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํšจ์œจ์ ์ธ ์‚ฌ์šฉ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ๋ฐฉ์‹์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ „๋žต์ด๋‹ค.

์Šค์™€ํ•‘(Swapping)

  • ์—ฌ๋Ÿฌ ์ด์œ ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž„์‹œ๋กœ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ์ผ๋ถ€ ์˜์—ญ์œผ๋กœ ๋ณด๋‚ด๊ณ  ๋‚˜์˜จ ๋นˆ ๊ณต๊ฐ„์— ๋˜ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ์‹์„ ๋œปํ•œ๋‹ค.

  • ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋“ค ์ค‘์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์Šค์™‘ ์˜์—ญ์— ๋‘”๋‹ค. ์ด ๊ณผ์ •์„ ์Šค์™‘ ์•„์›ƒ(out)์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ณ  ๋ฐ˜๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ๋นˆ ๊ณต๊ฐ„์ด ์ƒ๊ฒจ ์Šค์™‘ ์˜์—ญ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์„ ์Šค์™‘ ์ธ(in)์ด๋ผ๊ณ  ํ•œ๋‹ค.

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


๋‹จํŽธํ™”

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

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

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

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

  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•  ๋•Œ ํ•„์š”ํ•œ ์–‘๋ณด๋‹ค ๋” ํฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜์–ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋‚ญ๋น„๊ฐ€ ๋ฐœ์ƒํ•œ ํ˜„์ƒ์„ ๋งํ•œ๋‹ค.

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

ํ†ตํ•ฉ

  • ์™ธ๋ถ€ ๋‹จํŽธํ™” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์™ธ๋ถ€ ๋‹จํŽธํ™”๋กœ ์ธํ•ด ๋ถ„์‚ฐ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋“ค ์ค‘ ์ธ์ ‘ํ•ด ์žˆ๋Š” ๊ณต๊ฐ„๋ผ๋ฆฌ ํ†ตํ•ฉ์‹œ์ผœ ํฐ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ํ•ฉ์น˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

์••์ถ•

  • ์™ธ๋ถ€ ๋‹จํŽธํ™” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์žฌ๋ฐฐ์น˜๋ฅผ ํ†ตํ•ด ๋‹จํŽธํ™”๋˜์–ด ์žˆ๋Š” ๊ณต๊ฐ„์„ ํ•˜๋‚˜๋กœ ํ•ฉ์น˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

ํŽ˜์ด์ง•

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

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

  • ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋…ผ๋ฆฌ์ ์ธ ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๋ฅผ code ์˜์—ญ, data ์˜์—ญ, statck ์˜์—ญ ๋“ฑ์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ๋„ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ธ๊ทธ๋จผํŠธ์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ๋…ผ๋ฆฌ ๋‹จ์œ„๋กœ๋Š” main program, procedure, function, method, object, stack, local variable, global variable ๋“ฑ์ด ์žˆ๋‹ค.

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

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ FIFO(First-In_First-Out)

  • FIFO ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€์žฅ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์˜จ ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์žฅ ๋จผ์ € ๋‚ด๋ณด๋‚ด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ๊ตฌํ˜„์ด ๊ฐ„๋‹จํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์ด ์ข‹์ง€ ์•Š๋‹ค.

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ LRU(Least Recently Used)

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

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ LFU(Least Frequently Used)

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

์“ฐ๋ ˆ์‹ฑ

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹ค์ œ ์‹คํ–‰๋˜๋Š” ์‹œ๊ฐ„๋ณด๋‹ค ํŽ˜์ด์ง•์— ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ์š”ํ•ด ์„ฑ๋Šฅ์ด ๋Š๋ ค์ง€๋Š” ๊ฒƒ์„ ์“ฐ๋ ˆ์‹ฑ์ด๋ผ๊ณ  ํ•œ๋‹ค.

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