ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉด ์ด๋ค ํ๋ก๊ทธ๋จ์ด๋ ๊ฐ์ ๋ค์๊ณผ ๊ฐ์ Path๊ฐ ์งํ๋๋ค.
load store, add store, read from file : CPU์์ instruction์ ์คํํ๋ ๊ธฐ๊ณ์ด์ด๋ค.
-> Running์ ํ๋ค๋ ์๋ฏธ
-> ์ค๊ฐ์ ์ค๋ ๊ฑธ๋ฆฌ๋ ์์
ํ์ผ์์ ์ด๋ค ๋ด์ฉ์ ์ฝ์ด์จ๋ค๊ฑฐ๋ ์ด๋ฐ ๋ถ๋ถ์ด ํ๋ก๊ทธ๋จ์์ ํฌํจ์ด ๋๋ค.
Wait for I/O : CPU๋ฅผ ๋๊ณ I/O๋ฅผ ํ๊ณ ์๋๋ค.
-> I/O ์์
์ด ๋๋๋ฉด ready์ํ๋ก ๋์์์ CPU๋ฅผ ์ป์ด์์ instruction ์คํ
CPU๋ฅผ ๋ง์ด ์ฌ์ฉํด์ผํ๋ ํ๋ก๊ทธ๋จ๋ ์์ ๊ฒ์ด๊ณ I/O๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ํ๋ก๊ทธ๋จ๋ ์กด์ฌ ํ ๊ฒ์ด๋ค. ์ด์จ๋ ํ๋ก๊ทธ๋จ์ Path๋ CPU๋ฅผ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๋จ๊ณ๊ฑฐ๋ I/O๋ฅผ ์ฌ์ฉํ๋ ๋จ๊ณ๋ก ๋๋๋ค.
CPU๋ฅผ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ๋ ๋จ๊ณ๋ฅผ CPU burst๋ผ๊ณ ๋ถ๋ฅธ๋ค.
I/O๋ฅผ ์คํํ๊ณ ์๋ ๋จ๊ณ๋ฅผ I/O burst๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ด๋ค ํ๋ก๊ทธ๋จ์ด๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ค๋ ๊ฒ์ CPU burst์ I/O burst๊ฐ ๋ฐ๋ณตํ๋ฉฐ ์คํ์ด ๋๋ ๊ฒ์ด๋ค.
๋จ, ํ๋ก๊ทธ๋จ์ ์ข ๋ฅ์ ๋ฐ๋ผ์ CPU burst์ I/O burst๊ฐ ๊ต์ฅํ ๋น๋ฒํ๊ฒ ์๋ ํ๋ก๊ทธ๋จ์ด ์๊ณ CPU burst๊ฐ ์ง๋ํ ๋์ค๋ค๊ฐ I/O burst๊ฐ ํ ๋ฒ ๋์ค๋ ํ๋ก๊ทธ๋จ์ด ์กด์ฌ ํ ์ ์๋ค๋ ๊ฒ์ด๋ค.
์ฃผ๋ก ์ฌ๋์ด ์ธํฐ๋ ์
์ ํ๋ ํ๋ก๊ทธ๋จ์ด CPU, I/O burst๊ฐ ๋ฐ๋ณต๋๋ ํ๋ก๊ทธ๋จ์ด๋ค.
-> ํ๋ฉด์ ์ถ๋ ฅํด์ฃผ๊ณ , ํค๋ณด๋์์ ์
๋ ฅ๋ฐ๊ณ ๋ฑ.
๊ณผํ ๊ณ์ฐ์ฉ ํ๋ก๊ทธ๋จ 1000 x 1000 ํ๋ ฌ ํ๋ก๊ทธ๋จ๋ฑ์ CPU burst๊ฐ ์ค๋ ์ฌ์ฉ๋๋ค.
CPU burst์ time์ ๊ทธ๋ํ๋ก ์ฐ์ด๋ณธ ๊ฒ์ด๋ค.
CPU ์ฌ์ฉ๋์ด ์ ๊ณ I/O ์ฌ์ฉ๋์ด ๋ง์ ํ๋ก๊ทธ๋จ์ I/O bound job์ด๋ผ๊ณ ํ๋ค. (= CPU ์ฌ์ฉ๋์ด ์งง์ ์๊ฐ์ ๋น๋ฒํ ๊ตฌ๊ฐ์กด์ฌ)
๋ฐ๋์ธ ๊ฒฝ์ฐ CPU bound job์ด๋ผ๊ณ ํจ.
์ปดํจํฐ ์์๋ ๋๊ฐ์ ์ข
๋ฅ์ ํ๋ก๊ทธ๋จ๋ง ์กด์ฌํ๋ ๊ฒ์ด ์๋๋ผ CPU bound job์ด๋ I/O bound job์ด ๋ง๋ค.
-> ๋ฐ๋ผ์ CPU Scheduling์ด ํ์ํ๋ค.
๋ค์ ๊ทธ๋ํ๋ I/O bound job์ด CPU๋ฅผ ์งง๊ฒ ์ฐ๋๋ฐ ๋ง์ด ์ฌ์ฉํ๋ ๊ฒ์ด๊ณ CPU bound job์ ๊ธธ๊ฒ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ํด์ํ๋ ๊ฒ์ด ํ๋นํ๋ค.
job์ ์ข ๋ฅ๊ฐ ์์ฌ์๋ค๋ผ๋ ๊ฒ์ ๋ณด์ฌ์ค
I/O๋ Interactive job์ด๋ค. ๋ฐ๋ผ์ ์ฌ์ฉ์์ ์ํต์ ์์ฃผ ํด์ผํ๋๋ฐ CPU bound job์ด CPU๋ฅผ ์ค๋ ์ก๊ณ ์์ผ๋ฉด ์ฌ์ฉ์์ ์ํต์ด ๋ฆ์ด์ง๋ค.
-> CPU Scheduler๋ ์ฌ์ฉ์์์ ์ํต์ ์ค์ฌ์ผ๋ก ์ค์ผ์ค๋ง ํด์ผํ๋ค.
๋๊ตฌํํ
์ฐ์ ์ผ๋ก ์ค ๊ฒ์ธ๊ฐ?, ์ผ๋งํผ ์๊ฐ์ ์ฃผ๊ณ ๋บ์๊ฒ์ด๋?
-> ์ค์ผ์ค๋ง์ ๋ํ์ ์ธ ๊ณ ๋ ค์ฌํญ
CPU Scheduler๋ ์ด์์ฒด์ ์์์ CPU ์ค์ผ์ค๋งํ๋ ์ฝ๋๊ฐ ์กด์ฌํ๋ค. -> CPU๋ฅผ ๋๊ตฌํํ ์ค์ง ๊ฒฐ์ ํ๋ ์ญํ
Dispatcher ๋ํ ์ด์์ฒด์ ๋ด์ ์กด์ฌํ๋ ํน์ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋์ด๋ค.
-> CPU์ ์ด๊ถ์ ์ค์ ๋ก ๋๊ฒจ์ฃผ๋ ์ญํ
Timer์ ์๊ฐ์ด ๋จ์๋ค๋ฉด ๋ณดํต ์ด์ ์ ์คํ๋์๋ interrupt๋นํ ํ๋ก์ธ์ค์๊ฒ CPU์ ์ด๊ถ์ด ๋์ด๊ฐ๋๋ฐ Priority์ ์ํด์ interruptํ ํ๋ก์ธ์ค๋ก ๋์ด ๊ฐ ์ ์๋ค.
[์ถ์ฒ] ๋ฐํจ๊ฒฝ ๊ต์๋ ๊ฐ์