๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (132)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (36)
      • Next.js (17)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (3)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์›์‹œํƒ€์ž…
  • SSR
  • ์˜ค๋ธ”์™„
  • next.js
  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ํ˜ธ์ด์ŠคํŒ…
  • layout shift
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • ํž™์˜์—ญ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • react
  • ๋ฉด์ ‘
  • ์ฝœ์Šคํƒ
  • reflow
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • ๋ ‰์‹œ์ปฌ

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi

Minzzi์•ผ

CS/Operating System

[Operating System] ์šด์˜์ฒด์ œ Caching [2]

2024. 3. 9. 02:53

[CS/Operating System] - [Operating System] ์šด์˜์ฒด์ œ Caching [1]

์บ์‹ฑ์˜ ๊ธฐ๋ณธ ์ง€์‹์— ๋Œ€ํ•ด ๋‹ค๋ฃฌ ๋ถ€๋ถ„์ด Caching 1ํŽธ์ด๋‹ค.

 

[Operating System] ์šด์˜์ฒด์ œ Caching [1]

์•„๋ž˜ ๋ชจ๋“  ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ํŒŒํ”ผ์˜ Chching(์บ์‹ฑ)๊ณผ ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์‚ฌ์‹ค ๊ฐœ๋ฐœ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•œ ์ง€ ์–ผ๋งˆ ์•ˆ๋˜๊ธฐ๋„ ํ–ˆ๊ณ , ํ•ญ์ƒ ํ•˜๋‚˜์”ฉ ํ•˜๋‚˜์”ฉ ์Šคํƒ

world-developer.tistory.com

 

์•„๋ž˜ ๋ชจ๋“  ๋‚ด์šฉ์€ ์œ ํŠœ๋ธŒ[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ํŒŒํ”ผ์˜ Chching(์บ์‹ฑ)๊ณผ ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.


โœ”๏ธ ์บ์‹œ์˜ ๋™์ž‘์›๋ฆฌ

Cache๋ž€? ์ž์ฃผ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋‚˜ ๊ฐ’์˜ ๋ณต์‚ฌ๋ณธ์„ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅ, ๋ณด๊ด€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๊ณณ

๊ทธ๋Ÿผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ํ•„์š”ํ•œ์ง€ ์•„๋‹Œ์ง€๋Š” ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์„๊นŒ?


โ˜๐Ÿป ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ

๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์˜ ์›๋ฆฌ๋ž€ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ์‹œ๊ฐ„์ , ๊ณต๊ฐ„์ ์œผ๋กœ ๊ฐ€๊น๊ฒŒ ์ผ์–ด๋‚˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. (์‹œ๊ฐ„์  = ํ•œ ๋ฒˆ ์ฐธ์กฐ๋œ ๋ณ€์ˆ˜๋Š” ์ž ์‹œ ํ›„์— ๋˜ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. / ๊ณต๊ฐ„์  = ์–ด๋–ค ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๋•Œ, ๊ทธ ๋ฐ์ดํ„ฐ ๊ทผ์ฒ˜์— ์žˆ๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋„ ์ฐธ์กฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.)

์‹œ๊ฐ„ ์ง€์—ญ์„ฑ : ํŠน์ • ๋ฐ์ดํ„ฐ๊ฐ€ ์ ‘๊ทผ๋˜์—ˆ์„ ๋•Œ, ๊ฐ€๊นŒ์šด ๋ฏธ๋ž˜์— ๋˜ ํ•œ๋ฒˆ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๊ฒƒ์ด๋‹ค. (ex - for ์˜ ์กฐ๊ฑด ๋ณ€์ˆ˜ i)

๊ณต๊ฐ„ ์ง€์—ญ์„ฑ : ํŠน์ • ๋ฐ์ดํ„ฐ์™€ ๊ฐ€๊นŒ์šด ์ฃผ์†Œ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ ‘๊ทผ๋˜๋Š” ๊ฒฝ์šฐ (ex - ๋ฐฐ์—ด์€ ์ˆœ์„œ๋Œ€๋กœ ์ ‘๊ทผํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Œ)

for(i=0; i<3; i++){ // i ๊ณ„์† ์ ‘๊ทผ(์‹œ๊ฐ„์ )
	data[i+1] = data[i] + 1; // 0, 1, 2 ๋ฐฐ์—ด ์ˆœ์ฐจ์  ์ ‘๊ทผ(๊ณต๊ฐ„์ )
}
// ์‹คํ–‰๊ฒฐ๊ณผ
data[1] = data[0] + 1;
data[2] = data[1] + 1;
data[3] = data[2] + 1;

์œ„ ์ฝ”๋“œ๋Š” ์‹œ๊ฐ„ ์ง€์—ญ์„ฑ๊ณผ ๊ณต๊ฐ„ ์ง€์—ญ์„ฑ์„ ์ถฉ์กฑํ•˜๋Š” ์ฝ”๋“œ ์˜ˆ์ œ.

 

์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ ์ง€์—ญ์„ฑ์— ๋”ฐ๋ผ ์บ์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ฒŒ ๋œ๋‹ค. 


โ˜๐Ÿป ์บ์‹œ ํžˆํŠธ์™€ ์บ์‹œ ๋ฏธ์Šค

CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ๋•Œ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ(RAM)์— ์ ‘๊ทผํ•˜๊ธฐ ์ „์— ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•ด์„œ ๋ฐ์ดํ„ฐ์˜ ์กด์žฌ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ๊ฒƒ์ด๋‹ค.

์บ์‹œ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„์ˆ˜๋„, ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.

1๏ธโƒฃ ์บ์‹œ HIT(์บ์‹œ ์ ์ค‘)

์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

2๏ธโƒฃ ์บ์‹œ MISS

ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์—†์–ด์„œ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์™€์•ผํ•œ๋‹ค.


โ˜๐Ÿป ์บ์‹œ ๋งคํ•‘

์บ์‹œ๋งคํ•‘์€ ์บ์‹œ๊ฐ€ ํžˆํŠธ๋˜๊ธฐ ์œ„ํ•ด ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

1๏ธโƒฃ ์ง์ ‘ ๋งคํ•‘

๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 1-100์ด ์žˆ๊ณ , ์บ์‹œ๊ฐ€ 1-10์ด ์žˆ๋‹ค๋ฉด, 1:1~10, 2:1~20... ์ด๋ ‡๊ฒŒ ๋งคํ•‘.

์ฒ˜๋ฆฌ๊ฐ€ ๋น ๋ฅด์ง€๋งŒ ์ถฉ๋Œ์ด ์žฆ์Œ.

2๏ธโƒฃ ์—ฐ๊ด€ ๋งคํ•‘

์ˆœ์„œ๋ฅผ ์ผ์น˜์‹œํ‚ค์ง€ ์•Š๊ณ  ๊ด€๋ จ ์žˆ๋Š” ์บ์‹œ์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋งคํ•‘.

์ถฉ๋Œ์ด ์ ์ง€๋งŒ ๋ชจ๋“  ๋ธ”๋ก์„ ํƒ์ƒ‰ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋А๋ฆผ

3๏ธโƒฃ ์ง‘ํ•ฉ ์—ฐ๊ด€ ๋งคํ•‘

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

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


โ˜๐Ÿป ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค๋ฉด?(์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ ์“ฐ๊ธฐ ์ •์ฑ…๊ณผ ์บ์‹œ์˜ ์ผ๊ด€์„ฑ)

CPU์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋™์ž‘์ด ์•„๋‹ˆ๋ผ ์ž…๋ ฅ(์“ฐ๊ธฐ)ํ•˜๋Š” ๋™์ž‘์ด ๋ฐœ์ƒํ–ˆ๋‹ค๊ณ  ํ•˜์ž. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ณ€๊ฒฝ๋˜๋Š” ์ฃผ์†Œ๊ฐ€ ์บ์‹ฑ๋œ ์ƒํƒœ๋ผ๋ฉด ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธ ๋œ๋‹ค. 

 

๋”ฐ๋ผ์„œ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์—๋„ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ์— ์–ธ์ œ ์—…๋ฐ์ดํŠธ๋ฅผ ํ•ด์ฃผ๋ƒ์— ๋”ฐ๋ผ ์ •์ฑ…์ด 2๊ฐ€์ง€๋กœ ๋‚˜๋‰œ๋‹ค.

1๏ธโƒฃ Write Through ์ •์ฑ…

์บ์‹œ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฐ”๋€”๋•Œ๋งˆ๋‹ค ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฐ”๋กœ ์—…๋ฐ์ดํŠธ

+ ๋‹จ์ˆœํ•˜๊ณ  ์บ์‹œ์™€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ๊ด€์„ฑ ์œ ์ง€ ๊ฐ€๋Šฅ,

- ๋งค๋ฒˆ ๋ฐ”๊ฟ”์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋А๋ฆผ.

2๏ธโƒฃ Write Back ์ •์ฑ…

์บ์‹œ๋งŒ ์—…๋ฐ์ดํŠธ ํ•˜๋‹ค๊ฐ€, ์—…๋ฐ์ดํŠธ ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์บ์‹œ์—์„œ ๋น ์ง€๊ฒŒ ๋  ๋•Œ, ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์—…๋ฐ์ดํŠธ.

๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œˆํ•ด ์บ์‹œ ๋ธ”๋ก๋งˆ๋‹ค dirty ๋น„ํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋ฉฐ, ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด 1๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ๊ต์ฒด๋  ๋•Œ dirty bit๊ฐ€ 1์ด๋ผ๋ฉด ๋ฉ”์ธ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ์‹

+ ์†๋„ ๋น ๋ฆ„

- ์บ์‹œ์™€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์„œ๋กœ ๊ฐ’์ด ๋‹ค๋ฅธ ๊ฒฝ์šฐ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

๋”๋ณด๊ธฐ

์ฐธ๊ณ 

https://www.youtube.com/watch?v=JBFT4KyEvoY ์œ ํŠœ๋ธŒ
๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ ์ฑ…

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'CS > Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Operating System] ์šด์˜์ฒด์ œ Caching [1]  (0) 2024.03.07
[์šด์˜์ฒด์ œ] Chapter7. Synchronization Examples  (0) 2022.06.01
[์šด์˜์ฒด์ œ] Chapter6. Synchronization Tools(๋™๊ธฐํ™”)  (0) 2022.05.30
    'CS/Operating System' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [Operating System] ์šด์˜์ฒด์ œ Caching [1]
    • [์šด์˜์ฒด์ œ] Chapter7. Synchronization Examples
    • [์šด์˜์ฒด์ œ] Chapter6. Synchronization Tools(๋™๊ธฐํ™”)
    ๐Ÿธminzzi
    ๐Ÿธminzzi

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”