ํฐ์คํ ๋ฆฌ ๋ทฐ
์ด์์ฒด์ : ํ๋ก์ธ์ค ๊ด๋ฆฌ
dirmathfl 2020. 6. 18. 22:53ํ๋ก์ธ์ค
๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์คํ์ค์ ์๋ ํ๋ก๊ทธ๋จ (program in execution)์ ๋งํ๋ค.
ํ๋ก๊ทธ๋จ์ ์ผ๋ฐ์ ์ผ๋ก ์ ์ฅ์ฅ์น์ ์ ์ฅ๋์ด ์๋ฌด์ผ๋ ํ์ง ์๋ ์ํ์ด๋ค.
ํ๋ก์ธ์ค๋ฅผ job, task ๋ฑ์ผ๋ก ๋งํ๊ธฐ๋ ํ๋ค.
ํ๋ก์ธ์ค ์ํ
-
New : ์ ์ฅ์ฅ์น๋ก ๋ถํฐ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ ๊ฒฝ์ฐ์ด๋ค.
-
Ready : New ์ํ์์ ์ด๊ธฐํ ๊ณผ์ ํ ์คํํ ์ค๋น๊ฐ ์๋ฃ๋๊ฑฐ๋, Running ์ํ์์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ์ด๋ค.
-
Running : ์ค์ผ์ค๋ฌ๋ฅผ ํตํด ๋ค์์ ์คํ๋ ํ๋ก์ธ์ค๋ก ์ ํ๋ ๊ฒฝ์ฐ Running ์ํ๋ก ๋ฐ๋์ด ์์ ์ ์ํํ๋ค.
-
Wating : I/O์ ์ด๋ฒคํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ์ง์ฐ์๊ฐ์ด ํฌ๋ฏ๋ก ์ด์ ๊ฐ์ ๊ฒฝ์ฐ Waiting ์ํ ํ ๋ค์ Ready๋ก ๊ฐ๋ค.
-
Terminated : ํ๋ก์ธ์ค๋ฅผ ์์ ํ ์ข ๋ฃ์ํจ๋ค.
PCB (Process Control Block)
ํ๋ก์ธ์ค ์ํ ์ ๋ณด์ ๊ฐ์ด ํ๋ก์ธ์ค์ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ณต๊ฐ์ด ํ์ํ๋ค. ์ด๋ฅผ PCB๋ผ๊ณ ํ๋ฉฐ, TCB(Task Control Block)์ด๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค. PCB๋ ๊ทธ๋ฆผ 2์ ๊ฐ์ด ํ๋ก์ธ์ค์ ์ํ, ํ๋ก์ธ์ค ๋ฒํธ(PID), PC, registers, MMU ๋ฑ ๊ด๋ จ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค.
๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ
๋ฉํฐํ๋ก๊ทธ๋๋ฐ์ ๋จ์ผ ํ๋ก์ธ์(CPU) ํ๊ฒฝ์์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋งํ๋ค. (์ค์ ๋ก ๋์์ ์ฒ๋ฆฌ๋์ง๋ ์์ง๋ง, ์ฌ์ฉ์๊ฐ ๋๋ผ๊ธฐ์ ๋์์ ์คํ๋๋ ๊ฒ ์ฒ๋ผ ๋ณด์ธ๋ค.) ๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ์ ์ดํดํ๊ธฐ ์ํ ๊ฐ๋ ๋ค์ ๊ฐ๋ตํ ์๊ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
Degree of multiprograming
ํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์๋ ํ๋ก์ธ์ค์ ์๋ฅผ ์๋ฏธํ๋ค.
I/O bound process VS CPU bound porcess
ํ๋ก์ธ์ค์ ์คํ ํน์ฑ์ ๋ฐ๋ผ I/O bound์ CPU bound ํ๋ก์ธ์ค๋ก ๋๋๋ค.
I/O bound Process์ ๊ฒฝ์ฐ ์ ์ถ๋ ฅ(I/O) ์์ ์ด ์ฐ์ธํ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ฉฐ, CPU bound process์ ๊ฒฝ์ฐ CPU ์์ ์ด ์ฐ์ธํ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ค.
Medium-term Scheduelr
ํด๋น ์ค์ผ์ค๋ฌ๋ short-term ๋ณด๋ค๋ ๋ฐ์ ๋น๋๊ฐ ๋ฎ์ง๋ง, long-term ๋ณด๋ค๋ ๋ฐ์ ๋น๋๊ฐ ๋์ ์ค์ผ์ค๋ฌ์ด๋ค.
์ด ์ค์ผ์ค๋ฌ์ ์ญํ ์ ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ๋ก์ธ์ค๋ค์ ์ํํ์ฌ, ์ ์ฅ์ฅ์น๋ก ์ฎ๊ธธ ํ๋ก์ธ์ค๋ฅผ ์ฐพ์ ์ฎ๊ธด๋ค. ์ด์ ๊ฐ์ ๊ณผ์ ์ด ํ์ํ ์ด์ ๋ ์ฅ๊ธฐ๊ฐ ์ฌ์ฉํ์ง ์๋ ํ๋ก์ธ์ค์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ ์งํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ค. ํด๋น ๊ณผ์ ์ Swap out์ด๋ผ๊ณ ํ๋ค. Swap out๋ ํ๋ก์ธ์ค์ ์คํ์ด ํ์ํ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ค์ ํ ๋นํ์ฌ ์คํํ๊ฒ ๋๋ค. ์ด๋ฅผ Swap in์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด์ ๊ฐ์ด ์ ์ฅ์ฅ์น๋ฅผ ํตํด ๋ถ์กฑํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด Swapping ๊ณผ์ ์ ์คํํ๋ค.
Context Switching
CPU Scheduelr๋ฅผ ํตํด ๋ค์์ ์คํํ ํ๋ก์ธ์ค๊ฐ ์ ํ๋๋ฉด ํ์ฌ ํ๋ก์ธ์ค์ ์คํ ๊ณผ์ ์ ์ ์ฅํ๊ณ , ๋ค์์ ์คํ๋ ํ๋ก์ธ์ค๋ฅผ ์ค๋นํ๋ ์ผ๋ จ์ ๊ณผ์ ์ Context Switching์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
'๐๏ธโโ๏ธ ๊ธฐ๋ฐ ๋ค์ง๊ธฐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ด์์ฒด์ : ํ๋ก์ธ์ค ๋๊ธฐํ - ์ธ๋งํฌ์ด (0) | 2020.06.19 |
---|---|
์ด์์ฒด์ : ํ๋ก์ธ์ค์ ์ฐ๋ ๋ (0) | 2020.06.19 |
์ด์์ฒด์ : CPU ์ค์ผ์ค๋ง (0) | 2020.06.19 |
์ด์์ฒด์ : ์ด์ค๋ชจ๋ ๋ฐ ํ๋์จ์ด ๋ณดํธ (0) | 2020.06.18 |
์ด์์ฒด์ : ์ ์์ ์ญํ (0) | 2020.06.18 |