Context Switch
Last updated
Last updated
CPU ์๊ฐ์ ํ ๋นํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ค์ํ ์์ ์ ์คํ์ ์์ฝํ๋ ํ๋ก์ธ์ค ๋๋ ์์ ์ค์ผ์ค๋ฌ๊ฐ ์์ต๋๋ค . ๋ํ ๊ฐ ํ๋ก์ธ์ค๋ ์ปจํ ์คํธ๋ผ๊ณ ํ๋ ์ํ์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ฅํฉ๋๋ค.
์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํด์ ํ ๋๊ฐ ๋๋ฉด ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์์ CPU๋ฅผ ์ ๊ฑฐํ๊ณ ์ด๋ฅผ ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค ์ค ํ๋์ ํ ๋นํ๋ ๊ฐ๋ ฅํ๊ณ ์์ ํ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
์ด๋ ๋์ค์ ํด๋น ์์ ๋ถํฐ ์คํํ๋ ค๋ฉด ์ํ๋ฅผ ์ ์ฅํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก, ์คํ ์ค์ธ ํ๋ก์ธ์ค ๋ด์ ์ค๋ ๋๊ฐ CPU๋ฅผ ๋ค๋ฅธ ์ค๋ ๋์ ์๋ณดํ ๋ ์ ํ์ด ๋ฐ์ํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ๋ ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ ์ค๋ ๋์ ํ ๋น๋ ์๊ฐ์ด ์ด๊ณผ๋์ด ์ด๋ฅผ ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค(๋๋ ์ค๋ ๋) ์ค ํ๋์ ํ ๋นํ๊ธฐ ์ํด CPU๋ฅผ ํด์ ํด์ผ ํ๋ ๊ฒฝ์ฐ์ ๋๋ค.
๋ ๋ฒ์งธ ๊ฒฝ์ฐ๋ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ์ปค๋ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒฝ์ฐ์ ๋๋ค. ์๋ฅผ ๋ค์ด SIGKILL ์ธํฐ๋ฝํธ ์ ํธ๋ฅผ OS์ ๋ณด๋ด๋ฉด ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ์ฌ CPU๋ฅผ ํ๋ณดํ๊ฒ ๋ฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ฐ์ ์์๊ฐ ๋์ ์์ ์ด ํ์ฌ ์คํ ์ค์ธ ์์ ์ ์ ์ ํ ์ ์์ต๋๋ค.
์ด์ ์ฒด์ ๋ OS๊ฐ CPU์์ ์คํ ์ค์ธ ์์ ์ ์ ๊ฑฐํ๊ณ ์ด๋ฅผ ๋ค๋ฅธ ์์ ์ ํ ๋นํ๋ ๊ฒ์ ๋๋ค ์ ํ๋ ํ๋ก์ธ์ค์ context๋ฅผ ์ ์ฅํ๊ณ ๊ตํํ๊ณ ๋ก๋ํ๋ ๊ณผ์ ์ ๋๋ค.
ํ๋ก์ธ์ค์ ์ปจํ ์คํธ์ ์ฌ์ฉ์ ์์ค ์ปจํ ์คํธ๋ก ๊ตฌ์ฑ๋์ด ์๋์์ ์์ ๋ณด๋ฅผ ๋ด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค
์ฌ์ฉ์ ์ฃผ์๊ณต๊ฐ , ํ๋์จ์ด ๋ ์ง์คํฐ, ์ปค๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฑ์ ์ ์ฅํ๊ณ ์์ต๋๋ค. ๋ ์ง์คํฐ ๋ฐ ์์คํ ์์ค์ ์ปจํ ์คํธ ์ ๋๋ค.
ํ๋ก์ธ์ค ํ ์คํธ, ํต๊ณ ํ์ผ, ๋ฐ์ดํฐ, ์คํ, ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ์ฐจ์งํ๋ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์์คํ ์์ค์๋ ํ ์ด๋ธ ๋ ์ฝ๋, ์ปค๋ ์คํ, ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๋งคํ์ ๋ณด๋ฑ์ ์ ์ฅํ๊ณ ์์ต๋๋ค.