Algorithm
์ปดํจํฐ ๊ตฌ์กฐ์ ์ด์์ฒด์
์ด์์ฒด์ - CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ ์
์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง
FCFS - First Come First Served
๋จ์ํ ์ค๋น ํ์ ์ฝ์ ๋ ์์๋๋ก ํ๋ก์ธ์ค๋ค์ ์ฒ๋ฆฌํ๋ ๋น์ ์ ํ ์ค์ผ์ค๋ง, ์ฆ CPU๋ฅผ ๋จผ์ ์์ฒญํ ํ๋ก์ธ์ค๋ถํฐ CPU๋ฅผ ํ ๋นํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์
๊ฐ์ฅ ๊ณต์ ํด ๋ณด์ด์ง๋ง, ํ๋ก์ธ์ค๋ค์ด ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋งค์ฐ ๊ธธ์ด์ง ์ ์๋ค.(ํธ์ ํจ๊ณผ)

ํ๋ก์ธ์ค C๋ ๊ณ ์ 2ms๋ฅผ ์คํํ๊ธฐ ์ํด 22ms๋ฅผ ๊ธฐ๋ค๋ ค์ผ๋ง ํ๋ค.
ํธ์ ํจ๊ณผ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด CPU ์ฌ์ฉ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ ๋์ค์ ์คํํ๊ณ , CPU ์ฌ์ฉ ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์คํํ๋ฉด ๋๋ค.
์ต๋จ ์์
์ฐ์ ์ค์ผ์ค๋ง
SJF - Shortest Job First
์ค๋น ํ์ ์ฝ์ ๋ ํ๋ก์ธ์ค๋ค ์ค CPU ์ด์ฉ ์๊ฐ์ ๊ธธ์ด๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์
๊ธฐ๋ณธ์ ์ผ๋ก ๋น์ ์ ํ ์ค์ผ์ค๋ง์ผ๋ก ๋ถ๋ฅ๋์ง๋ง, ์ ์ ํ์ผ๋ก ๊ตฌํ๋ ์๋ ์๋๋ฐ ์ด๋ฅผ ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง(SRT) ์ด๋ผ๊ณ ํ๋ค.

๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง
์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง์ ํ์ ์ฌ๋ผ์ด์ค๋ผ๋ ๊ฐ๋ ์ด ๋ํด์ง ์ค์ผ์ค๋ง ๋ฐฉ์
ํ์ ์ฌ๋ผ์ด์ค๋ ๊ฐ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์๋ ์ ํด์ง ์๊ฐ์ ์๋ฏธํ๋ค.
์ฆ, ์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ์ ์๊ฐ ๋์ ๋์๊ฐ๋ฉฐ CPU๋ฅผ ์ด์ฉํ๋ ์ ์ ํ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
ํ์ ์ฝ์ ๋ ํ๋ก์ธ์ค๋ค์ ์ฝ์ ๋ ์์๋๋ก CPU๋ฅผ ์ด์ฉํ๋ ์ ํด์ง ์๊ฐ๋งํผ๋ง CPU๋ฅผ ์ด์ฉํ๊ณ , ์ ํด์ง ์๊ฐ์ ๋ชจ๋ ์ฌ์ฉํด๋ ์์ง ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋์ง ์์๋ค๋ฉด ๋ค์ ํ์ ๋งจ ๋ค์ ์ฝ์ ๋๋ค. ์ด๋ ๋ฌธ๋งฅ ๊ตํ์ด ๋ฐ์ํ๋ค.

๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง์์๋ ํ์ ์ฌ๋ผ์ด์ค ํฌ๊ธฐ๊ฐ ๋งค์ฐ ์ค์ํ๋ค.
ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋๋ฌด ํฌ๋ฉด ์ ์ ์ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง๊ณผ ๋ค๋ฅผ ๋ฐ ์์ด ํธ์ ํจ๊ณผ๊ฐ ์๊ธธ ์ฌ์ง๊ฐ ์๋ค.
๋ฐ๋๋ก ํ์ ์ฌ๋ผ์ด์ค๊ฐ ๋๋ฌด ์์ผ๋ฉด ๋ฌธ๋งฅ ๊ตํ์ด ๋ฐ์ํ๋ ๋น์ฉ์ด ์ปค CPU๋ ํ๋ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์ผ๋ณด๋ค ํ๋ก์ธ์ค๋ฅผ ์ ํํ๋ ๋ฐ ์๊ฐ์ ๋ ์ธ ๊ฒ์ด๋ค.
์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง
SRT - Shortest Remaining Time
์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง(SJF)๊ณผ ๋ผ์ด๋ ๋ก๋น ์ค์ผ์ค๋ง(RR)์ ํฉ์น ์ค์ผ์ค๋ง ๋ฐฉ์
์ ํด์ง ํ์ ์ฌ๋ผ์ด์ค๋งํผ CPU๋ฅผ ์ด์ฉํ๋, CPU๋ฅผ ์ฌ์ฉํ ๋ค์ ํ๋ก์ธ์ค๋ก๋ ๋จ์์๋ ์์ ์๊ฐ์ด ๊ฐ์ฅ ์ ์ ํ๋ก์ธ์ค๊ฐ ์ ํ๋๋ค.
์ฐ์ ์์ ์ค์ผ์ค๋ง
ํ๋ก์ธ์ค๋ค์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๊ณ , ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ฐ์ ์์๊ฐ ๊ฐ๋ค๋ฉด ์ ์ ์ ์ฒ๋ฆฌ
์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง(SJF), ์ต์ ์์ฌ ์๊ฐ ์ฐ์ ์ค์ผ์ค๋ง(SRT)์ ์ฐ์ ์์ ์ค์ผ์ค๋ง์ ์ผ์ข ์ผ๋ก ๋ณผ ์ ์๋ค.
SJF๋ ์์ ์๊ฐ์ด ์งง์, SRT๋ ๋จ์ ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค์ ๋์ ์ฐ์ ์์๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ์์ด๋ค.
๊ธฐ์(starvation) ํ์
์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ค์ ์คํ์ด ๊ณ์ํด์ ์ฐ๊ธฐ๋๋ ํ์

๊ธฐ์ ํ์์ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ํ์ ์ธ ๊ธฐ๋ฒ์ผ๋ก ์์ด์ง์ด ์๋ค.
์ค๋ซ๋์ ๋๊ธฐํ ํ๋ก์ธ์ค์ ์ฐ์ ์์๋ฅผ ์ ์ฐจ ๋์ด๋ ๋ฐฉ์์ด๋ค.
์์ด์ง ๊ธฐ๋ฒ์ ์ ์ฉํ๋ฉด ์ฐ์ ์์๊ฐ ๋ฎ๋๋ผ๋ ์ธ์ ๊ฐ๋ ๋์ ์ฐ์ ์์๊ฐ ๋ ์ ์์ด ์ฐ์ ์์๊ฐ ๋ฎ์ ๋ง๋ฅ ๊ธฐ๋ค๋ฆฌ๊ธฐ๋ง ํ๋ ํ๋ก์ธ์ค๊ฐ ์์ด์ง๋ค.
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง
์ฐ์ ์์ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ๋ก, ์ฐ์ ์์๋ณ๋ก ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์
์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ์ ์๋ ํ๋ก์ธ์ค๋ค์ ๋จผ์ ์ฒ๋ฆฌํ๊ณ , ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๊ฐ ๋น์ด์์ผ๋ฉด ๊ทธ ๋ค์ ์ฐ์ ์์ ํ์ ์๋ ํ๋ก์ธ์ค๋ค์ ์ฒ๋ฆฌํ๋ค.

์ด๋ ๊ฒ ํ๋ฅผ ์ฌ๋ฌ ๊ฐ ๋๋ฉด ํ๋ก์ธ์ค ์ ํ๋ณ๋ก ์ฐ์ ์์๋ฅผ ๊ตฌ๋ถํ์ฌ ์คํํ๋ ๊ฒ์ด ํธ๋ฆฌํด์ง๋ค.
์ด๋ค ํ์๋ ์ฐ์ ์์๊ฐ ๋น๊ต์ ๋์ I/O ๋ฐ์ด๋ ํ๋ก์ธ์ค๊ฐ, ์ด๋ค ํ์๋ ์ฐ์ ์์๊ฐ ๋น๊ต์ ๋ฎ์ CPU ๋ฐ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ฝ์ ๋ ์ ์๋ค.
๋ํ ํ๋ณ๋ก ํ์ ์ฌ๋ผ์ด์ค๋ฅผ ์ฌ๋ฌ ๊ฐ ์ง์ ํ ์๋ ์๊ณ , ํ๋ง๋ค ๋ค๋ฅธ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์๋ ์๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์ ๋ฐ์ ๋ ํํ
๋ค๋จ๊ณ ํ ์ค์ผ์ค๋ง์์๋ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๋๋ฐ, ์ด๋ ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ ๊ณ์ ์ฐ๊ธฐ๋ ์ฌ์ง๊ฐ ์๋ค. ์ฆ, ๊ธฐ์ ํ์์ด ๋ฐ์ํ ์ ์๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๋ค.
์๋ก ์ค๋น ์ํ๊ฐ ๋ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ์ฐ์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ํ์ ์ฝ์ ๋๊ณ ์ผ์ ์๊ฐ(ํ์ ์ฌ๋ผ์ด์ค)๋์ ์คํ๋๋ค.

๋ง์ฝ ํ๋ก์ธ์ค๊ฐ ํด๋น ํ์์ ์คํ์ด ๋๋์ง ์๋๋ค๋ฉด ๋ค์ ์ฐ์ ์์ ํ์ ์ฝ์ ๋์ด ์คํ๋๋ค. ๋ ํด๋น ํ์์ ๋๋์ง ์๋๋ค๋ฉด ๋ค์ ์ฐ์ ์์ ํ์ ์ฝ์ ๋๋ค.
๊ฒฐ๊ตญ CPU๋ฅผ ์ค๋ ์ฌ์ฉํด์ผ ํ๋ ํ๋ก์ธ์ค๋ ์ ์ฐจ ์ฐ์ ์์๊ฐ ๋ฎ์์ง๋ค.

CPU ๋ฐ์ด๋ ํ๋ก์ธ์ค๋ ์์ฐ์ค๋ ์ฐ์ ์์๊ฐ ๋ฎ์์ง๊ณ , I/O ๋ฐ์ด๋ ํ๋ก์ธ์ค๋ ์์ฐ์ค๋ ์ฐ์ ์์๊ฐ ๋์ ํ์์ ์คํ์ด ๋๋๋ค.
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์์๋ ํ๋ก์ธ์ค๋ค์ด ํ ์ฌ์ด๋ฅผ ์ด๋ํ ์ ์๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ๋ฎ์ ์ฐ์ ์์ ํ์์ ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด ์ ์ฐจ ์ฐ์ ์์๊ฐ ๋์ ํ๋ก ์ด๋์ํค๋ ์์ด์ง ๊ธฐ๋ฒ์ ์ ์ฉํ์ฌ ๊ธฐ์ ํ์์ ์๋ฐฉํ๋ค.

์ฆ, ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ ์ค์ผ์ค๋ง์ ์ด๋ค ํ๋ก์ธ์ค์ CPU ์ด์ฉ ์๊ฐ์ด ๊ธธ๋ฉด ๋ฎ์ ์ฐ์ ์์ ํ๋ก ์ด๋์ํค๊ณ , ์ด๋ค ํ๋ก์ธ์ค๊ฐ ๋ฎ์ ์ฐ์ ์์ ํ์์ ๋๋ฌด ์ค๋ ๊ธฐ๋ค๋ฆฐ๋ค๋ฉด ๋์ ์ฐ์ ์์ ํ๋ก ์ด๋์ํฌ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.

์ด์ โฉ๏ธ - ์ด์์ฒด์ (CPU ์ค์ผ์ค๋ง) - CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
๋ค์ โช๏ธ - ์ด์์ฒด์ (ํ๋ก์ธ์ค ๋๊ธฐํ) - ๋๊ธฐํ๋
Last updated