PCB & Context Switching
๐กํ๋ก์ธ์ค ๊ด๋ฆฌ
๊ตฌ๋์ค์ธ ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ ๊ฐ์ผ ๋, CPU ์ค์ผ์ค๋ง์ ํตํด ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ
→ ๊ฐ๊ธฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ๊ฐ ํ๋ก์ธ์ค์ ํน์ง์ ๊ฐ์ง Process Metadata ํ์ฉ
๐ก๋ฉํ๋ฐ์ดํฐ ๊ตฌ์ฑ ์ ๋ณด
1๏ธโฃ ํ๋ก์ธ์ค ๊ณ ์ ID(PID)
2๏ธโฃ ํ๋ก์ธ์ค ์ํ
3๏ธโฃ ํ๋ก์ธ์ค ์ฐ์ ์์
4๏ธโฃ Program Counter(PC)
5๏ธโฃ CPU ๋ ์ง์คํฐ
6๏ธโฃ Owner
7๏ธโฃ Memory Limit …
๐ PCB(Process Control Block)
โ ํ๋ก์ธ์ค๋ค์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ
โ 1๊ฐ์ PCB = 1๊ฐ์ ํ๋ก์ธ์ค ์ ๋ณด
โ ํ๋ก๊ทธ๋จ ์คํ(๋ฉ๋ชจ๋ฆฌ ์ ์ฌ)
→ ํ๋ก์ธ์ค ์์ฑ & ํ๋ก์ธ์ค ์ฃผ์ ๊ณต๊ฐ์ ์ฝ๋, ๋ฐ์ดํฐ, ์คํ ๊ณต๊ฐ ์์ฑ
→ ํด๋น ํ๋ก์ธ์ค์ ๋ฉํ๋ฐ์ดํฐ PCB์ ์ ์ฅ
โ Linked List ํํ
• ์ฃผ์๊ฐ์ผ๋ก ์ฐ๊ฒฐ๋ ํํ(์ฝ์ & ์ญ์ ์ฉ์ด)
• PCB List Head์ PCB๋ค์ด ์์ฑ๋ ๋๋ง๋ค ์ด์ด๋ถ์.
๐ค ์ด๋ค ํ๋ก์ธ์ค๋ก๋ถํฐ ์ธํฐ๋ฝํธ ๋ฐ์, ํ์ฌ ํ๋ก์ธ์ค๊ฐ ์ ์ ๋๊ธฐ ์ํ๊ฐ ๋๊ณ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์๋ ํ๋ก์ธ์ค๋ฅผ ์คํ ์ํ๋ก ๋ฐ๊ฟ ๋, ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค์ ์ ๋ณด๋?
โก๏ธ ๋๊ธฐ ์ํ๋ก ๋ฐ๋๊ธฐ ์ง์ ์ ์คํ ์ ๋ณด๋ฅผ ๊ณ ์ค๋ํ ์ ์ฅํด๋์ด ๋ค์ ์คํ ์ํ๋ก ๋์์์ ๋ ์ง์ ์ ์คํ ์ ๋ณด์ ์ด์ด์ ํ๋ก์ธ์ค ์คํ ํ๊ธฐ ์ํด PCB ํ์
๐ก ํ๋ก์ธ์ค A → B ๊ต์ฒด ๊ณผ์
1๏ธโฃ B ์์ ์ธํฐ๋ฝํธ ๋ฐ์
2๏ธโฃ A ์ ํ์ฌ ์คํ ์ ๋ณด๋ฅผ PCB ์ ์ ์ฅ
3๏ธโฃ A ๋ฅผ ๋๊ธฐ ์ํ๋ก ๋๋ฆฌ๊ณ B ๋ฅผ ์คํ ์ํ๋ก ์ ํ
4๏ธโฃ B ์ PCB ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ ์ฌ๊ฐ
5๏ธโฃ B ๊ฐ ์ํ๋ ๋์์ ๋ชจ๋ ์ํํจ
6๏ธโฃ B ์ ํ์ฌ ์คํ ์ ๋ณด๋ฅผ PCB ์ ์ ์ฅ
7๏ธโฃ B ๋ฅผ ๋๊ธฐ ์ํ๋ก ๋๋ฆฌ๊ณ A ๋ฅผ ์คํ ์ํ๋ก ์ ํ
8๏ธโฃ A ์ PCB ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์คํ ์ฌ๊ฐ
๐ Context Switching
์คํ์ค์ธ ํ๋ก์ธ์ค์ ์ํ๋ฅผ PCB ์ ๋ณด๊ดํ๊ณ , ์๋ก ๋ค์ด์ค๋ ํ๋ก์ธ์ค์ PCB ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ๋ ์ง์คํฐ์ ๊ฐ์ ์ ์ฌํ๋ ๊ณผ์
โ ์ธํฐ๋ฝํธ ๋ฐ์, ํ์ฌ ํ๋ก์ธ์ค์ ์ ์ ํ์ฉ ๊ธฐ๊ฐ์ ๋ชจ๋ ์๋ชจํ ์ํฉ, ์ ์ถ๋ ฅ์ ์ํด ๋๊ธฐํ๋ ๊ฒฝ์ฐ์ ๋ฐ์
โ Context Switching ํ๋ ๋์ CPU ๋ค๋ฅธ ์์ ์คํ ๋ถ๊ฐ
→ ์ฐ๋ ๋ ๋ฐ ํ๋ก์ธ์ค์ ๊ฐ์๊ฐ ๋ง์์ ธ Context Switching์ด ๋น๋ฒํ๊ฒ ์ผ์ด๋๋ฉด ์ฑ๋ฅ ์ ํ
= Context Switching Overhead
๐ ์ฐธ๊ณ ๋ธ๋ก๊ทธ
https://velog.io/@haero_kim/PCB-%EC%99%80-Context-Switching-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0
PCB ์ Context Switching ์์๋ณด๊ธฐ
์๋ง์ ํ๋ก์ธ์ค๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํ PCB
velog.io
'CS > Operating System' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS : Operating System] CPU ์ค์ผ์ค๋ง (0) | 2024.01.26 |
---|---|
[CS : Operating System] IPC(Inter Process Communication) (0) | 2024.01.23 |
[CS : Operating System] ์์คํ ์ฝ(System Call) (0) | 2024.01.20 |
[CS : Operating System] ์ธํฐ๋ฝํธ(Interrupt) (0) | 2024.01.19 |
[CS : Operating System] ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ (0) | 2024.01.17 |