๋ฐ˜์‘ํ˜•



'๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ'๋ฅผ ์ฝ๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

 

 

 

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

๊ทธ๋ ‡๋‹ค๋ฉด ๋ฉ”๋ชจ๋ฆฌ๋Š” ์–ด๋–ค ๊ณ„์ธต์„ ๊ฐ–๊ณ  ์–ด๋–ป๊ฒŒ ๊ด€๋ฆฌ๋˜๋Š”์ง€ ์•Œ์•„๋ณด์ž!

 

 

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

 

 

 

๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต์€ ๋ ˆ์ง€์Šคํ„ฐ, ์บ์‹œ, ๋ฉ”๋ชจ๋ฆฌ, ์ €์žฅ์žฅ์น˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Œ

 

  • ๋ ˆ์ง€์Šคํ„ฐ : CPU ์•ˆ์— ์žˆ๋Š” ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ, ํœ˜๋ฐœ์„ฑ, ์†๋„ ๊ฐ€์žฅ ๋น ๋ฆ„, ๊ธฐ์–ต ์šฉ๋Ÿ‰์ด ๊ฐ€์žฅ ์ ์Œ

  • ์บ์‹œ : L1, L2 ์บ์‹œ๋ฅผ ์ง€์นญํ•จ 

    => ํœ˜๋ฐœ์„ฑ, ์†๋„ ๋น ๋ฆ„, ๊ธฐ์–ต ์šฉ๋Ÿ‰ ์ ์Œ (L3 ์บ์‹œ๋„ ์žˆ์Œ)

  • ์ฃผ๊ธฐ์–ต์žฅ์น˜ :  RAM์„ ๊ฐ€๋ฆฌํ‚ด 

    => ํœ˜๋ฐœ์„ฑ, ์†๋„ ๋ณดํ†ต, ๊ธฐ์–ต ์šฉ๋Ÿ‰ ๋ณดํ†ต

  • ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ : HDD, SDD๋ฅผ ์ผ์ปฌ์œผ๋ฉฐ ๋น„ํœ˜๋ฐœ์„ฑ, ์†๋„ ๋‚ฎ์Œ, ๊ธฐ์–ต ์šฉ๋Ÿ‰ ๋งŽ์Œ

 

RAM์€ ํ•˜๋“œ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ์ผ์ •๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์ž„์‹œ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ํ•„์š”์‹œ๋งˆ๋‹ค CPU์— ๋น ๋ฅด๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ํ•จ

=> ๊ณ„์ธต ์œ„๋กœ ์˜ฌ๋ผ๊ฐˆ์ˆ˜๋ก ๊ฐ€๊ฒฉ์€ ๋น„์‹ธ์ง€๋Š”๋ฐ ์šฉ๋Ÿ‰์€ ์ž‘์•„์ง€๊ณ  ์†๋„๋Š” ๋นจ๋ผ์ง€๋Š” ํŠน์„ฑ์ด ์žˆ์Œ

 

๊ฒŒ์ž„์„ ์‹คํ–‰ํ•˜๋‹ค๋ณด๋ฉด '๋กœ๋”ฉ ์ค‘' ์ด๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ
=> ํ•˜๋“œ๋””์Šคํฌ ๋˜๋Š” ์ธํ„ฐ๋„ท์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด RAM์œผ๋กœ ์ „์†กํ•˜๋Š” ๊ณผ์ •์ด ์•„์ง ๋๋‚˜์ง€ ์•Š์•˜์Œ์„ ์˜๋ฏธ

 

 

์บ์‹œ

 

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

=> ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„์ด ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ๋ฌด์–ธ๊ฐ€๋ฅผ ๋‹ค์‹œ ๊ณ„์‚ฐํ•˜๋Š” ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Œ

 

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

=> ์ด๋Ÿฐ ๊ณ„์ธต์„ ์บ์‹ฑ ๊ณ„์ธต์ด๋ผ๊ณ ํ•จ

 

 

์œ„ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต ๊ทธ๋ฆผ์—์„œ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜ ์‚ฌ์ด์— ์žˆ๋Š” ์ฃผ๊ธฐ์–ต์žฅ์น˜๋ฅผ ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์˜ ์บ์‹ฑ ๊ณ„์ธต์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Œ

 

์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ

 

์บ์‹ฑ ๊ณ„์ธต์„ ๋‘๋Š” ๊ฒƒ ๋ง๊ณ  ์บ์‹œ๋ฅผ ์ง์ ‘ ์„ค์ •ํ•  ๋•Œ๋Š” ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค์ •ํ•ด์•ผํ•จ

 

=> ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ทผ๊ฑฐ๊ฐ€ ๋˜๋Š” ๊ฒƒ์€ ์ง€์—ญ์„ฑ์ž„

 

์‹œ๊ฐ„ ์ง€์—ญ์„ฑ

 

 

์‹œ๊ฐ„ ์ง€์—ญ์„ฑ์€ ์ตœ๊ทผ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ์— ๋‹ค์‹œ ์ ‘๊ทผํ•˜๋ ค๋Š” ํŠน์„ฑ์„ ๋งํ•จ

 

for(int i = 0; i < 10; i +=1) {
  arr[i] = i;
}

์œ„์™€ ๊ฐ™์€ for ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ฝ”๋“œ ์•ˆ์˜ ๋ณ€์ˆ˜ i์— ๊ณ„์†ํ•ด์„œ ์ ‘๊ทผ์ด ์ด๋ฃจ์–ด์งˆ ๋•Œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ์Œ

=> ๋ฐ์ดํ„ฐ๋Š” ๋ณ€์ˆ˜ i์ด๊ณ  ์ตœ๊ทผ์— ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์† ์ ‘๊ทผํ•ด์„œ +1์„ ์—ฐ์ด์–ด ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ

 

 

๊ณต๊ฐ„ ์ง€์—ญ์„ฑ

 

 

๊ณต๊ฐ„ ์ง€์—ญ์„ฑ์€ ์ตœ๊ทผ ์ ‘๊ทผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„์ด๋‚˜ ๊ทธ ๊ฐ€๊นŒ์šด ๊ณต๊ฐ„์— ์ ‘๊ทผํ•˜๋Š” ํŠน์„ฑ์„ ๋งํ•จ

 

=> ์œ„์˜ ์ฝ”๋“œ์—์„œ ๊ณต๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฐ์—ด arr์˜ ๊ฐ ์š”์†Œ๋“ค์— i๊ฐ€ ํ• ๋‹น๋˜๋ฉฐ ํ•ด๋‹น ๋ฐฐ์—ด์— ์—ฐ์†์ ์œผ๋กœ ์ ‘๊ทผํ•จ์„ ์‚ดํŽด๋ณด๋ฉด๋จ

 

 

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

 

 

์บ์‹œ์—์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•˜๋‹ค๋ฉด ์บ์‹œํžˆํŠธ๋ผ๊ณ  ํ•˜๋ฉฐ, ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์— ์—†๋‹ค๋ฉด ์ฃผ ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ฐ€์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„์˜ค๋Š” ๊ฒƒ์„ ์บ์‹œ๋ฏธ์Šค๋ผ๊ณ ํ•จ

 

์œ„ ๊ทธ๋ฆผ์—์„œ ์บ์‹œํžˆํŠธ๋ฅผ ํ•˜๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์–ด์žฅ์น˜์—์„œ ๊ฐ€์ ธ์˜ค๊ฒŒ๋จ

=> ์œ„์น˜๋„ ๊ฐ€๊น๊ณ  CPU ๋‚ด๋ถ€ ๋ฒ„์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋น ๋ฆ„

 

์บ์‹œ๋ฏธ์Šค๊ฐ€ ๋ฐœ์ƒ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋Š” ์‹œ์Šคํ…œ ๋ฒ„์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋А๋ฆผ

 

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

 

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

 

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

 

  • directed mapping 

    ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 1~100, ์บ์‹œ๊ฐ€ 1~10์ด ์žˆ๋‹ค๋ฉด 1 : 1~10, 2 : 1~20, ... ์ด๋Ÿฐ์‹์œผ๋กœ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๋น ๋ฅด์ง€๋งŒ ์ถฉ๋Œ ๋ฐœ์ƒ์ด ์žฆ์Œ


  • associative mapping 

    ์ˆœ์„œ๋ฅผ ์ผ์น˜์‹œํ‚ค์ง€ ์•Š๊ณ  ๊ด€๋ จ ์žˆ๋Š” ์บ์‹œ์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งคํ•‘ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋Œ์ด ์ ์ง€๋งŒ ๋ชจ๋“  ๋ธ”๋ก์„ ํƒ์ƒ‰ํ•ด์•ผ ํ•ด์„œ ์†๋„๊ฐ€ ๋А๋ฆผ
  • set associative mapping

    ์ง์ ‘ ๋งคํ•‘๊ณผ ์—ฐ๊ด€ ๋งคํ•‘์„ ํ•ฉ์ณ๋†“์€ ๊ฒƒ์œผ๋กœ ์ˆœ์„œ๋Š” ์ผ์น˜์‹œํ‚ค์ง€๋งŒ ์ง‘ํ•ฉ์„ ๋‘ฌ์„œ ์ €์žฅํ•˜๋ฉฐ ๋ธ”๋กํ™”๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒ€์ƒ‰์€ ์ข€ ๋” ํšจ์œจ์ ์ž„

    => ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 1~100, ์บ์‹œ๊ฐ€ 1~10์ด ์žˆ์œผ๋ฉด ์บ์‹œ 1~5์—๋Š” 1~50์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌด์ž‘์œ„๋กœ ์ €์žฅ์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•จ

 

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

 

์†Œํ”„ํŠธ์›จ์–ด์ ์ธ ๋Œ€ํ‘œ์ ์ธ ์บ์‹œ๋กœ๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ž‘์€ ์ €์žฅ์†Œ ์ฟ ํ‚ค, ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€, ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ์žˆ์Œ

 

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

 

 

์ฟ ํ‚ค

 

์ฟ ํ‚ค๋Š” ๋งŒ๋ฃŒ๊ธฐํ•œ์ด ์žˆ๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ์ž„

same site ์˜ต์…˜์„ strict๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•˜์„ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์—์„œ ์š”์ฒญํ–ˆ์„ ๋•Œ ์ž๋™ ์ „์†ก๋˜๋ฉฐ, 4KB๊นŒ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ณ  ๋งŒ๋ฃŒ๊ธฐํ•œ์„ ์ •ํ•  ์ˆ˜ ์žˆ์Œ

 

=> ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•  ๋•Œ document.cookie๋กœ ์ฟ ํ‚ค๋ฅผ ๋ณผ ์ˆ˜ ์—†๊ฒŒ httponly ์˜ต์…˜์„ ๊ฑฐ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋ฉฐ, ํด๋ผ์ด์–ธํŠธ ๋˜๋Š” ์„œ๋ฒ„์—์„œ ๋งŒ๋ฃŒ๊ธฐํ•œ ๋“ฑ์„ ์ •ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๋ณดํ†ต ์„œ๋ฒ„์—์„œ ๋งŒ๋ฃŒ๊ธฐํ•œ์„ ์ •ํ•จ

 

๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€

 

๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€๋Š” ๋งŒ๋ฃŒ๊ธฐํ•œ์ด ์—†๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ์ž„

 

5MB๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์›น ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ์•„๋„ ์œ ์ง€๋จ

=> HTML5๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ ํด๋ผ์ด์–ธํŠธ์—์„œ๋งŒ ์ˆ˜์ • ๊ฐ€๋Šฅ

 

์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€

 

์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋Š” ๋งŒ๋ฃŒ๊ธฐํ•œ์ด ์—†๋Š” ํ‚ค-๊ฐ’ ์ €์žฅ์†Œ์ž„

 

ํƒญ ๋‹จ์œ„๋กœ ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ํƒญ์„ ๋‹ซ์„ ๋•Œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋จ

=> 5MB๊นŒ์ง€ ์ €์žฅ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ HTML5๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
(ํด๋ผ์ด์–ธํŠธ์—์„œ๋งŒ ์ˆ˜์ • ๊ฐ€๋Šฅ)

 

 

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

 

 

DB ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ๋•Œ๋„ ๋ฉ”์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ„์— redis ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณ„์ธต์„ ์บ์‹ฑ ๊ณ„์ธต์œผ๋กœ ๋‘ฌ์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ๋„ํ•จ

 

3.2.2 ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ

 

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

 

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

 

 

 

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

 

๊ฐ€์ƒ์ ์œผ๋กœ ์ฃผ์–ด์ง„ ์ฃผ์†Œ๋ฅผ logical address๋ผ๊ณ  ํ•˜๋ฉฐ, ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ physical address๋ผ๊ณ  ํ•จ

 

=> ๊ฐ€์ƒ ์ฃผ์†Œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ด€๋ฆฌ์žฅ์น˜(MMU)์— ์˜ํ•ด ์‹ค์ œ ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ, ์ด ๋•๋ถ„์— ์‹ค์ œ ์ฃผ์†Œ๋ฅผ ์˜์‹ํ•  ํ•„์š” ์—†์ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋จ

 

๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ฐ€์žฅ ์ฃผ์†Œ์™€ ์‹ค์ œ ์ฃผ์†Œ๊ฐ€ ๋งคํ•‘๋˜์–ด ์žˆ๊ณ  ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ์ •๋ณด๊ฐ€ ๋“ค์–ด ์žˆ๋Š” 'ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”'๋กœ ๊ด€๋ฆฌ๋˜๊ณ  ์ด ๋•Œ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•ด TLB๋ฅผ ์”€

=> TLB๋Š” ๋ฉ”๋ชจ๋ฆฌ์™€ CPU ์‚ฌ์ด์— ์žˆ๋Š” ์ฃผ์†Œ ๋ณ€ํ™˜์„ ์œ„ํ•œ ์บ์‹œ์ž„
(ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์— ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด๊ด€ํ•˜๋ฉฐ CPU๊ฐ€ ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”๊นŒ์ง€ ๊ฐ€์ง€ ์•Š๋„๋ก ํ•ด ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ์บ์‹œ ๊ณ„์ธต์ž„)

 

์Šค์™€ํ•‘

 

๋งŒ์•ฝ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ์กด์žฌํ•˜์ง€๋งŒ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์ธ RAM์—๋Š” ํ˜„์žฌ ์—†๋Š” ๋ฐ์ดํ„ฐ๋‚˜ ์ฝ”๋“œ์— ์ ‘๊ทผํ•  ๊ฒฝ์šฐ ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ๋ฐœ์ƒํ•จ

 

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

=> ์ด๋ฅผ ํ†ตํ•ด ํŽ˜์ด์ง€ ํดํŠธ๊ฐ€ ์ผ์–ด๋‚˜์ง€ ์•Š์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋งŒ๋“ฌ

 

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

 

page fault๋ž€ ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์—๋Š” ์กด์žฌํ•˜์ง€๋งŒ ์ง€๊ธˆ ์ด ์ปดํ“จํ„ฐ์˜ RAM์—๋Š” ์—†๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ–ˆ์„ ๊ฒฝ์šฐ ๋ฐœ์ƒํ•จ

 

page fault๋กœ ์ธํ•œ swapping ๊ณผ์ •์€

 

1. ์–ด๋–ค ๋ช…๋ น์–ด๊ฐ€ ์œ ํšจํ•œ ๊ฐ€์ƒ ์ฃผ์†Œ์— ์ ‘๊ทผํ–ˆ์œผ๋‚˜ ํ•ด๋‹น ํŽ˜์ด์ง€๊ฐ€ ๋งŒ์•ฝ ์—†๋‹ค๋ฉด ํŠธ๋žฉ์ด ๋ฐœ์ƒ๋˜์–ด ์šด์˜์ฒด์ œ์— ์•Œ๋ฆฌ๊ฒŒ๋จ

 

2. ์šด์˜์ฒด์ œ๋Š” ์‹ค์ œ ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ํ”„๋ ˆ์ž„์„ ์ฐพ์Œ

 

3. ํ•ด๋‹น ํ”„๋ ˆ์ž„์„ ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€์ ธ์™€์„œ ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ํŽ˜์ด์ง€์™€ ๊ต์ฒดํ•จ
(์ด ๋•Œ ์Šค์™€ํ•‘์ด ์ผ์–ด๋‚จ)

 

4. ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๊ฐฑ์‹ ์‹œํ‚จ ํ›„ ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•จ

 

์™€ ๊ฐ™์ด ์ด๋ค„์ง

 

page : ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ตœ์†Œ ํฌ๊ธฐ ๋‹จ์œ„

frame : ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ตœ์†Œ ํฌ๊ธฐ ๋‹จ์œ„

 

์Šค๋ ˆ์‹ฑ

 

 

thrashing์€ ๋ฉ”๋ชจ๋ฆฌ์˜ ํŽ˜์ด์ง€ ํดํŠธ์œจ์ด ๋†’์€ ๊ฒƒ์„ ์˜๋ฏธํ•˜๋ฉฐ, ์ด๋Š” ์ปดํ“จํ„ฐ์˜ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ดˆ๋ž˜ํ•จ

 

=> ๋ฉ”๋ชจ๋ฆฌ์— ๋„ˆ๋ฌด ๋งŽ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋˜๋ฉด ์Šค์™€ํ•‘์ด ๋งŽ์ด ์ผ์–ด๋‚˜์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ž„

 

 

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

 

=> ์•…์ˆœํ™˜์ด ๋ฐ˜๋ณต๋˜๋ฉฐ thrashing์ด ์ผ์–ด๋‚จ

 

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜, HDD๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด HDD๋ฅผ SDD๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Œ
(HDD๋Š” ๋žœ๋ค ์—‘์„ธ์Šค ์†๋„๊ฐ€ ๋А๋ ค์„œ ์Šค์™€ํ•‘์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์„ฑ๋Šฅ์ด ๊ทน๋„๋กœ ์ €ํ•˜๋˜๊ธฐ ๋•Œ๋ฌธ)

์šด์˜์ฒด์ œ์—์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์ž‘์—… ์„ธํŠธ์™€ PFF๊ฐ€ ์žˆ์Œ

 

์ž‘์—… ์„ธํŠธ

 

์ž‘์—… ์„ธํŠธ(working set)๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๊ณผ๊ฑฐ ์‚ฌ์šฉ ์ด๋ ฅ์ธ ์ง€์—ญ์„ฑ(locality)์„ ํ†ตํ•ด ๊ฒฐ์ •๋œ ํŽ˜์ด์ง€ ์ง‘ํ•ฉ์„ ๋งŒ๋“ค์–ด์„œ ๋ฏธ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์ž„

 

=> ๋ฏธ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๋ฉด ํƒ์ƒ‰์— ๋“œ๋Š” ๋น„์šฉ์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ  ์Šค์™€ํ•‘ ๋˜ํ•œ ์ค„์ผ ์ˆ˜ ์žˆ์Œ

 

PFF

 

PFF(Page Fault Frequency)๋Š” ํŽ˜์ด์ง€ ํดํŠธ ๋นˆ๋„๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒํ•œ์„ ๊ณผ ํ•˜ํ•œ์„ ์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ž„

 

=> ์ƒํ•œ์„ ์— ๋„๋‹ฌํ•œ๋‹ค๋ฉด ํ”„๋ ˆ์ž„์„ ๋Š˜๋ฆฌ๊ณ  ํ•˜ํ•œ์„ ์— ๋„๋‹ฌํ•œ๋‹ค๋ฉด ํ”„๋ ˆ์ž„์„ ์ค„์ด๋Š” ๊ฒƒ์ž„

 

 

๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น

 

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

 

 

์—ฐ์† ํ• ๋‹น

 

 

์—ฐ์† ํ• ๋‹น์€ ๋ฉ”๋ชจ๋ฆฌ์— ์—ฐ์†์ ์œผ๋กœ ๊ณต๊ฐ„์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋งํ•จ

 

์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ ํ”„๋กœ์„ธ์Šค A, B ,C๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ณต๊ฐ„์— ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ


=> ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹๊ณผ ๋งค ์‹œ์  ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ์— ๋งž๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹์ด ์žˆ์Œ

 

๊ณ ์ • ๋ถ„ํ•  ๋ฐฉ์‹

 

fixed partition allocation์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ๋‚˜๋ˆ„์–ด ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฏธ๋ฆฌ ๋‚˜๋‰˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์œตํ†ต์„ฑ์ด ์—†์Œ
(๋‚ด๋ถ€ ๋‹จํŽธํ™”๊ฐ€ ๋ฐœ์ƒ)

 

๊ฐ€๋ณ€ ๋ถ„ํ•  ๋ฐฉ์‹

 

variable partition allocation์€ ๋งค ์‹œ์  ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ์— ๋งž๊ฒŒ ๋™์ ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜๋ˆ  ์‚ฌ์šฉํ•จ

 

=> ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ์™ธ๋ถ€ ๋‹จํŽธํ™”๋Š” ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ

  • first fit : ์œ„์ชฝ์ด๋‚˜ ์•„๋ž˜์ชฝ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ํ™€์„ ์ฐพ์œผ๋ฉด ๋ฐ”๋กœ ํ• ๋‹น

  • best fit : ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ ์ด์ƒ์ธ ๊ณต๊ฐ„ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ํ™€๋ถ€ํ„ฐ ํ• ๋‹น

  • worst fit : ํ”„๋กœ์„ธ์Šค์˜ ํฌ๊ธฐ์™€ ๊ฐ€์žฅ ๋งŽ์ด ์ฐจ์ด๊ฐ€ ๋‚˜๋Š” ํ™€์— ํ• ๋‹น

๋‚ด๋ถ€ ๋‹จํŽธํ™”(internal fragmentation) : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜๋ˆˆ ํฌ๊ธฐ๋ณด๋‹ค ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘์•„์„œ ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•˜๋Š” ๊ณต๊ฐ„์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ

์™ธ๋ถ€ ๋‹จํŽธํ™”(external fragmentation) : ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜๋ˆˆ ํฌ๊ธฐ๋ณด๋‹ค ํ”„๋กœ๊ทธ๋žจ์ด ์ปค์„œ ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•˜๋Š” ๊ณต๊ฐ„์ด ๋งŽ์ด ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ

=> ex. 100MB๋ฅผ 55MB, 45MB๋กœ ๋‚˜๋ˆด์ง€๋งŒ ํ”„๋กœ๊ทธ๋žจ์˜ ํฌ๊ธฐ๋Š” 70MB์ผ ๋•Œ ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•˜๋Š” ์ƒํ™ฉ

ํ™€(hole) : ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋น„์–ด ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„

 

๋ถˆ์—ฐ์† ํ• ๋‹น

 

๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ํ• ๋‹นํ•˜์ง€ ์•Š๋Š” ๋ถˆ์—ฐ์† ํ• ๋‹น์€ ํ˜„๋Œ€ ์šด์˜์ฒด์ œ๊ฐ€ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ถˆ์—ฐ์† ํ• ๋‹น์ธ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์ด ์žˆ์Œ

 

=> ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŽ˜์ด์ง€(๋ณดํ†ต 4KB)๋กœ ๋‚˜๋ˆ„๊ณ  ํ”„๋กœ๊ทธ๋žจ๋งˆ๋‹ค ํŽ˜์ด์ง€ ํ…Œ์ด๋ธ”์„ ๋‘์–ด ์ด๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ๊ทธ๋žจ์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ์ž„

 

ํŽ˜์ด์ง•

 

paging์€ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๋ฉ”๋ชจ๋ฆฌ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์œ„์น˜์— ํ”„๋กœ์„ธ์Šค๋ฅผ ํ• ๋‹นํ•จ

 

=> ํ™€์˜ ํฌ๊ธฐ๊ฐ€ ๊ท ์ผํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ๊ฐ€ ์—†์–ด์ง€์ง€๋งŒ ์ฃผ์†Œ ๋ณ€ํ™˜์ด ๋ณต์žกํ•ด์ง

 

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

 

segmentation์€ ํŽ˜์ด์ง€ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ์˜๋ฏธ ๋‹จ์œ„์ธ segment๋กœ ๋‚˜๋ˆ„๋Š” ๋ฐฉ์‹์ž„

 

ํ”„๋กœ์„ธ์Šค๋ฅผ ์ด๋ฃจ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ฝ”๋“œ ์˜์—ญ, ๋ฐ์ดํ„ฐ ์˜์—ญ, ์Šคํƒ ์˜์—ญ, ํž™ ์˜์—ญ์œผ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ, ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋กœ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ์ฝ”๋“œ ๋‚ด์˜ ์ž‘์€ ํ•จ์ˆ˜๋ฅผ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋†“๊ณ  ๋‚˜๋ˆŒ ์ˆ˜๋„ ์žˆ์Œ

 

=> ๊ณต์œ ์™€ ๋ณด์•ˆ ์ธก๋ฉด์—์„œ ์žฅ์ ์„ ๊ฐ€์ง€์ง€๋งŒ ํ™€ ํฌ๊ธฐ๊ฐ€ ๊ท ์ผํ•˜์ง€ ์•Š์€ ๋‹จ์ ์ด ์žˆ์Œ

 

ํŽ˜์ด์ง€๋“œ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜

 

paged segmentation์€ ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธ ๋‹จ์œ„์ธ ์„ธ๊ทธ๋จผํŠธ๋กœ ๋‚˜๋ˆ  ๊ณต์œ ๋‚˜ ๋ณด์•ˆ์ธก๋ฉด์— ์žฅ์ ์„ ๋‘๊ณ  ์ž„์˜์˜ ๊ธธ์ด๊ฐ€ ์•„๋‹Œ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์„ ๋งํ•จ

 

 

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

 

๋ฉ”๋ชจ๋ฆฌ๋Š” ํ•œ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šค์™€ํ•‘์ด ๋งŽ์ด ์ผ์–ด๋‚จ 

=> ์Šค์™€ํ•‘์€ ๋งŽ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋„๋ก ์„ค๊ณ„๋˜์–ด์•ผ ํ•˜๋ฉฐ ์ด๋Š” ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์Šค์™€ํ•‘์ด ์ผ์–ด๋‚จ

 

์˜คํ”„๋ผ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜

 

offline algorithm์€ ๋จผ ๋ฏธ๋ž˜์— ์ฐธ์กฐ๋˜๋Š” ํŽ˜์ด์ง€์™€ ํ˜„์žฌ ํ• ๋‹นํ•˜๋Š” ํŽ˜์ด์ง€๋ฅผ ๋ฐ”๊พธ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ฉฐ, ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ž„

 

=> ๋ฏธ๋ž˜์— ์‚ฌ์šฉ๋˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์•Œ ์ˆ˜ ์—†๊ธฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด์ง€๋งŒ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ์˜ ์„ฑ๋Šฅ ๋น„๊ต์— ๋Œ€ํ•œ upper bound(์ƒํ•œ ๊ธฐ์ค€)์„ ์ œ๊ณตํ•จ

 

FIFO

 

FIFO๋Š” First In First Out์œผ๋กœ ๊ฐ€์žฅ ๋จผ์ € ์˜จ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒด ์˜์—ญ์— ๊ฐ€์žฅ ๋จผ์ € ๋†“๋Š” ๋ฐฉ๋ฒ•์„ ์˜๋ฏธํ•จ

 

 

LRU

 

 

 

LRU๋Š” Least Recently Used๋กœ ์ฐธ์กฐ๊ฐ€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŽ˜์ด์ง€๋ฅผ ๋ฐ”๊ฟˆ

=> ์˜ค๋ž˜๋œ ๊ฒƒ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํŽ˜์ด์ง€๋งˆ๋‹ค ๊ณ„์ˆ˜๊ธฐ, ์Šคํƒ์„ ๋‘์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์Œ

 

์œ„ ๊ทธ๋ฆผ์—์„œ 5๋ฒˆ์งธ์— 5๋ฒˆ ํŽ˜์ด์ง€๊ฐ€ ๋“ค์–ด์˜ค๋ฉด์„œ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ 1๋ฒˆ ํŽ˜์ด์ง€์™€ ์Šค์™‘ํ•˜๋Š” ๊ฒƒ์ด LRU์ž„

 

๋ณดํ†ต 2๊ฐœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋กœ LRU๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š”๋ฐ ํ•ด์‹œ ํ…Œ์ด๋ธ”๊ณผ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์ž„

 

=> ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์“ฐ๊ณ , ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ํ•œ์ •๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋ƒ„

 

NUR

 

 

LRU์—์„œ ๋ฐœ์ „ํ•œ NUR์€ Not Used Recently๋กœ ์ผ๋ช… clock ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ ๋„ ํ•จ

(0๊ณผ 1์„ ๊ฐ€์ง„ ๋น„ํŠธ๋ฅผ ๋‘ )

 

1์€ ์ตœ๊ทผ์— ์ฐธ์กฐ๋˜์—ˆ๊ณ  0์€ ์ฐธ์กฐ๋˜์ง€ ์•Š์Œ์„ ์œผ๋ฏธใ…ฃํ•จ

 

=> ์‹œ๊ณ„ ๋ฐฉํ–ฅ์œผ๋กœ ๋Œ๋ฉด์„œ 0์„ ์ฐพ๊ณ  0์„ ์ฐพ์€ ์ˆœ๊ฐ„ ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ต์ฒดํ•˜๊ณ , ํ•ด๋‹น ๋ถ€๋ถ„์„ 1๋กœ ๋ฐ”๊พธ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž„

 

LFU

 

LFU๋Š” Least Frequently Used๋กœ ๊ฐ€์žฅ ์ฐธ์กฐ ํšŸ์ˆ˜๊ฐ€ ์ ์€ ํŽ˜์ด์ง€๋ฅผ ๊ต์ฒดํ•จ 

=> ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ๊ฒƒ์„ ๊ต์ฒด

 

๋ฐ˜์‘ํ˜•