๐ ์ค๋์ process์ thread์ ๊ฐ ๊ฐ๋ ๊ณผ ์ฐจ์ด์ ์ ๋ํด ์ ์ด๋ณด๋ ค๊ณ ํ๋ค. ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ด์ง๋ง ๋๊ตฐ๊ฐ์๊ฒ ์ค๋ช ํ๊ธฐ์ ํท๊ฐ๋ฆฌ๋ ๋ด์ฉ์ด๊ธฐ๋ ํ ๊ฒ ๊ฐ์, ์ฐจ๋ก๋๋ก ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํ๋ค.๐ง
process๋ ์ด์์ฒด์ ๋ก๋ถํฐ ์์์ ํ ๋น ๋ฐ์ ์์์ ๋จ์๋ก์จ, ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ process๋ผ๊ณ ํ๋ค. ํ๋ ๋์คํฌ์์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ํ๋ก๊ทธ๋จ ์คํ์ ํ์ํ ๋ด์ฉ์ด ์ ์ฌ๊ฐ ๋๋ค.
ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋น ๋ฐ๊ฒ ๋๋ฉด code, data, heap, stack์์ญ์ผ๋ก ๋๋๊ฒ ๋๋ค. ๋ํ, ํ๋ก์ธ์ค ์์ฑ์ ํ๋ก์ธ์ค ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ PCB Block์ด ํจ๊ป ๋ง๋ค์ด์ง๋ค.
๋์์ ์คํํ๊ณ ์ถ์ ํ๋ก์ธ์ค ๋๊ฐ P1๊ณผ P2๊ฐ ์๋ค๊ณ ํ ๋, P1์ ์ธํฐ๋ฝํธ ๋๋ ์์คํ
์ฝ์ด ๋ฐ์ํ๋ฉด PCB1์ ํ์ฌ ์ํ๋ฅผ ์ ์ฅํ๊ณ PCB2๊ฐ ๋ก๋๋๋ฉด์ ํ๋ก์ธ์ค2๊ฐ ์คํ๋๊ฒ ๋๋ค. ์์ ๊ฐ์ด 2๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋ฒ๊ฐ์ ๊ฐ๋ฉด์ CPU์ ์ ์ฌ๋๋ ๊ณผ์ ์ context switching์ด๋ผ๊ณ ํ๋ค. context switching์ด ๋น๋ฒํ๊ฒ ์ผ์ด๋๋ฉด ์ฑ๋ฅ์ ํ์ ์์ธ์ด ๋๋ค.
ํ๋ก์ธ์ค ์์์ ์ค์ ๋ก ์์ ์ ์ํํ๋ ์ฃผ์ฒด๋ฅผ ๋งํ๋ค. ๋ชจ๋ ํ๋ก์ธ์ค๋ ํ๊ฐ ์ด์์ ์ค๋ ๋๊ฐ ์กด์ฌํ์ฌ ์์ ์ ์ํํ๋ฉฐ, 2๊ฐ ์ด์์ ์ค๋ ๋๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ฅผ ๋ฉํฐ ์ค๋ ๋ ํ๋ก์ธ์ค๋ผ๊ณ ํ๋ค.
thread๋ process์ code, data, heap์์ญ์ ๊ณต์ ๋ฐ์ผ๋ฉฐ stack์์ญ๋ง ๋ณ๋๋ก ํ ๋น์ ๋ฐ๋๋ค. ์ฆ, ์์ ์ค๋ ๋๋ ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์์ญ์ ๊ณต์ ํ๋ฉด์ ์ฌ์ฉํ๊ฒ ๋๋ค.
๋ฉํฐ ํ๋ก์ธ์ค๋ ํ๋์ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๋ก ๊ตฌ์ฑํ์ฌ ๊ฐ ํ๋ก์ธ์ค๊ฐ ํ๋์ ์์
์ ์ฒ๋ฆฌํ๋ค.
๋ฉํฐ ์ค๋ ๋๋ ํ๋์ ์ดํ๋ฆฌ์ผ์ด์
์ ์ฌ๋ฌ๊ฐ์ ์ค๋ ๋๋ก ๋๋์ด ๊ฐ ์ค๋ ๋๊ฐ ํ๋์ ์์
์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ์์
์ด๋ค.
๋ง์น๋ฉด์, ๋ค์ ๊ธ์ ์ค๋ ๋ ๋๊ธฐํ์ ๋ํด ๋ค๋ค๋ณด๋ ค๊ณ ํ๋ค.
์ด๋ฏธ์ง ์ฐธ๊ณ ์ถ์ฒ
1. https://charlezz.medium.com/process%EC%99%80-thread-%EC%9D%B4%EC%95%BC%EA%B8%B0-5b96d0d43e37
2. https://forum.huawei.com/enterprise/en/context-switch-everything-you-need-to-know/thread/685119-895