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 ์์ญ๋ง ๋ณ๊ฒฝ์ ์งํํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.