๋๋ธ ํด๋ฆญํ๊ฑฐ๋ ์ปค๋งจ๋ ๋ผ์ธ์ ํตํด ์ ์ฅ ์ฅ์น์ ์ ์ฅ๋ ์ด๋ค ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ์ด์์ฒด์ ๋ ์ด๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ ์คํํ๋ค. ์ด ๋ ์คํ๋๋ ํ๋ก๊ทธ๋จ์ 'ํ๋ก์ธ์ค(Process)'๊ฐ ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ค๊ณ ํ๋ค.
ํ๋ก์ธ์ค๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
1. ํฌ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค (foreground process)
- ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ณต๊ฐ์์ ์คํ๋๋ ํ๋ก์ธ์ค (ex. ์น ๋ธ๋ผ์ฐ์ , ๊ฒ์, ์๋ ...)
2. ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค (background process)
- ์ฌ์ฉ์๊ฐ ๋ณผ ์ ์๋ ๊ณต๊ฐ์์ ์คํ๋๋ ํ๋ก์ธ์ค
- ์ฌ์ฉ์์ ์ง์ ์ํธ์์ฉ์ด ๊ฐ๋ฅํ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค
- ์ฌ์ฉ์์ ์ํธ์์ฉํ์ง ์๊ณ ๊ทธ์ ์ ํด์ง ์ผ๋ง ์ํํ๋ ํ๋ก์ธ์ค (๋ฐ๋ชฌ, ์๋น์ค)
ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก
์คํ์ ์ฃผ์ฒด๋ CPU์ด๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ํ๋ก์ธ์ค๋ CPU๊ฐ ํ์ํ๋ค. ํ์ง๋ง, CPU ์์์ ํ์ ๋์ด ์๋ค. ๊ทธ๋์ ํ๋ก์ธ์ค๋ค์ ๋์๊ฐ๋ฉฐ ํ์ ๋ ์๊ฐ๋งํผ CPU๋ฅผ ์ด์ฉํ๊ณ ํ์ ๋ ์๊ฐ์ด ์ง๋๋ฉด ํ์ด๋จธ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ฌ ๋ค๋ฅธ ํ๋ก์ธ์ค์ CPU๋ฅผ ์๋ณดํ๋ค.
์ด๋ ๊ฒ ์๋ณดํ ํ๋ก์ธ์ค๋ ๋์ค์ ๋ค์ ์คํ๋๊ธฐ ์ํด์ ํ์ฌ๊น์ง ์คํํ ์ ๋ณด๋ค์ ์ด๋๊ฐ์๋ ์ ์ฅํด์ผ ํ๋๋ฐ ์ด๋ ์ด์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ๊ฐ ๋ฐ๋ก 'ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB; Process Control Block)'์ด๋ค. PCB๋ ํ๋ก์ธ์ค ์์ฑ ์ ์ปค๋ ์์ญ์ ์์ฑ๋์ด ํ๋ก์ธ์ค์ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์ข ๋ฃ ์ ํ๊ธฐ๋๋ค.
PCB์ ๋ด๊ธฐ๋ ๋ํ์ ์ธ ์ ๋ณด (์ธ๋ถ์ ์ธ ์ ๋ณด๋ ์ด์์ฒด์ ๋ง๋ค ์ฐจ์ด๊ฐ ์์)
- ํ๋ก์ธ์ค ID (=PID)
ใด ํน์ ํ๋ก์ธ์ค๋ฅผ ์๋ณํ๊ธฐ ์ํด ๋ถ์ฌํ๋ ๊ณ ์ ํ ๋ฒํธ
- ๋ ์ง์คํฐ ๊ฐ
ใด ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ฉด์ CPU ๋ ์ง์คํฐ์ ์ ์ฅํ ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ์คํ ํฌ์ธํฐ ๋ฑ์ ๊ฐ
- ํ๋ก์ธ์ค ์ํ
ใด ์ ์ถ๋ ฅ ์ฅ์น๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ์ํ, CPU๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ์ํ ๋ฑ (์์ฑ ์ํ, ๋๊ธฐ ์ํ, ...)
- CPU ์ค์ผ์ค๋ง ์ ๋ณด
ใด ํ๋ก์ธ์ค๊ฐ ์ธ์ ์ด๋ค ์์๋ก CPU๋ฅผ ํ ๋น๋ฐ์์ ์ฌ์ฉํ ์ง์ ๋ํ ์ ๋ณด
- ๋ฉ๋ชจ๋ฆฌ ์ ๋ณด
ใด ํ๋ก์ธ์ค๊ฐ ์ด๋ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ์ ์ฅ๋์ด ์๋์ง์ ๋ํ ์ ๋ณด
ใด ํ์ด์ง ํ ์ด๋ธ ์ ๋ณด
- ์ฌ์ฉํ ํ์ผ๊ณผ ์ ์ถ๋ ฅ ์ฅ์น ์ ๋ณด
ใด ํ ๋น๋ ์ ์ถ๋ ฅ ์ฅ์น, ์ฌ์ฉ ์ค์ธ ํ์ผ ์ ๋ณด
์ปจํ ์คํธ ์ค์์น (๋ฌธ๋งฅ๊ตํ; Context Switch)
ํ ํ๋ก์ธ์ค์ CPU์ ์ด์ฉ ์๊ฐ์ด ๋๋๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก CPU ์ด์ฉ์ ์๋ณดํ ๋ ์ผ์ด๋๋ ์ผ.
๊ธฐ์กด์ ์คํ๋๋ ํ๋ก์ธ์ค์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ์คํ ์์๊ฐ ๋์ด๊ฐ๋ฉด, ๊ธฐ์กด์ ์คํ๋๋ ํ๋ก์ธ์ค๋ ์ง๊ธ๊น์ง์ ์ค๊ฐ ์ ๋ณด๋ฅผ ๋ฐฑ์ ํ๋ค. ๋ฐฑ์ ๋๋ ์ ๋ณด๋ค์๋ ํ๋ก๊ทธ๋จ ์นด์ดํฐ ๋ฑ ๊ฐ์ข ๋ ์ง์คํฐ ๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์ ๋ณด, ์ด์๋ ํ์ผ ๋ฑ์ด ํฌํจ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์ค๊ฐ ์ ๋ณด๋ฅผ '๋ฌธ๋งฅ(context)'์ด๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ , ๋ค์ด์ด ์คํํ ํ๋ก์ธ์ค์ '๋ฌธ๋งฅ'์ ๋ณต๊ตฌํ๋ฉฐ ์์ฐ์ค๋ฝ๊ฒ ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋ฐ๋๊ฒ ๋๋ค. ์ด๋ฌํ ์ ๊ณผ์ ์ ๋ฌธ๋งฅ์ด ๊ตํ๋๋คํด์ ๋ฌธ๋งฅ๊ตํ ๋๋ ์ปจํ ์คํธ ์ค์์น๋ผ๊ณ ํ๋ค.
์ง๊ธ๊น์ง๋ ์ปค๋ ์์ญ์ ์ ์ฅ๋๋ ํ๋ก์ธ์ค ์ ๋ณด์ ๋ํด ์์๋ณด์๋ค. ๊ทธ๋ ๋ค๋ฉด ํ๋ก์ธ์ค๋ ์ฌ์ฉ์ ์์ญ์๋ ์ด๋ป๊ฒ ์ ์ฅ๋ ๊น? ํ๋ก์ธ์ค๋ ์ฌ์ฉ์ ์์ญ์ ํฌ๊ฒ ์ฝ๋ ์์ญ, ๋ฐ์ดํฐ ์์ญ, ํ ์์ญ, ์คํ ์์ญ์ผ๋ก ๋๋์ด ์ ์ฅ๋๋ค.
[์ ์ ํ ๋น ์์ญ]
- ์ฝ๋ ์์ญ (=ํ ์คํธ ์์ญ)
์คํํ ์ ์๋ ์ฝ๋, ๊ธฐ๊ณ์ด๋ก ์ด๋ฃจ์ด์ง ๋ช ๋ น์ด๊ฐ ์ ์ฅ๋๋ ์์ญ์ด๋ฉฐ ๋ฐ์ดํฐ๊ฐ ์๋ ํ๋ก์ธ์ค์ ์ฝ๋๊ฐ ์ค๊ฐ์ ์์ ๋๋ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ๋ก ํด๋น ์์ญ์ ์ฐ๊ธฐ๊ฐ ๊ธ์ง๋ ์์ญ์ด๋ค. (read-only)
- ๋ฐ์ดํฐ ์์ญ
ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ๋์ ์ ์งํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์์ญ (ex. ์ ์ญ๋ณ์)
[๋์ ํ ๋น ์์ญ]
- ํ ์์ญ
ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ์ฌ์ฉ์(๊ฐ๋ฐ์)๊ฐ ์ง์ ํ ๋นํ ์ ์๋ ์ ์ฅ ๊ณต๊ฐ
์ผ๋ฐ์ ์ผ๋ก ๋ฎ์ ์ฃผ์ -> ๋์ ์ฃผ์๋ก ํ ๋น
- ์คํ ์์ญ
๋ฐ์ดํฐ๊ฐ ์ผ์์ ์ผ๋ก ์ ์ฅ๋๋ ๊ณต๊ฐ (ex. ๋งค๊ฐ๋ณ์, ์ง์ญ๋ณ์)
์ผ๋ฐ์ ์ผ๋ก ๋์ ์ฃผ์ -> ๋ฎ์ ์ฃผ์๋ก ํ ๋น
'๊ฐ๋ฐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์คํฐ๋] 4-1. CPU ์ค์ผ์ค๋ง (0) | 2024.08.15 |
---|---|
[์คํฐ๋] 3-3. ์ค๋ ๋ (1) | 2024.08.15 |
[์คํฐ๋] 3-2. ํ๋ก์ธ์ค ์ํ์ ๊ณ์ธต ๊ตฌ์กฐ (0) | 2024.08.15 |
[์คํฐ๋] 2. ์ด์์ฒด์ ์ ํฐ ๊ทธ๋ฆผ (0) | 2024.08.15 |
[์คํฐ๋] 1. ์ด์์ฒด์ ๋? (0) | 2024.08.15 |