๐ŸŒ€ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ ์™„์ „ ์ •๋ณต - ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๊ฐ€ ๊ต์ฒด๋  ๋•Œ ๋ฒŒ์–ด์ง€๋Š” ์ผ๋“ค

์—…๋ฐ์ดํŠธ:
2 ๋ถ„ ์†Œ์š”

โœ… ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด๋ž€?

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(Context Switching)์ด๋ž€ CPU๊ฐ€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์„ ๋ฉˆ์ถ”๊ณ ,
๋‹ค๋ฅธ ์ž‘์—…์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ณต๊ตฌํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.


๐Ÿ’ก ์™œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ํ•„์š”ํ• ๊นŒ?

์šด์˜์ฒด์ œ๋Š” ์—ฌ๋Ÿฌ ์ž‘์—…(ํ”„๋กœ์„ธ์Šค/์Šค๋ ˆ๋“œ)์„ ๋งˆ์น˜ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ CPU๋Š” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์ž‘์—…๋งŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ฃ . ๊ทธ๋ž˜์„œ ์ด๋ ‡๊ฒŒ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค:

๐Ÿ“Œ ์ผ์ • ์‹œ๊ฐ„๋งŒํผ ํ•œ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  โ†’ ๋‹ค์Œ ์ž‘์—…์œผ๋กœ ๊ต์ฒด
(= ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ)


๐Ÿ“ฆ ์ปจํ…์ŠคํŠธ๋ž€?

โ€œ์ปจํ…์ŠคํŠธ(Context)โ€๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์˜ ์ƒํƒœ ์ •๋ณด์ž…๋‹ˆ๋‹ค.

๐Ÿ’พ ํฌํ•จ๋˜๋Š” ์ •๋ณด

  • CPU ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’ (ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ, ์Šคํƒ ํฌ์ธํ„ฐ ๋“ฑ)
  • ๋ฉ”๋ชจ๋ฆฌ ์ •๋ณด (ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„, ๊ฐ€์ƒ ์ฃผ์†Œ ์ƒํƒœ ๋“ฑ)
  • ์ปค๋„ ๋‚ด๋ถ€ ์ƒํƒœ (์šฐ์„ ์ˆœ์œ„, ๊ถŒํ•œ ๋“ฑ)

๐Ÿ” ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ 

์‹œ์  ์„ค๋ช…
โฑ ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค ์ข…๋ฃŒ ์ผ์ • ์‹œ๊ฐ„ ์‚ฌ์šฉ ํ›„ ๊ต์ฒด
๐Ÿงพ I/O ์š”์ฒญ ๋””์Šคํฌ, ๋„คํŠธ์›Œํฌ ์š”์ฒญ ์ค‘ ๋‹ค๋ฅธ ์ž‘์—…์œผ๋กœ ์ „ํ™˜
โฌ† ์šฐ์„ ์ˆœ์œ„ ์ž‘์—… ๋ฐœ์ƒ ๋” ์ค‘์š”ํ•œ ์ž‘์—…์ด ์ƒ๊ธฐ๋ฉด ์„ ์ 

๐Ÿง  ๋ˆ„๊ฐ€ ์ด๊ฑธ ์ฒ˜๋ฆฌํ• ๊นŒ?

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ ์šด์˜์ฒด์ œ์˜ ์ปค๋„(Kernel) ์ด ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ปค๋„์ด ๋‹ค์Œ ์ž‘์—…์„ ์Šค์ผ€์ค„๋งํ•˜๊ณ , ํ•„์š”ํ•œ ์ƒํƒœ ์ €์žฅ/๋ณต๊ตฌ๋ฅผ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ” ํ”„๋กœ์„ธ์Šค vs ์Šค๋ ˆ๋“œ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ

ํ•ญ๋ชฉ ํ”„๋กœ์„ธ์Šค ์Šค๋ ˆ๋“œ
์†๋„ ๋А๋ฆผ โณ ๋น ๋ฆ„ โšก
๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ ์„œ๋กœ ๋‹ค๋ฆ„ ๊ณต์œ 
MMU ์ž‘์—… ํ•„์š”ํ•จ ๋ถˆํ•„์š”
TLB ์ดˆ๊ธฐํ™” ํ•„์š”ํ•จ ๋ถˆํ•„์š”
์บ์‹œ ์˜ํ–ฅ ํฌ๋‹ค ์ ๋‹ค

๐ŸŽฏ ์™œ ์Šค๋ ˆ๋“œ ์ „ํ™˜์ด ๋” ๋น ๋ฅผ๊นŒ?

์Šค๋ ˆ๋“œ๋Š” ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ
๊ณตํ†ต ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ, ์ฃผ์†Œ ๊ณต๊ฐ„ ์ดˆ๊ธฐํ™”๊ฐ€ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.


๐Ÿ›  ํ”„๋กœ์„ธ์Šค ์ „ํ™˜ ์‹œ ์ถ”๊ฐ€๋กœ ๋ฒŒ์–ด์ง€๋Š” ์ผ๋“ค

ํ”„๋กœ์„ธ์Šค ์ „ํ™˜์€ ๋‹จ์ˆœํžˆ CPU ์ƒํƒœ๋งŒ ๋ฐ”๊พธ๋Š” ๊ฒŒ ์•„๋‹™๋‹ˆ๋‹ค:

  1. ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค์˜ ๋ ˆ์ง€์Šคํ„ฐ, ์ƒํƒœ ์ €์žฅ
  2. ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
  3. MMU ์„ค์ • ๋ณ€๊ฒฝ โ†’ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ์ฒด๊ณ„ ๋ฐ”๊ฟˆ
  4. TLB ์ดˆ๊ธฐํ™” โ†’ ์ฃผ์†Œ ๋งคํ•‘ ์บ์‹œ ์ œ๊ฑฐ

๐Ÿ” MMU, TLB๊ฐ€ ๋ญ์•ผ?

๐Ÿ“ฆ MMU (Memory Management Unit)

๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜

  • ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๊ณ ์œ ํ•œ ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€์ง
  • MMU๋Š” ์ด ๊ฐ€์ƒ ์ฃผ์†Œ๋ฅผ ๋ฌผ๋ฆฌ ์ฃผ์†Œ๋กœ ๋งคํ•‘ํ•ด์คŒ

โšก TLB (Translation Lookaside Buffer)

MMU๊ฐ€ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ฃผ์†Œ ๋งคํ•‘์„ ์ €์žฅํ•˜๋Š” ์บ์‹œ

  • ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ฃผ์†Œ ๋ณ€ํ™˜ ์ •๋ณด๋ฅผ ๋ฏธ๋ฆฌ ์ €์žฅ
  • ํ•˜์ง€๋งŒ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฐ”๊พธ๋ฉด? โ†’ ์บ์‹œ๋„ ๋ฌดํšจํ™” ํ•„์š”!

๐Ÿงช ์˜ˆ์‹œ๋กœ ์‰ฝ๊ฒŒ ์ดํ•ดํ•ด ๋ณด๊ธฐ

๐ŸŽฎ ๊ฒŒ์ž„(ํ”„๋กœ์„ธ์Šค A) โ†’ ๐Ÿ“จ ์ด๋ฉ”์ผ ์•ฑ(ํ”„๋กœ์„ธ์Šค B)

  • MMU๋Š” ๊ฒŒ์ž„์˜ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ ์ฐธ์กฐ ์ค‘
  • ์ด๋ฉ”์ผ ์•ฑ์œผ๋กœ ๋ฐ”๊พธ๋ฉด MMU ์„ค์ • ๋ณ€๊ฒฝ
  • ์ด์ „ ๊ฒŒ์ž„์˜ ์ฃผ์†Œ ๋งต์ด ๋‚จ์•„ ์žˆ์œผ๋ฉด ์œ„ํ—˜ โ†’ TLB ์ดˆ๊ธฐํ™”

๐Ÿงต ์Šค๋ ˆ๋“œ ๊ฐ„ ์ „ํ™˜์€?

๊ฐ™์€ ํ”„๋กœ์„ธ์Šค A ๋‚ด์—์„œ

  • ๋„คํŠธ์›Œํฌ ์Šค๋ ˆ๋“œ โ†’ ๋ Œ๋”๋ง ์Šค๋ ˆ๋“œ ์ „ํ™˜ ์‹œ
  • MMU/TLB ๊ทธ๋Œ€๋กœ! ๋‹จ์ง€ ๋ ˆ์ง€์Šคํ„ฐ ์ •๋ณด๋งŒ ๋ฐ”๊พธ๋ฉด ๋จ

๐Ÿ“Œ ํ•œ๋ˆˆ์— ์ •๋ฆฌ

๊ตฌ๋ถ„ ํ”„๋กœ์„ธ์Šค ์Šค์œ„์นญ ์Šค๋ ˆ๋“œ ์Šค์œ„์นญ
๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ์ฒด๊ณ„ ๋‹ค๋ฆ„ โ†’ MMU ์žฌ์„ค์ • ๊ฐ™์Œ
TLB ์ดˆ๊ธฐํ™” ํ•„์š”ํ•จ ํ•„์š” ์—†์Œ
์†๋„ ๋А๋ฆผ ๋น ๋ฆ„
์ปค๋„ ๊ฐœ์ž… ํ•„์š” ํ•„์š”
์บ์‹œ ์˜ํ–ฅ TLB ์บ์‹œ ์ œ๊ฑฐ ์—†์Œ

๐Ÿš€ ๊ฒฐ๋ก 

  • ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์€ OS๊ฐ€ ๋ฉ€ํ‹ฐํƒœ์Šคํ‚น์„ ์ง€์›ํ•˜๋Š” ํ•ต์‹ฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜
  • ์Šค๋ ˆ๋“œ ๊ฐ„ ์ „ํ™˜์€ ๋น ๋ฅด์ง€๋งŒ, ํ”„๋กœ์„ธ์Šค ๊ฐ„ ์ „ํ™˜์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋ฌด๊ฑฐ์›€
  • ๊ณ ์„ฑ๋Šฅ ์‹œ์Šคํ…œ์—์„œ๋Š” ์Šค๋ ˆ๋“œ ๊ธฐ๋ฐ˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ๋” ์œ ๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ