Skip to content

Latest commit

ย 

History

History
14 lines (13 loc) ยท 1.11 KB

Context Switching.md

File metadata and controls

14 lines (13 loc) ยท 1.11 KB

Q. Context Switching์ด๋ž€?

  • CPU๋Š” ํ•œ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ํ˜„์žฌ ์ง„ํ–‰์ค‘์ธ Task(ํ”„๋กœ์„ธ์Šค, ์Šค๋ ˆ๋“œ)์˜ ์ƒํƒœ๋ฅผ PCB์— ์ €์žฅํ•˜๊ณ  ๋‹ค์Œ์— ์ง„ํ–‰ํ•  Task์˜ ์ƒํƒœ๊ฐ’์„ ์ฝ์–ด ์ ์šฉํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค. (๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ CPU๋ฅผ ํ• ๋‹นํ•ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณผ์ •์„ ๋งํ•œ๋‹ค.)
  • ๊ณผ์ •
    • Task์˜ ๋Œ€๋ถ€๋ถ„ ์ •๋ณด๋Š” Register์— ์ €์žฅ๋˜๊ณ  PCB๋กœ ๊ด€๋ฆฌ๋œ๋‹ค.
    • ํ˜„์žฌ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋Š” Task์˜ PCB ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.
    • ๋‹ค์Œ ์‹คํ–‰ํ•  Task์˜ PCB ์ •๋ณด๋ฅผ ์ฝ์–ด Register์— ์ ์žฌํ•˜๊ณ  CPU๊ฐ€ ์ด์ „์— ์ง„ํ–‰ํ–ˆ๋˜ ๊ณผ์ •์„ ์—ฐ์†์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Context Switching์€ ๋งŽ์€ ๋น„์šฉ์ด ์†Œ๋ชจ๋œ๋‹ค.
    • Cache ์ดˆ๊ธฐํ™”
    • Memory mapping ์ดˆ๊ธฐํ™”
    • ์ปค๋„์€ ํ•ญ์ƒ ์‹คํ–‰๋˜์–ด์•ผ ํ•œ๋‹ค.
  • Context Switching์˜ ๋น„์šฉ์€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์Šค๋ ˆ๋“œ๋ณด๋‹ค ๋” ๋งŽ์ด ๋“ ๋‹ค.
  • ์ด์œ  : ์Šค๋ ˆ๋“œ๋Š” Stack ์˜์—ญ์„ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Context Switching ๋ฐœ์ƒ์‹œ Stack ์˜์—ญ๋งŒ ๋ณ€๊ฒฝ์„ ์ง„ํ–‰ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.