Process Control Block
๐จ ์ด์์ฒด์ ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์ ์ดํ๊ธฐ ์ํด ์ ๋ณด๋ฅผ ์ ์ฅํด ๋๋ ๊ณณ, ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ์ฒด์ด๋ค.
๐จ ํ๋ก์ธ์ค ์ํ ๊ด๋ฆฌ์ ๋ฌธ๋งฅ ๊ตํ์ ์ํด ํ์ํ๋ค.
๐จ PCB๋ ํ๋ก์ธ์ค ์์ฑ ์ ๋ง๋ค์ด์ง๋ฉฐ, ์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ง๋๋ค.
๐ ํฌ์ธํฐ
ํ๋ก์ธ์ค์ ํ์ฌ ์์น๋ฅผ ์ ์ฅํ๋ ํฌ์ธํฐ์ ์ ๋ณด์ด๋ค.
ex) ๋ถ๋ชจํ๋ก์ธ์ค์ ๋ํ ํฌ์ธํฐ, ์์ ํ๋ก์ธ์ค์ ๋ํ ํฌ์ธํฐ, ํ๋ก์ธ์ค๊ฐ ์์นํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์์ ๋ํ ํฌ์ธํฐ, ํ ๋น๋ ์์์ ๋ํ ํฌ์ธํฐ ์ ๋ณด ๋ฑ.
๐ ํ๋ก์ธ์ค ์ํ
์์ฑ(create), ์ค๋น(ready), ์คํ(running), ๋๊ธฐ(waiting),
์๋ฃ(terminated) ์ํ๊ฐ ์๋ค.
ํ๋ก์ธ์ค์ ๊ฐ ์ํ๋ฅผ ์ ์ฅ.
๐ ํ๋ก์ธ์ค ๋ฒํธ
๋ชจ๋ ํ๋ก์ธ์ค์๋ ํ๋ก์ธ์ค ์๋ณ์๋ฅผ ์ ์ฅํ๋ ๊ณ ์ ํID๊ฐ ํ ๋น๋๋ค.
๐ ํ๋ก๊ทธ๋จ ์นด์ดํฐ
ํ๋ก์ธ์ค๋ฅผ ์ํด ์คํ๋ ๋ค์ ๋ช
๋ น์ด์ ์ฃผ์๋ฅผ ํฌํจํ๋ ์นด์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
๐ ๋ ์ง์คํฐ
๋์ฐ๊ธฐ, ๋ฒ ์ด์ค ,๋ ์ง์คํฐ ๋ฐ ๋ฒ์ฉ ๋ ์ง์คํฐ๋ฅผ ํฌํจํ๋ CPU ๋ ์ง์คํฐ์ ์๋ ์ ๋ณด์ด๋ค.
๐ ๋ฉ๋ชจ๋ฆฌ ์ ํ
์ด์ ์ฒด์ ์์ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์์คํ
์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋๋ค.
ํด๋น ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ๋ฑ
๐ ์ด๋ฆฐ ํ์ผ ๋ชฉ๋ก
์ด ์ ๋ณด์๋ ํ๋ก์ธ์ค๋ฅผ ์ํด ์ด๋ฆฐ ํ์ผ ๋ชฉ๋ก์ด ํฌํจ๋๋ค.
์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ณ ์์ ๋ ๊ธฐ์กด์ ์คํ๋๋ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํํ๋ ๊ฒ. ์ฆ, CPU์ ์คํํ ํ๋ก์ธ์ค๋ฅผ ๊ต์ฒดํ๋ ๊ธฐ์ ์ด๋ค.
- ํ์ฌ ํ๋ก์ธ์ค์์ ์ํ์ค์ธ ๋ช ๋ น์ด๊น์ง ๋ง์น ํ ํด๋น ํ๋ก์ธ์ค๋ ๋์์ ๋ฉ์ถ๋ค.
- ํด๋น ํ๋ก์ธ์ค์ ๋ ์ง์คํฐ ๊ฐ๋ค์ด PCB์ ์ ์ฅ๋๊ณ PCB๋ ๋ค๋ฅธ ๊ณณ์ ์ ์ฅ๋๋ค.
- ์๋ก ์คํ๋ ํ๋ก์ธ์ค์ PCB๋ฅผ ๊ฐ์ ธ์ค๊ณ PC๊ฐ๊ณผ ๋ ์ง์คํฐ ๊ฐ๋ค์ ๋ถ๋ฌ์จ ํ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ค.
์ปจํ ์คํธ ์ค์์นญ์ด ์ผ์ด๋๋ ์๊ธฐ?
I/O INTERRUPT
CPU ์ฌ์ฉ์๊ฐ ๋ง๋ฃ
์์ ํ๋ก์ธ์ค FORK
์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ๊ธฐ๋ค๋ฆด ๋ ๋ฑ
โญ์ฅ์
์ปจํ ์คํธ ์ค์์นญ์ ํตํด ๋ฉํฐ ํ๋ก์ธ์ฑ, ๋ฉํฐ ์ค๋ ๋ฉ ์ด์์ด ๊ฐ๋ฅํ๋ค.
โ๋จ์
์ปจํ
์คํธ ์ค์์นญ์ด ๋๋ฌด ์ฆ์ผ๋ฉด ์ค๋ฒํค๋๊ฐ ๋ฐ์, ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค.
์์
์ CPU๊ฐ ์๋ฌด๋ฐ ์ผ๋ ํ ์ ์์ผ๋ฏ๋ก