Skip to content

Latest commit

ย 

History

History
320 lines (194 loc) ยท 19.7 KB

undefined-2.md

File metadata and controls

320 lines (194 loc) ยท 19.7 KB

๋ฉ”๋ชจ๋ฆฌ์™€ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

1. ๋ฉ”๋ชจ๋ฆฌ

CPU๋Š” ๊ทธ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™€ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ช…๋ น์–ด๋“ค์„ ์‹คํ–‰

๐Ÿ‡ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต

  1. ๋ ˆ์ง€์Šคํ„ฐ : CPU ์•ˆ์— ์žˆ๋Š” ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ
  2. ์บ์‹œ : L1, L2 ์บ์‹œ๋ฅผ ์ง€์นญํ•œ๋‹ค.
  3. ์ฃผ๊ธฐ์–ต์žฅ์น˜ : (= ๋ฉ”๋ชจ๋ฆฌ, RAM)
  4. ์ €์žฅ์žฅ์น˜(HDD SDD) : (= ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜)

๐Ÿ‡ ์บ์‹œ

์บ์‹œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ณต์‚ฌํ•ด ๋†“๋Š” ์ž„์‹œ ์ €์žฅ์†Œ์ด์ž ๋น ๋ฅธ ์žฅ์น˜์™€ ๋Š๋ฆฐ ์žฅ์น˜์—์„œ ์†๋„ ์ฐจ์ด์— ๋”ฐ๋ฅธ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ

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

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

Q. ๊ทธ๋ ‡๋‹ค๋ฉด ์บ์‹œ๊ณ„์ธต์„ ๋‘๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์บ์‹œ๋ฅผ ์ง์ ‘ ์„ค์ •ํ•ด์•ผ ํ•  ๋•Œ๋Š” ์–ด๋–ป๊ฒŒโ€ฆ?

A. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์ •ํ•ด์•ผ ํ•˜๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ๊ทผ๊ฑฐ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ ์ง€์—ญ์„ฑ

  • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ฅผ ์ฐธ์กฐํ•  ๋•Œ ์ผ๋ถ€ ํŽ˜์ด์ง€๋งŒ ์ง‘์ค‘์ ์œผ๋กœ ์ฐธ์กฐํ•˜๋Š” ์„ฑ์งˆ์ด ์žˆ๋‹ค๋Š” ์ด๋ก 
  • ์Šค๋ž˜์‹ฑ(Thrashing)์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์›Œํ‚น ์…‹ ์ด๋ก ์˜ ๊ธฐ๋ฐ˜
  • ๋ฐ๋‹(Denning) ๊ต์ˆ˜์— ์˜ํ•ด ๊ตฌ์—ญ์„ฑ์˜ ๊ฐœ๋…์ด ์ฆ๋ช…๋์œผ๋ฉฐ, ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์˜ ์ด๋ก ์  ๊ทผ๊ฑฐ
์ข…๋ฅ˜ ์„ค๋ช…
์‹œ๊ฐ„์  ์ง€์—ญ์„ฑ(Temporal Locality)

โ–ถ ์ตœ๊ทผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํŠน์„ฑ for ๋ฌธ ๋ฐ˜๋ณต๋ฌธ์˜ i์™€ ๊ฐ™์€ ๋Š๋‚Œ
โ–ถ ํ•œ ๋ฒˆ ์ฐธ์กฐํ•œ ํŽ˜์ด์ง€๋Š” ๊ฐ€๊นŒ์šด ์‹œ๊ฐ„ ๋‚ด์— ๊ณ„์† ์ฐธ์กฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ ๋ฐ˜๋ณต, ์Šคํƒ, ๋ถ€ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๋ จ
โ–ถ ์ตœ๊ทผ ์‚ฌ์šฉ๋˜์—ˆ๋˜ ๊ธฐ์–ต์žฅ์†Œ๋“ค์ด ์ง‘์ค‘์ ์œผ๋กœ
์•ก์„ธ์Šค# Loop(๋ฃจํ”„), Stack(์Šคํƒ), Subroutine(์„œ๋ธŒ๋ฃจํ‹ด),Counting(์นด์šดํŒ…), Totaling(์ง‘๊ณ„)
#๋ฃจ์Šค์„œ์นด์ง‘

๊ณต๊ฐ„์  ์ง€์—ญ์„ฑ(SpatialLocality)

โ–ถ ์–ด๋Š ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜๋ฉด ๊ฐ€์ƒ๊ณต๊ฐ„์ƒ ๊ทธ ๊ทผ์ฒ˜์˜ ํŽ˜์ด์ง€๋ฅผ ๊ณ„์† ์ฐธ์กฐํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ
โ–ถ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์‹œ ์ผ์ • ์œ„์น˜์˜ ํŽ˜์ด์ง€๋ฅผ ์ง‘์ค‘์ ์œผ๋กœ ์•ก์„ธ์Šคํ•˜๋Š” ํ˜„์ƒ
# Array(๋ฐฐ์—ด) : ๊ฐ ์š”์†Œ๋“ค์— i๊ฐ€ ํ• ๋‹น๋˜๋ฉฐ ํ•ด๋‹น ๋ฐฐ์—ด ์—ฐ์†์  ์ ‘๊ทผ, Sequential Code(์ˆœ์ฐจ์  ์ฝ”๋“œ) โ˜…

์บ์‹œํžˆํŠธ์™€ ์บ์‹œ๋ฏธ์Šค

  1. ์บ์‹œ ํžˆํŠธ(Cache Hit)
  • CPU๊ฐ€ ์ฐธ์กฐํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์บ์‹œ์— ์กด์žฌํ•˜๊ณ  ์žˆ์„ ๊ฒฝ์šฐ
  • ์บ์‹œ์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์Œ โ‡’ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด๋‹น ์ œ์–ด์žฅ์น˜๋ฅผ ๊ฑฐ์ณ ๊ฐ€์ ธ์˜ด(๋น ๋ฆ„)
  1. ์บ์‹œ ๋ฏธ์Šค(Cache Miss)
  • ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์—†๋‹ค๋ฉด ์ฃผ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„์˜ด(๋Š๋ฆผ)

๐Ÿ”— ์ถœ์ฒ˜ : ๋ฉด์ ‘์„ ์œ„ํ•œ cs ์ง€์‹

์บ์‹œ๋งคํ•‘

  • ์บ์‹œ๊ฐ€ ํžˆํŠธ๋˜๊ธฐ ์œ„ํ•ด ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•˜๋ฉฐ CPU์˜ ๋ ˆ์ง€์Šคํ„ฐ์™€ ์ฃผ ๋ฉ”๋ชจ๋ฆฌ(RAM) ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๋ช…
  • ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์ฃผ ๋ฉ”๋ชจ๋ฆฌ์— ๋น„ํ•ด ๊ดด์žฅํžˆ ์ž‘๊ณ  ์ฃผ ๋ฉ”๋ชจ๋ฆฌ๋Š” ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ž‘์€ ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์บ์‹œ ๊ณ„์ธต์œผ๋กœ์จ ์—ญํ• ์„ ์ž˜ ํ•ด์ฃผ๋ ค๋ฉด ๋งคํ•‘์ด ์ค‘์š”

Mapping์ด๋ž€ ๊ฐ€์ƒ์ฃผ์†Œ์™€ ๋ฌผ๋ฆฌ์ฃผ์†Œ์˜ ๋Œ€์‘ ๊ด€๊ณ„ ๋˜๋Š” ๊ฐ€์ƒ ์ฃผ์†Œ๋กœ๋ถ€ํ„ฐ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ฐพ์•„๋‚ด๋Š” ์ผ์„ ๋งํ•œ๋‹ค.

  • ์ง์ ‘ ๋งคํ•‘, ์—ฐ๊ด€ ๋งคํ•‘, ์ง‘ํ•ฉ ์—ฐ๊ด€ ๋งคํ•‘

์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์บ์‹œ

์‚ฌ์šฉ์ž์˜ ์ปค์Šคํ…€ ์ •๋ณด๋‚˜ ์ธ์ฆ ๋ชจ๋“ˆ ๊ด€๋ จ ์‚ฌํ•ญ๋“ค์„ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•ด์„œ ์ถ”ํ›„ ์„œ๋ฒ„์— ์š”์ฒญ ์‹œ ์ž์‹ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์•„์ด๋ดํ‹ฐํ‹ฐ๋‚˜ ์ค‘๋ณต ์š”์ฒญ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ

  1. ์ฟ ํ‚ค
  • ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์ด ์žˆ๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ
  • same site ์˜ต์…˜์„ strict๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ์š”์ฒญํ–ˆ์„ ๋•Œ ์ž๋™ ์ „์†ก๋˜๋ฉฐ, 4KB๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ  ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์„ ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.
  1. ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€
  • ๋งŒ๋ฃŒ๊ธฐ๊ฐ„์ด ์—†๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ
  • 10MB๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•„๋„ ์œ ์ง€๋˜๊ณ  ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ์ €์žฅ, ์ƒ์„ฑ
  1. ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€
  • ๋งŒ๋ฃŒ ๊ธฐํ•œ์ด ์—†๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ
  • ํƒญ ๋‹จ์œ„๋กœ ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€ ์ƒ์„ฑํ•˜๋ฉฐ, ํƒญ์„ ๋‹ซ์„ ๋•Œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์‚ญ์ œ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์บ์‹ฑ ๊ณ„์ธต

  • ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ๊ตฌ์ถ• ์‹œ์—๋„ ๋ฉ”์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ„์— ๋ ˆ๋””์Šค(REDIS) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณ„์ธต์„ ์บ์‹ฑ ๊ณ„์ธต์œผ๋กœ ๋‘ฌ์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ

2. ๊ธฐ์–ต์žฅ์น˜ ๊ด€๋ฆฌ

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

์šด์˜์ฒด์ œ์˜ ๋Œ€ํ‘œ์ ์ธ ํ•  ์ผ ์ค‘ ํ•˜๋‚˜์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋Š” ์ปดํ“จํ„ฐ ๋‚ด์˜ ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ทนํ•œ์œผ๋กœ ํ™œ์šฉํ•ด์•ผ ํ•จ

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

๐Ÿ‡ ๊ธฐ์–ต์žฅ์น˜์˜ ๊ด€๋ฆฌ ์ „๋žต์˜ ๊ฐœ์š”

  • ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ์‹œํ‚ค๋Š” ์‹œ๊ธฐ(When), ์ ์žฌ ์œ„์น˜(Where) ๋“ฑ์„ ์ง€์ •ํ•˜์—ฌ ํ•œ์ •๋œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ
  • #๋ฐ˜์ž…(Fetch), ๋ฐฐ์น˜(Placement), ํ• ๋‹น(Allocation), ๊ต์ฒด(Replacemnet) ๋ฐ˜๋ฐฐํ• ๊ต

๐Ÿ‡ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ

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

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

์Šค์™€ํ•‘**(ํ”„๋กœ์„ธ์Šค ๊ต์ฒด)**

  1. ๋งŒ์•ฝ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ์กด์žฌํ•˜์ง€๋งŒ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์ธ RAM์—๋Š” ํ˜„์žฌ ์—†๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ์ฝ”๋“œ์— ์ ‘๊ทผํ•  ๊ฒฝ์šฐ ํŽ˜์ด์ง€ ๋ณผํŠธ๊ฐ€ ๋ฐœ์ƒ
  2. ์Šค์™€ํ•‘ : ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋‹น์žฅ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์˜์—ญ์„ ํ•˜๋“œ๋””์Šคํฌ๋กœ ์˜ฎ๊ฒจ ํ•„์š”ํ•  ๋•Œ ๋‹ค์‹œ RAM์œผ๋กœ ๋ถˆ๋Ÿฌ์™€ ์˜ฌ๋ฆฌ๊ณ , ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์‹œ ํ•˜๋“œ๋””์Šคํฌ๋กœ ๋‚ด๋ฆผ์„ ๋ฐ˜๋ณตํ•˜์—ฌ RAM์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ
  3. ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ํ• ๋‹นํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋‹ค ํ•„์š”์—†๋Š” ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์ด๋ž‘ ๊ต์ฒด๋œ๋‹ค .
  4. ํ”„๋กœ์„ธ์„œ ํ• ๋‹น์ด ๋๋‚˜๊ณ  ์ˆ˜ํ–‰ ์™„๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค๋Š” ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜๋กœ ๋ณด๋‚ด๊ณ (์Šค์™‘ ์•„์›ƒ)
  5. ์ƒˆ๋กญ๊ฒŒ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋Š” ์ฃผ๊ธฐ์–ต์žฅ์น˜(๋ฉ”๋ชจ๋ฆฌ)์— ์ ์žฌ(์Šค์™‘ ์ธ)
  6. ์Šค์™‘์•„์›ƒ,์Šค์™‘์ธ ->์ฃผ๊ธฐ์–ต์žฅ์น˜๊ธฐ์ค€
  7. ํ”„๋กœ์„ธ์Šค๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์–ด์•ผ ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์ผ์‹œ์ ์œผ๋กœ ๋””์Šคํฌ๋กœ ์ด๋™ํ–ˆ๋‹ค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๋˜๋Œ์•„์™€ ๋‹ค์‹œ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ

ํŽ˜์ด์ง€ ํดํŠธ

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

๐Ÿ‡ ๋ฐ˜์ž…(Fetch) ์ „๋žต : ๋ฉ”๋ชจ๋ฆฌ ์ ์žฌ ์‹œ๊ธฐ ๊ฒฐ์ •

๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ๋ณด๊ด€์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์–ธ์ œ(When) ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ ์ ์žฌํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ „๋žต

โ–ถ ์š”๊ตฌ ๋ฐ˜์ž…(Demand Fetch): ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์ด ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋“ฑ์˜ ์ฐธ์กฐ๋ฅผ ์š”๊ตฌํ•  ๋•Œ ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ•

โ–ถ ์˜ˆ์ƒ ๋ฐ˜์ž…(Anticipatory Fetch): ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด ์ฐธ์กฐ๋  ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์ƒํ•˜์—ฌ ์ ์žฌํ•˜๋Š” ๋ฐฉ๋ฒ•

๐Ÿ‡ ๋ฐฐ์น˜(Placement) ์ „๋žต : ๋ฉ”๋ชจ๋ฆฌ ์ ์žฌ ์œ„์น˜ ๊ฒฐ์ •

  • ์ƒˆ๋กœ ๋ฐ˜์ž…๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์–ด๋””์—(Where) ์œ„์น˜์‹œํ‚ฌ ๊ฒƒ์ธ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ „๋žต

โ–ถ ์ตœ์ดˆ ์ ํ•ฉ(First Fit): ๋นˆ ์˜์—ญ ์ค‘์—์„œ ์ฒซ ๋ฒˆ์งธ ๋ถ„ํ•  ์˜์—ญ์— ๋ฐฐ์น˜

โ–ถ ์ตœ์  ์ ํ•ฉ(Best Fit): ๋นˆ ์˜์—ญ ์ค‘์—์„œ ๋‹จํŽธํ™”๋ฅผ ๊ฐ€์ • ์ž‘๊ฒŒ ๋‚จ๊ธฐ๋Š” ๋ถ„ํ•  ์˜์—ญ์— ๋ฐฐ์น˜[2022.1ํšŒ์ฐจ]

โ–ถ ์ตœ์•… ์ ํ•ฉ(Worst Fit): ๋นˆ ์˜์—ญ ์ค‘์—์„œ ๋‹จํŽธํ™”๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ๋‚จ๊ธฐ๋Š” ๋ถ„ํ•  ์˜์—ญ์— ๋ฐฐ์น˜

#์ตœ์ ์•…

๐Ÿ‡ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น(์ฃผ๊ธฐ์–ต์žฅ์น˜ ํ• ๋‹น์˜ ๊ฐœ๋…) : ๋ฉ”๋ชจ๋ฆฌ ์ ์žฌ ๋ฐฉ๋ฒ• ๊ฒฐ์ •

๐Ÿ”— ์ถœ์ฒ˜ : https://applejam34.tistory.com/4

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

  • ํ”„๋กœ๊ทธ๋žจ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์–ด๋–ป๊ฒŒ(How) ํ• ๋‹นํ• ์ง€ ์ •ํ•จ

์—ฐ์† ํ• ๋‹น ๊ธฐ๋ฒ• -๋‹จ์ผ ํ”„๋กœ๊ทธ๋žจ

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

์—ฐ์† ํ• ๋‹น ๊ธฐ๋ฒ• - ๋‹ค์ค‘ ๋ถ„ํ•  ํ• ๋‹น ๊ธฐ๋ฒ•

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

3. ํŽ˜์ด์ง•(Paging) ๊ธฐ๋ฒ• / ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(Segmentation) ๊ธฐ๋ฒ•

#์—ฐ๋‹จ๋‹ค ๋ถ„ํŽ˜์„ธ

๋ถˆ์—ฐ์†๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น

  1. ํŽ˜์ด์ง•(Paging) ๊ธฐ๋ฒ• - ๊ณ ์ •๋ถ„ํ• 
  • ๊ฐ€์ƒ๊ธฐ์–ต์žฅ์น˜์— ๋ณด๊ด€๋˜์–ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์˜์—ญ์„ **๋™์ผํ•œ** ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ํ›„ ๋‚˜๋ˆ ์ง„ ํ”„๋กœ๊ทธ๋žจ(ํŽ˜์ด์ง€)์„ ๋™์ผํ•˜๊ฒŒ ๋‚˜๋ˆ ์ง„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์˜์—ญ(ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„)์— ์ ์žฌ์‹œ์ผœ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•
  • ์ผ์ •ํ•œ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ๋‹จ์œ„๋ฅผ ํŽ˜์ด์ง€(Page)๋ผ ํ•˜๊ณ , ํŽ˜์ด์ง€ ํฌ๊ธฐ๋กœ ์ผ์ •ํ•˜๊ฒŒ ๋‚˜๋ˆ„์–ด์ง„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๋‹จ์œ„๋ฅผ ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„(Page Frame)์ด๋ผ ํ•จ
  • ์™ธ๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋‚˜, ๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ __ 4-48
  • ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•ด ํŽ˜์ด์ง€์˜ ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ํŽ˜์ด์ง€ ๋งต ํ…Œ์ด๋ธ”(Page Map Table) ํ•„์š” โ†’ ํŽ˜์ด์ง€ ๋งต ํ…Œ์ด๋ธ” ์‚ฌ์šฉ์œผ๋กœ ๋น„์šฉ ์ฆ๊ฐ€, ์ฒ˜๋ฆฌ ์†๋„ ๊ฐ์†Œ

๋‹จํŽธํ™”

์šฉ์–ด ์„ค๋ช…
๋ฉ”๋ชจ๋ฆฌ ๋‹จํŽธํ™” ๋ถ„ํ• ๋œ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹น, ๋ฐ˜๋‚ฉ ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋˜์ง€ ๋ชปํ•˜๊ณ  ๋‚ญ๋น„๋˜๋Š” ๊ธฐ์–ต์žฅ์น˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ
๋‚ด๋ถ€ ๋‹จํŽธํ™” ๋ถ„ํ• ๋œ ๊ณต๊ฐ„์—์„œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ ์žฌํ•œ ํ›„ ๋‚จ์€ ๊ณต๊ฐ„์œผ๋กœ, ๊ณ ์ • ๋ถ„ํ•  ํ• ๋‹น ๋ฐฉ์‹ ๋˜๋Š” ํŽ˜์ด์ง• ๊ธฐ๋ฒ• ์‚ฌ์šฉ์‹œ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ
2. ์„ธ๊ทธ๋จผํ…Œ์ด์…˜(Segmentation) ๊ธฐ๋ฒ• โ˜…
  • ๊ฐ€์ƒ๊ธฐ์–ต์žฅ์น˜์— ๋ณด๊ด€๋˜์–ด ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ **๋‹ค์–‘ํ•œ** ํฌ๊ธฐ์˜ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ๋‚˜๋ˆˆ ํ›„ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ์‹œ์ผœ ๊ธฐ์–ต๊ณต๊ฐ„์„ ์ ˆ์•ฝํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•
  • ๋ฉ”๋ชจ๋ฆฌ ๋ถ„์‚ฐ ํ• ๋‹น ๊ธฐ๋ฒ• ์ค‘ ๊ฐ€์ƒ๊ธฐ์–ต์žฅ์น˜ ๋‚ด์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์„œ๋กœ ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅธ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ๊ธฐ๋ฒ•์œผ๋กœ, ๋ถ„ํ•  ํ˜•ํƒœ๊ฐ€ ๋ฐฐ์—ด์ด๋‚˜ ํ•จ์ˆ˜์™€ ๊ฐ™์€ ๋…ผ๋ฆฌ์ ์ธ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ฐ€๋ณ€์ ์ธ ํฌ๊ธฐ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ๊ธฐ๋ฒ•
  • ๋…ผ๋ฆฌ์ ์ธ ํฌ๊ธฐ๋กœ ๋‚˜๋ˆˆ ๋‹จ์œ„๋ฅผ ์„ธ๊ทธ๋จผํŠธ(Segment)๋ผ๊ณ  ํ•˜๋ฉฐ, ๊ฐ ์„ธ๊ทธ๋จผํŠธ๋Š” ๊ณ ์œ ํ•œ ์ด๋ฆ„๊ณผ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง
  • ๊ธฐ์–ต์žฅ์น˜์˜ ์‚ฌ์šฉ์ž ๊ด€์ ์„ ๋ณด์กดํ•˜๋Š” ๊ธฐ์–ต์žฅ์น˜ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•
  • ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•ด์„œ ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์กด์žฌํ•˜๋Š” ์œ„์น˜ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ์„ธ๊ทธ๋จผํŠธ ๋งต ํ…Œ์ด๋ธ”(Segment Map Table) ํ•„์š”
  • ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ๋  ๋•Œ ๋‹ค๋ฅธ ์„ธ๊ทธ๋จผํŠธ์—๊ฒŒ ํ• ๋‹น๋œ ์˜์—ญ์„ ์นจ๋ฒ”ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ๊ธฐ์–ต์žฅ์น˜ ๋ณดํ˜ธํ‚ค(Storage Protection Key)๊ฐ€ ํ•„์š”
  • ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋‚˜, ์™ธ๋ถ€ ๋‹จํŽธํ™” ๋ฐœ์ƒ __ 4-48

๐Ÿ‡ ๊ต์ฒด(Replacement) ์ „๋žต : ๋ฉ”๋ชจ๋ฆฌ ๊ต์ฒด ๋Œ€์ƒ ๊ฒฐ์ •

์ด๋ฏธ ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋Š” ์˜์—ญ ์ค‘์—์„œ ์–ด๋Š(Who) ์˜์—ญ์„ ๊ต์ฒดํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ „๋žต, ๊ฐ€์šฉ ๊ณต๊ฐ„์ด ์—†๋Š” ๊ฒฝ์šฐ

#FIFO, LRU, LFU, NUR, OPT, SCR

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

โ–ถ FIFO(First In First Out) = FCFS(First Come First Serve)

  • ๊ฐ ํŽ˜์ด์ง€๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์ ์žฌ๋  ๋•Œ๋งˆ๋‹ค ๊ทธ๋•Œ์˜ ์‹œ๊ฐ„์„ ๊ธฐ์–ต์‹œ์ผœ ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์™€์„œ ๊ฐ€์žฅ ์˜ค๋ž˜ ์žˆ์—ˆ๋˜ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•

๐Ÿ”— ์ฐธ๊ณ  : https://velog.io/@infoqoch/์šด์˜์ฒด์ œ-๋…ผ๋ฆฌ-๋ฉ”๋ชจ๋ฆฌ์™€-ํŽ˜์ด์ง€ํดํŠธ

โ–ถ LRU(Least Recently Used)

  • ์ตœ๊ทผ์— ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
  • ๊ฐ€์žฅ ์˜ค๋ž˜ ์ „์— ์‚ฌ์šฉ๋œ ํŽ˜์ด์ง€ ๊ต์ฒด

โ–ถ LFU(Least Frequently Used)

  • ์‚ฌ์šฉ ๋นˆ๋„๊ฐ€ ๊ฐ€์žฅ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•, ์ฐธ์กฐํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ์€ ๊ฒƒ์„ ๊ต์ฒด

โ–ถ OPT(OPTimal replacement, ์ตœ์  ๊ต์ฒด)

  • ์•ž์œผ๋กœ ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
  • ๋ฒจ๋ ˆ์ด๋””(Belady)๊ฐ€ ์ œ์•ˆํ•œ ๊ฒƒ์œผ๋กœ, ํŽ˜์ด์ง€ ๋ถ€์žฌ ํšŸ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ์ ๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ€์žฅ ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

โ–ถ NUR(Not Used Recently)

  • LRU์™€ ๋น„์Šทํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ, ์ตœ๊ทผ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•˜๋Š” ๊ธฐ๋ฒ•
  • ๊ฐ ํŽ˜์ด์ง€๋งˆ๋‹ค ๋‘ ๊ฐœ์˜ ๋น„ํŠธ, ์ฆ‰ ์ฐธ์กฐ ๋น„ํŠธ์™€ ๋ณ€ํ˜• ๋น„ํŠธ ์‚ฌ์šฉ
์ฐธ์กฐ ๋น„ํŠธ 0 0 1 1
๋ณ€ํ˜• ๋น„ํŠธ 0 1 0 1
๊ต์ฒด ์ˆœ์„œ 1 2 3 4

โ–ถ SCR(Second Chance Replacement, 2์ฐจ ๊ธฐํšŒ ๊ต์ฒด)

  • ๊ฐ€์žฅ ์˜ค๋žซ๋™์•ˆ ์ฃผ๊ธฐ์–ต์žฅ์น˜์— ์žˆ๋˜ ํŽ˜์ด์ง€ ์ค‘ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํŽ˜์ด์ง€์˜ ๊ต์ฒด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ, FIFO ๊ธฐ๋ฒ•์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๋Š” ๊ธฐ๋ฒ•

ํŽ˜์ด์ง€ ํฌ๊ธฐ

โ–ถ ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ์ž‘์„ ๊ฒฝ์šฐ

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

โ–ถ ํŽ˜์ด์ง€ ํฌ๊ธฐ๊ฐ€ ํด ๊ฒฝ์šฐ

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

๐Ÿ‡ ์Šค๋ ˆ์‹ฑ

๐Ÿ”— ์ถœ์ฒ˜ : https://blog.skby.net/์Šค๋ ˆ์‹ฑ-thrashing/

๊ฐœ๋…

Page Fault๊ฐ€ ์—ฐ์†์ ์œผ๋กœ ๋ฐœ์ƒํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค ์ˆ˜ํ–‰์‹œ๊ฐ„๋ณด๋‹ค ํŽ˜์ด์ง€ ๊ต์ฒด ์‹œ๊ฐ„์ด ๋งŽ์€ ์ƒํƒœ

  1. ๋ฉ”๋ชจ๋ฆฌ์— ๋„ˆ๋ฌด ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋˜๋ฉด ์Šค์™€ํ•‘์ด ๋งŽ์ด ์ผ์–ด๋‚˜์„œ ๋ฐœ์ƒ
  2. ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ผ์–ด๋‚˜๋ฉด CPU ์ด์šฉ๋ฅ ์ด ๋‚ฎ์•„์ง„๋‹ค.
  3. CPU ์ด์šฉ๋ฅ ์ด ๋‚ฎ์•„์ง€๋ฉด ์šด์˜์ฒด์ œ๋Š” CPU๊ฐ€ ํ•œ๊ฐ€ํ•œ ์ค„ ์•Œ๊ณ  ๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋” ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ฆฌ๊ฒŒ ๋˜๋ฉฐ ์Šค๋ ˆ์‹ฑ ๋ฐœ์ƒ

์ฃผ์š” ์›์ธ

  • ๋ถ€์ ์ ˆํ•œ ํŽ˜์ด์ง€ ๊ต์ฒด ์ •์ฑ…
  • ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค ๋ถ€์กฑ
  • ํ”„๋กœ๊ทธ๋žจ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์‹ค

์Šค๋ ˆ์‹ฑ ์˜ˆ๋ฐฉ์„ ์œ„ํ•œ ์ง€์—ญ์„ฑ ํ™œ์šฉ ์›Œํ‚น ์…‹(Working Set)

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

์Šค๋ ˆ์‹ฑ ์˜ˆ๋ฐฉ์„ ์œ„ํ•œ ์ง์ ‘ ์•ก์„ธ์Šค ๋ฐฉ์‹ ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„(PFF; Page Fault Frequency) ๋ฐฉ์‹

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

ํ”„๋ฆฌํŽ˜์ด์ง•(Prepaging)

  • ์ฒ˜์Œ์˜ ๊ณผ๋„ํ•œ ํŽ˜์ด์ง€ ๋ถ€์žฌ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™์€ ๋ชจ๋“  ํŽ˜์ด์ง€๋ฅผ ๋ฏธ๋ฆฌ ํ•œ๊บผ๋ฒˆ์— ํŽ˜์ด์ง€ ํ”„๋ ˆ์ž„์— ์ ์žฌํ•˜๋Š” ๊ธฐ๋ฒ•

โ†’ ๊ธฐ์–ต์žฅ์น˜์— ๋“ค์–ด์˜จ ํŽ˜์ด์ง€๋“ค ์ค‘์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ํŽ˜์ด์ง€๊ฐ€ ๋งŽ์„ ์ˆ˜๋„ ์žˆ์Œ

์Šค๋ž˜์‹ฑ ํ˜„์ƒ ๋ฐฉ์ง€ ๋ฐฉ๋ฒ•

  • ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ •๋„๋ฅผ ์ ์ • ์ˆ˜์ค€์œผ๋กœ ์œ ์ง€ โ˜…
  • ํŽ˜์ด์ง€ ๋ถ€์žฌ ๋นˆ๋„(Page Fault Frequency)๋ฅผ ์กฐ์ ˆํ•ด ์‚ฌ์šฉ
  • ์›Œํ‚น ์„ธํŠธ(Working Set)์„ ์œ ์ง€ํ•จ
  • ๋ถ€์กฑํ•œ ์ž์›์„ ์ฆ์„คํ•˜๊ณ , ์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จ์‹œํ‚ด
  • ๊ฐ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ํ”„๋ ˆ์ž„ ์ œ๊ณต[2021.5]