๐ CPU Scheduling
- ๋จ๊ณ๋ณ ์ฒ๋ฆฌ ์ค์ผ์ค๋ง
- ์ฅ๊ธฐ ์ค์ผ์ค๋ง Long-Term Scheduling
- ์ด๋ ํ๋ก๊ทธ๋จ์ ๋จผ์ ์ ์ฌํ ๊ฒ์ธ๊ฐ ํ๋ ์์ค์ ์ค์ผ์ค๋ง
- ์ก ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ ํจ
- ์ค๊ธฐ ์ค์ผ์ค๋ง Medium-Term Scheduling
- ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ๋ก๊ทธ๋จ๋ค ์ค, ์๋น๊ธฐ๊ฐ ๋์ ์ฒ๋ฆฌ๋ฅผ ๋ณด๋ฅํ์ฌ ์์์ ํ๋ณดํ๋ ์ฐจ์์ ์ค์ผ์ค๋ง
- ๋์์ด ๋ ํ๋ก์ธ์ค๋ค์ ์ ์ ๋์คํฌ๋ก ์ด๋ํ์ฌ ๊ธฐ๋ค๋ฆผ (์ค์ํ)
- ๋จ๊ธฐ ์ค์ผ์ค๋ง Short-Term Scheduling
- ์คํ ์ค๋น๊ฐ ๋ ํ๋ก์ธ์ค๋ค ์ค, ์ด๋ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ๋ณด๋ผ ๊ฒ์ธ๊ฐ ํ๋ ์์ค์ ์ค์ผ์ค๋ง
- ๋ณดํต CPU ์ค์ผ์ค๋ง์ด๋ผ ํจ์ ์ด ์์ค์ ๋งํจ (์ดํ ํต์ผ)
- ์ฅ๊ธฐ ์ค์ผ์ค๋ง Long-Term Scheduling
@0411
CPU ์ค์ผ์ค๋ง ์ ๋ต์ ๋ชฉํ ๋ฐ ๊ธฐ์ค
- ์ฌ์ฉ์ ๊ด์ ์์์ ๊ธฐ์ค (ํ๊ฐ ๊ธฐ์ค)
- ์๋ต ์๊ฐ Response Time
- ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ํ์ฌ ์ถ๋ ฅ์ด ์ด๋ฃจ์ด์ง ๋๊น์ง ์์๋๋ ์๊ฐ
- ๋์ผํ ์กฐ๊ฑด์์ CPU ์ค์ผ์ค๋ง ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ๊ฒ์
- ๋ฐํ์๊ฐ Turnaround Time
- ํ๋ก๊ทธ๋จ์ด ์ ์ถ(ํน์ ์ ์ฌ)๋ ํ ์ต์ข ๊ฒฐ๊ณผ๋ฌผ์ ์ป์ ๋๊น์ง์ ์์์๊ฐ
- ์ด ์ฒ๋ฆฌ์๊ฐ์ด๋ผ๊ณ ๋ ํจ
- ๋๊ธฐ ์๊ฐ Waiting Time
- CPU๊ฐ ์ฃผ์ด์ง ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ๋ค์ ํฉ
- CPU๋ ์์ฃผ ์กฐ๊ธ์ฉ ์ฃผ์ด์ง
- ์งํ ๋ถ์
- ์ฌ์ฉ์๋ค์ ์ธ ๊ฐ์ง ์งํ๊ฐ ๋ชจ๋ ์งง์์ง๊ธฐ๋ฅผ ํฌ๋ง
- ์๋ต ์๊ฐ Response Time
- ์์คํ
๊ด์ ์์์ ๊ธฐ์ค
- CPU ์ด์ฉ๋ฅ CPU Utilization
- CPU๊ฐ ์์ํ๊ฒ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์คํํ๋๋ฐ ์์ํ ์๊ฐ์ ๋น์จ
- ์ฌ๋ ์๊ฐ์ด๋ ์์คํ ์์ฒด์ ๋ด๋ถ ์ฒ๋ฆฌ๋ฅผ ์ํด ๋ณด๋ธ ์๊ฐ์ด ๋ง์ผ๋ฉด ์ข์ง ์์
- @ ๋ฌธ๋งฅ ๊ต์ฒด ๋ฑ
- ์ฒ๋ฆฌ๋ Throughput
- ์ ์ฒด์ ์ผ๋ก ๋จ์ ์๊ฐ๋น ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ์ ์
- ์งํ ๋ถ์
- ์์คํ (์ปดํจํฐ ์ด์์) ์ ์ฅ์์๋ ๋ ์งํ ๋ชจ๋ ๋์ด๊ธฐ๋ฅผ ํฌ๋ง
- CPU ์ด์ฉ๋ฅ CPU Utilization
- @ ~ ์ฌ์ฉ์ ๊ด์ ๊ณผ ์์คํ ๊ณผ์ ์ ๋ ์ ์ฅ์ด ์์ถฉ๋จ
๋ ๋ค ์ก์ ์ ์์ = ํ๋๋ ์กฐ๊ธ ํฌ์ํด์ผ ํ๋ค
- ๊ธฐํ
- ๊ฐ์ฉ์ฑ Availability
- ์ ์ฒด ์๊ฐ (์๋น์ค, ๊ณ ์ฅ, ์ ์ง๋ณด์, ์ ๊ฒ ๋ฑ) ๋๋น ์๋น์ค ์๊ฐ์ ๋น์จ (์ ๋ขฐ์ฑ, ๊ฐ๋์จ)
- ํน์ ์์์ ๋ํ์ฌ ์ฆ์ ์ ๊ทผํ ์ ์๋ ์ ๋ (์ฆ์ ์ ๊ทผ ๊ฐ๋ฅ ๋น๋ ๋น์จ)
- ๊ฐ์ฉ์ฑ Availability
CPU ์ค์ผ์ค๋ง์ด ์ด๋ฃจ์ด์ง๋ ์๊ธฐ
- ํ๋ก์ธ์ค๊ฐ ์
์ถ๋ ฅ์ ์๊ตฌํ ๋
- ์งํ ์ค์ด๋ํ๋ก์ธ์ค๊ฐ ์ ์ถ๋ ฅ์ ์๊ตฌํ๋ฉด, OS๋ ์ ์ถ๋ ฅ ์งํ์ค์ธ ๋์ ๋ง๋ฅ ๊ธฐ๋ค๋ฆด ์ ์์ผ๋ฏ๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์ ํํด์ CPU๋ฅผ ๋ณด๋ด์ผํ๋ค.โ ๋น์ ์ CPU ์ค์ผ์ค๋ง
- ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋ฅผ ์๊ตฌํ ๋
- ํ๋ก๊ทธ๋จ์ ์งํ ์ ์ฐจ์ ๋ชจ๋ ์ฒ๋ฆฌ๊ฐ ๋๋ ์ข ๋ฃ๋ฅผ ์ ์ธํ๋ฉด, OS๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์ ํํ์ฌ CPU๋ฅผ ๋ณด๋ด์ผ ํ๋ค โ ๋น์ ์ CPU ์ค์ผ์ค๋ง
- ๋์ ์ฐ์ ์์์ ํ๋ก์ธ์ค๊ฐ ๋ํ๋ฌ์ ๋
- ๋์ ์ฐ์ ์์์ ํ๋ก์ธ์ค๊ฐ ์ ์ถ๋ ฅ์ ๋ง์น๊ณ ์ค๋น์ํ๋ก ์ ํ๋๋ฉด, OS๋ ํ์ฌ ์คํ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ๋ณด๋ฅํ๊ณ , ๋ ๋์ ์ฐ์ ์์์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ๋ณด๋ผ ์ ์๋ค. โ ์ ์ CPU ์ค์ผ์ค๋ง
- ์คํ์๊ฐ์ด ์ด๊ณผ๋์์ ๋
- ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์๊ฒ ํ์ฉ๋ ์ต๋ ์คํ ์๊ฐ์ด ์ด๊ณผํ๋ฉด, CPU๋ ๋ค๋ฅธ ํ๋ก์ธ์ค ~์ฌ CPU๋ฅผ ๋ณด๋ผ ์ ์๋ค. โ ์ ์ CPU ์ค์ผ์ค๋ง
- ์ ์
์ ์ฒ๋ฆฌ FCFS First-Come First-Served ์ค์ผ์ค๋ง
- ๊ฐ๋
- ์ค๋น ๋๊ธฐ์ด Ready Queue ์ ๋์ฐฉํ ์์๋๋ก ์ฒ๋ฆฌ
- ์ ์ถ๋ ฅ์ด๋ ์ข ๋ฃ ์๊น์ง ๊ณ์ ์คํ โ ๋น์ ์ ํ
- ๋ถ์
- ๊ฐ๋
- ์ต๋จ ์์
์ฐ์ SJF Shortest Job First ์ค์ผ์ค๋ง
- ๊ฐ๋
- ํ์ฌ ์ค๋น ๋๊ธฐ์ด Ready Queue์ ๋์ฐฉํ ํ๋ก์ธ์ค๋ค ์ค, CPU ๋ฒ์คํธ CPU Burst๊ฐ ์งง์ ๊ฒ์ ์ ํํ์ฌ ์คํ
- SPN Shortest Process Next ๋ผ๊ณ ๋ ํจ
- ์ฆ, ์ ์ถ๋ ฅ์ด๋ ์ข ๋ฃ ์๊น์ง ๊ณ์ ์คํ โ ๋น์ ์ ํ
- ๋ถ์
- ๊ธฐ์ ์ํ ํ์
- CPU ๋ฒ์คํธ๋ ์ด๋ป๊ฒ ๊ณ์ฐ?
- ์์ธก ํ๋ ๋ฐฉ๋ฒ๋ก ์ด ์๋ค (์์ ์์ ๋ค๋ฃจ์ง๋ ์์)
- ๊ฐ๋
@0413
- ์ต๋จ ์์ฌ ์๊ฐ ์ฐ์ SRTF Shortest Remaining Time First ์ค์ผ์ค๋ง
- ๊ฐ๋
- ์คํ ์ค ์๋ก์ด ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด, ํ ํ๋ก์ธ์ค์ ๋จ์ ์๊ฐ๊ณผ ์ ํ๋ก์ธ์ค์ CPU ๋ฒ์คํธ ์๊ฐ์ ๋น๊ตํ์ฌ ์ ํ๋ก์ธ์ค๊ฐ ๋ ์งง์ผ๋ฉด ๊ต์ฒด โ ์ ์ ํ
- ๋ถ์
- ํ๊ท ๋๊ธฐ ์๊ฐ๊ณผ ํ๊ท ์๋ต ์๊ฐ์ ๋์ฑ ๊ฐ์ โ CPU ์ด์ฉ๋ฅ ์ ํ ํ์ ๋ฐ์ ์ต์
- ๋ฐ๋ฉด ๊ธฐ์ ์ํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ๋ ๋์
- ๊ฐ๋
- ์ต๊ณ ์๋ต๋ฅ ์ฐ์ HRRF Highest Response Ratio First ์ค์ผ์ค๋ง
- HRN Highest Response Ratio Next
- ์๋ต๋ฅ
- CPU ๋ฒ์คํธ ๋๋น ๋๊ธฐ์ด์์ ๊ธฐ๋ค๋ฆฐ ์ ๋์ ๊ฒ์ฆ (CPU ๋ฒ์คํธ๊ฐ ํฌ๋ฉด ๊ทธ๋งํผ ๋ง์ด ๊ธฐ๋ค๋ ค๋ ๋ฌด๋ฐ์๋ค๋ ์ทจ์ง)
- ์๋ต๋ฅ = (์ค๋นํ ๋๊ธฐ์๊ฐ +CPU๋ฒ์คํธ ์๊ฐ) / (CPU ๋ฒ์คํธ์๊ฐ) = 1 + ์ค๋นํ์๊ฐ / CPU ๋ฒ์คํธ ์๊ฐ)
- ์ ์ ํน์ ๋น์ ์ ์ด์ ๊ฐ๋ฅ
- ๊ฐ๋
- SJF๋ SRTF์ ๊ธฐ์ Starvation ํ์์ ํด๊ฒฐ
- ๋ผ์ด๋ ๋ก๋น RR Round Robin ์ค์ผ์ค๋ง
- ๊ฐ๋
- ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ๋์ผํ ์ต๋ ์คํ ํ์ฉ ์๊ฐ (ํ์ ํํ ํน์ ํ์ ์ฌ๋ผ์ด์ค)๋ฅผ ๋ถ์ฌํ๊ณ , ๊ทธ ์๊ฐ๋งํผ์ฉ ๊ณตํํ๊ฒ ์กฐ๊ธ์ฉ CPU๋ฅผ ๋ณด๋ โ ์ ์ ํ
- ๋ถ์
- ํ์ ํํ ์ ๋ฐ๋ฅธ ๋ฌธ๋งฅ ๊ตํ Context Switching)
- ๋ถ๋ด ๋ฐ ํ๊ท ๋๊ธฐ ์๊ฐ
- ๊ฐ๋
- ๋ค๋จ๊ณ ํ MQ Multi-Level Queue
- ๊ฐ๋
- ๋ชจ๋ ํ๋ก์ธ์ค์๊ฒ ํ์ผ์ ์ธ ์ค์ผ์ค๋ง ์ ๋ต์ ์ ์ฉํ์ง ์๊ณ , ํ๋ก์ธ์ค๋ค์ ํน์ฑ๋ณ๋ก ๊ทธ๋ฃนํํ์ฌ ๊ฐ๊ฐ ๋ ๋ฆฝ๋ ์ ์ฑ ์ ์ฌ์ฉ
- ์ -ํ๋ก์ธ์ค๋ฅผ ์ค์๋ ๋ฑ์ ๋ฐ๋ผ ํฌ๊ฒ ๊ทธ๋ฃนํํ์ฌ ๋ณ๋์ ํ ๊ด๋ฆฌ
- ๊ณ์ฐ ์์ฃผ์ ํ๋ก์ธ์ค๋ค์ ํ์ ํํ ์ ๊ธธ๊ฒ ์ฃผ๊ณ , ์ฐ์ ์์๋ ๋ฎ๊ฒ ๋ถ์ฌ
- ์ ์ถ๋ ฅ ์์ถ ํ๋ก์ธ์๋ค์ ๋ฐ๋๋ก
- ๋ถ์
- ๋์ฑ ์ ๊ตํ ์ ๋ต์ ์ ์ฉํ๊ธฐ ์ํด ๋์ผ ์ค๋น ํ ํ๋ก์ธ์ค๋ค ๊ฐ์๋ ๋ค๋ฅธ ์ค์ผ์ค๋ง ์ ๋ต์ด ์ ์ฉ
- ๊ฐ๋
- ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ MFQ Multi-level Feedback Queue
์ด ๊ธฐ์ฌ๋ ์ ์๊ถ์์ CC BY 4.0 ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๋ฆ
๋๋ค.