1. ์ด์์ฒด์ ์ ์ญํ
- CPU ์ค์ผ์ค๋ง & ํ๋ก์ธ์ค ๊ด๋ฆฌ
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ๋์คํฌ ํ์ผ ๊ด๋ฆฌ
- I/O ๋๋ฐ์ด์ค ๊ด๋ฆฌ
* ํ๋ก์ธ์ค๋ ?
์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ ์๋ฏธํ๋ค. ํ๋๋์คํฌ์ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด, ์คํ์ ์ํด์ ๋ฉ๋ชจ๋ฆฌ ํ ๋น์ด ์ด๋ฃจ์ด์ง๊ณ , ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ผ๋ก ๋ฐ์ด๋๋ฆฌ ์ฝ๋๊ฐ ์ฌ๋ผ๊ฐ๊ฒ ๋๋ค. ์ด ์๊ฐ๋ถํฐ ํ๋ก์ธ์ค๋ผ ๋ถ๋ฆฐ๋ค.
์ด์์ฒด์ ์ ๋ชฉ์
์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ฌ์ฉ์๊ฐ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๊ธฐ ์ํจ
2. CPU ์ค์ผ์ค๋ง
CPU ์ค์ผ์ค๋ง์ ์ธ์ ์ด๋ค ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํ ์ง ๊ฒฐ์ ํ๋ ์์ . ์ด ์๊ณ ๋ฆฌ์ฆ์ CPU ์ด์ฉ๋ฅ ์ ๋๊ฒ, ์ฃผ์ด์ง ์๊ฐ์ ๋ง์ ์ผ์ ํ๊ฒ, ์ค๋น ํ์ ์๋ ํ๋ก์ธ์ค๋ ์ ๊ฒ, ์๋ต์๊ฐ์ ์งง๊ฒ ์ค์ ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
๋น์ ์ ํ ์ค์ผ์ค๋ง
์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๊ณ ์๋ค๋ฉด ์ด๋ฅผ ๋บ์ ์ ์๋ ๋ฐฉ์. ๊ฐ์ ๋ก ํ๋ก์ธ์ค๋ฅผ ์ค์งํ์ง ์๋๋ค. ๋ฐ๋ผ์ ๋ฌธ๋งฅ ๊ตํ(Context Switching)์ผ๋ก ์ธํ ๋ถํ๊ฐ ์๋์ ์ผ๋ก ์ ์ง๋ง ํ๋ก์ธ์ค์ ๋ฐฐ์น์ ๋ฐ๋ผ ํจ์จ์ฑ ์ฐจ์ด๊ฐ ๋ง์ด ๋๊ฒ ๋๋ค.
- FCFS(First-Come-First-Served)
๋ง ๊ทธ๋๋ก ๋์ฐฉํ ์์๋๋ก ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํด์ฃผ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.ํํ์ฑ์ ๋ฐ์ด๋์ง๋ง ํจ์จ์ฑ ์ธก๋ฉด์์ ๋จ์ด์ง๋ค.
- SJF (Shortest-Job-First)
์คํ์๊ฐ์ด ์งง์ ์์๋๋ก CPU๋ฅผ ํ ๋นํด์ฃผ๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ด๋ค.
FCFS ๋ณด๋ค๋ ํ๊ท ๋๊ธฐ์๊ฐ์ด ์ค์ด๋ค์ง๋ง ์ค๋ ๊ฑธ๋ฆฌ๋ ํ๋ก์ธ์ค๋ ๊ธฐ์ ํ์(๋ฌดํ ๋๊ธฐ)์ด ๋ฐ์ํ ์ ์๋ค.
- Priority
๊ฐ๊ฐ์ ํ๋ก์ธ์ค์ ์ฐ์ ์์ ๋๋ฒ๊ฐ ์๋ ์๊ณ ๋ฆฌ์ฆ. ์๋ฅผ ๋ค์ด SJF ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ, ๋ฎ์ ์ฐ์ ์์์ ํ๋ก์ธ์ค๊ฐ ์ ๋ ์คํ๋์ง ์๋ ๊ธฐ์(Starvation) ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋๋ฐ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋ ธํ(aging)๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ค๋๋ ์์ ์ ์ฐ์ ์์๋ฅผ ๋์ฌ์ฃผ๋ ์.
์ ์ ํ ์ค์ผ์ค๋ง
ํ๋ ์ด์์ฒด์ ๊ฐ ์ฌ์ฉํ๊ณ ์๋ ๋ฐฉ์์ผ๋ก, ์ด๋ค ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ์ ์คํ ์ค์ด๋๋ผ๋ ์ด์์ฒด์ ๊ฐ ์ด๋ฅผ ๊ฐ์ ๋ก ๋บ์ ์ ์๋ ๋ฐฉ์. ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ๊ฐ์ ๋ก ์ค๋จ์ํค๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ด๋ค. ์ฒ๋ฆฌ ์๊ฐ์ด ๋งค์ฐ ๊ธด ํ๋ก์ธ์ค์ CPU ์ฌ์ฉ ๋ ์ ์ ๋ง์ ์ ์์ด ํจ์จ์ ์ธ ์ด์์ด ๊ฐ๋ฅํ์ง๋ง ์ฆ์ ์ปจํ ์คํธ ์ค์์นญ์ผ๋ก ์ธํด ์ค๋ฒํค๋(Overhead)๊ฐ ์ปค์ง ์ ์๋ค.
- ๋ผ์ด๋ ๋ก๋น (RR, Round Robin)
๊ฐ ํ๋ก์ธ์ค๋ ๋์ผ ํฌ๊ธฐ์ CPU ํ ๋น์๊ฐ์ ๊ฐ๋๋ค. ํ ๋น์๊ฐ์ด ๋๋๋ฉด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ฌ ํ๋ก์ธ์ค๋ CPU๋ฅผ ๋นผ์๊ธฐ๊ณ CPU ํ์ ์ ์ผ ๋ค์ ์ค์ ์ ๋ค. n ๊ฐ์ ํ๋ก์ธ์ค๊ฐ CPU ํ์ ์๋ ๊ฒฝ์ฐ ์ด๋ค ํ๋ก์ธ์ค๋ (n-1) * ํ ๋น์๊ฐ ์ด์ ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ค.
ํ๋ ์ปดํจํฐ๊ฐ ์ฌ์ฉํ๋ ์ฐ์ ์์ ์ค์ผ์ค๋ง์ด๋ค. ๊ฐ๊ฐ์ ํ๋ก์ธ์ค์ ๋์ผํ ํ ๋น ์๊ฐ์ ๋ถ์ฌํด์ ํด๋น ์๊ฐ ๋์๋ง CPU๋ฅผ ์ด์ฉํ๊ฒ ํ๋ค. ํ ๋น ์๊ฐ ๋ด์ ์ฒ๋ฆฌ๋ฅผ ์๋ฃํ์ง ๋ชปํ๋ฉด ๊ฐ์ ์ค๋จ ํ ๋ค์ ์์ ์ผ๋ก ๋์ด๊ฐ๋ฏ๋ก ์ ์ ํ ๋ฐฉ์์ด๋ค.
์๋ต ์๊ฐ์ ๋น ๋ฅด๊ฒ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์์ง๋ง ํ ๋น ์๊ฐ์ด ๊ธธ๋ฉด FCFS์ฒ๋ผ ์๋ํ๊ณ , ๋ฐ๋๋ก ํ ๋น ์๊ฐ์ด ๋๋ฌด ์งง์ผ๋ฉด process sharing์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ด๊ฒ์ n๊ฐ์ ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์ ์๋์ 1/n ์ฉ์ผ๋ก ์๋ํจ์ ์๋ฏธํ๋ค.
3. ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
๋์คํฌ์ ์๋ ์คํํ์ผ์ ์คํํ๋ฉด ๋ฐ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์์ ํ์ํ ๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ๋ก๋ํ๋ค. ์ด ๋ ์ฌ์ฉํ์ง ์๋ ๋ถ๋ถ์ ๋์คํฌ์ ์ค์์์ญ์ ๋ณด๊ด๋๋ค. ๋์คํฌ(ํ์ผ์์คํ )์ ์ปดํจํฐ๊ฐ ๊บผ์ง๋๋ผ๋ ์ ๋ณด๊ฐ ์ ์ฅ๋์ด ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ฐ์ฑ ์ ์ฅ๊ณต๊ฐ์ผ๋ก ์ ๋ณด๊ฐ ์ฌ๋ผ์ง๊ฒ ๋๋ค. ๋์คํฌ(์ค์์์ญ)์ ์ ์ฅ์ ๋์ด ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ์ฌ๋ผ์ง๊ฒ ๋๋ฏ๋ก ์๋ฏธ๊ฐ ์๋ ๊ณต๊ฐ์ด ๋๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ชผ๊ฐ์ง๋ ๋จ์๋ฅผ ํ์ด์ง(Page)๋ผ๊ณ ํ๋ค.
CPU๊ฐ ์์ฒญํ ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋ชจ๋ ์ฐจ์งํ์ ๋ ์ด์์ฒด์ ๋ ํจ์จ์ฑ์ ์ฒดํฌํ๊ฒ ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์๋ LRU ์ LFU ๋ ๊ฐ์ง ๋ฐฉ์์ด ์กด์ฌํ๋ค.
- LRU (๊ฐ์ฅ ์ค๋ ์ ์ ์ฐธ์กฐ ํ์ด์ง ์ญ์ )
- LFU (์ฐธ์กฐ ํ์๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง ์ญ์ )
'๐ CS [ComputerScience] > ๐ CS ๋ฉด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [18] [์๋ฃ๊ตฌ์กฐ / ์๊ณ ๋ฆฌ์ฆ] (0) | 2024.03.13 |
---|---|
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [17] [TCP/UDP] (0) | 2024.03.12 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [ 3์ 1์ฃผ์ฐจ ] [ 1 ] (0) | 2024.03.10 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [15] [JPA] (0) | 2024.03.09 |
๐ [CS๋ฉด์ ] ์น ๋ฉด์ ์ง๋ฌธ [14] [์๊ณ ๋ฆฌ์ฆ] (0) | 2024.03.08 |