PCB๋?
ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก์ ํ๋ก์ธ์ค ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ํ๋์ ๋จ์์ด๋ค.
PCB ํ๋์๋ ํ๋ก์ธ์ค ์ ๋ณด(PID, PPID, Process Status, ... )๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
ํด๋น ๋ด์ฉ์ ์ธ์ฐ๊ณ ์์ ํ์๋ ์๋ค. ์ค์ ์์คํ ํ๋ก๊ทธ๋๋ฐ์ ํ๊ฒ ๋ ๋, ์ด ์ ๋ณด๋ฅผ ์ปจํธ๋กคํ๊ฒ ๋๋ค.
PCB๊ฐ ์ ํ์ํ ๊น?
๋ค์ค ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ์๊ฐํด๋ณด์. ์ค๊ฐ์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํด์ CPU๊ฐ ์ฒ๋ฆฌํ๊ณ ์๋ ํ๋ก์ธ์ค๋ฅผ ์ ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ๋ฐ์ํด์ผํ๋ค. ๊ทธ ์ด์ ๋ CPU Idle Time์ ์ค์ด๊ธฐ ์ํด์์ด๋ค.
์ด ๋, ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ interrupt๊ฐ ์ข ๋ฃ๋๋ฉด ๊ธฐ์กด์ ํ๋ก์ธ์ค๋ฅผ ์ด์ด์ ์ฒ๋ฆฌํด์ผํ๋ค.
์ฌ๊ธฐ์ ๊ธฐ์กด์ ํ๋ก์ธ์ค๋ก ์ ํํ๋ ๊ณผ์ ์ ์ปจํ ์คํธ ์ค์์นญ(Context Switching)์ด๋ผ๊ณ ํ๋ค.
์ปจํ ์คํธ๋ ํ์ฌ ์คํ์ค์ธ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๋ด์ฉ์ด๋ค. ์ ์ฌ์ค์ธ ๋ฉ๋ชจ๋ฆฌ์ ์์ ์ฃผ์, ์ฒ๋ฆฌ์ค์ธ CPU์ ๋ ์ง์คํฐ ๊ฐ(ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์) ๋ฑ์ ๋ด์ฉ์ ๋ด๊ณ ์๋ค.
ํ๋ก์ธ์ค์ ์ํ
์ปจํ ์คํธ ์ค์์นญ์ด ๋ฐ์ํ๋ ์์ ๊ณผ ๊ณผ์ ์ ์๋ ค๋ฉด ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์๊ณ ์์ด์ผ ํ๋ค.
1. ์ฐ๋ฆฌ๊ฐ exe ํ์ผ์ ๋๋ธํด๋ฆญํด์ ๋ชฉ์ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ๋, ์์ฑ ์ํ(New)๋ผ๊ณ ํ๋ค.
2. ๊ธฐ์กด์ ์ฒ๋ฆฌ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์์ํ ๊ณ ์ถ๊ฐ๋ก ์คํ๋ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์คํํ ํ๋ก์ธ์ค๋ฅผ Ready Queue์ ์ฝ์ ํ๋ค.์ด ๋, PCB ์๋ฃ๊ตฌ์กฐ๋ก ํ๋ก์ธ์ค ์ ๋ณด๊ฐ ์ ์ฅ๋์ด Ready Queue์ ์ฝ์ ๋๊ณ ๋๊ธฐ ์ํ(Ready)๋ผ๊ณ ํ๋ค.
3. ์ด์ ํ๋ก์ธ์ค ์ฒ๋ฆฌ๊ฐ ๋๋ฌ๊ฑฐ๋ Time Slice์ ์ํด Ready ์ํ์ธ PCB๋ฅผ ๊บผ๋ด์ด CPU์๊ฒ ์ฒ๋ฆฌ๋ฅผ ๋งก๊ธด๋ค. ์ด ๊ณผ์ ์ ์คํ ์ํ (Running) ์ด๋ผ๊ณ ํ๋ค. ์ด ๋, ์ฒ๋ฆฌ ์ค์ธ PCB์ ์๊ฐ ํ ๋น๋์ด ๋ค๋๋ฉด ํ์ฌ๊น์ง ์ฒ๋ฆฌํ CPU ์ํ (์ปจํ ์คํธ)๋ฅผ ๋ค์ PCB๋ก ์ ์ฅํ์ฌ Ready ์ํ๋ก ๋ณ๊ฒฝํ ๋ค ReadyQueue์ ์ฝ์ ํ๋ค.
4. 3๋ฒ ๊ณผ์ ์ค Interrupt๊ฐ ๋ฐ์ํ๋ค๋ฉด ํ๋ก์ธ์ค์ ์ํ๋ ๋ธ๋ก ์ํ(Blocked/Wait)๊ฐ ๋๋ค. Interrupt ์ฒ๋ฆฌ๊ฐ ๋๋๊ฒ ๋๋ฉด ๋ค์ Ready ์ํ๋ก ๋ฐ๋์ด 2๋ฒ ๊ณผ์ ์ผ๋ก ๋์๊ฐ๋๋ฐ ์ ํํ๋ System Call๊ณผ Interrupt๋ฅผ ์ฒ๋ฆฌํ๊ณ ์๋ค.
5. ํ๋ก์ธ์ค๋ ์์์ ์์ฑํ๋๋ฐ ๋ง์ฝ, ๋ถ๋ชจ ํ๋ก์ธ์ค๋ณด๋ค ์์ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์ข ๋ฃ๋์๋ค๋ฉด ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ ์์ ํ๋ก์ธ์ค์ ์ ๋ณด๋ฅผ ํ์ธํ๊ธฐ ์ ๊น์ง ์ข๋น ์ํ(Terminated/Zombie)๊ฐ ๋๋ค. ์ด ๋, ์ข๋น ํ๋ก์ธ์ค๋ ์์์ ๋ชจ๋ ๋ฐ๋ฉํ๊ณ PCB์ ์ข ๋ฃ์ฝ๋๋ฅผ ๋จ๊ธฐ๊ณ ์๋ค.
6. ๋ถ๋ชจ ํ๋ก์ธ์ค๊ฐ Zombie ์ํ์ธ ์์ ํ๋ก์ธ์ค ์ ๋ณด๋ฅผ ์ฝ์์ ๋, ์ข ๋ฃ ์ํ(Terminated/Out)๊ฐ ๋๋ค. ์ด ๋, PCB๋ ์๋ฒฝํ๊ฒ ์ ๊ฑฐ ๋์๋ค.
์ฆ, PCB๋ ์์ฑ ๋น์ ๋ง๋ค์ด์ง๊ณ ์ปจํ ์คํธ ์ค์์นญ์ 3๋ฒ๊ณผ์ ์์ ๋ฐ์ํ๊ฒ ๋๋ค.
ํ๋ก์ธ์ค ํ ์ด๋ธ
PCB ์ ๋ณด๋ ํ๋ก์ธ์ค ํ ์ด๋ธ์์ ํ์ธํ ์ ์๋๋ฐ windows์ ๊ฒฝ์ฐ cmd์์ tasklist๋ ์์ ๊ด๋ฆฌ์์์ ํ์ธํ ์ ์๋ค.
'CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
10. ์ค๋ ๋ (Thread) (0) | 2024.04.21 |
---|---|
9. ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ (1) | 2024.04.21 |
7. ํ๋ก์ธ์ค (Process) (0) | 2024.04.21 |
6. ์ปค๋ (Kernal) (0) | 2024.04.21 |
5. ์ด์์ฒด์ ์ ์ญํ (1) | 2024.04.21 |