๐ CPU scheduler vs Dispatcher
CPU scheduler: ready queue์์ ๋ค์์ผ๋ก ์คํ๋ ํ๋ก์ธ์ค๋ฅผ ์ ํํ๋ ์ญํ
Dispatcher: context switching, ์ปค๋ ๋ชจ๋ <-> ์ ์ ๋ชจ๋ ์ ํ, ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ ์์น๋ก ์ด๋ ๋ฑ ์ ํ๋ ํ๋ก์ธ์ค๊ฐ CPU์์ ์คํ๋ ์ ์๋๋กํ๋ ์ญํ ์ ํจ.
์ ํ๋ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋นํ๋ ์ญํ .
๐ ์ค์ผ์ค๋ง์ ์ ์ ๋ฐฉ์
Nonpreemptive vs Preemptive scheduling
Nonpreemptive(๋น์ ์ ) Scheduling
: running -> terminated, running -> waiting, ์๋ฐ์ running -> ready ๊ฒฝ์ฐ์ ๋ํด์๋ง OS๊ฐ ๊ฐ์ ํด์ ์ค์ผ์ค๋งํ๋ ๋ฐฉ์.
ํ๋ก์ธ์ค๊ฐ ์๋ฐ์ ์ผ๋ก running ์ํ์์ ๋น ์ ธ๋๊ฐ๋ ๊ฒฝ์ฐ์๋ง OS๊ฐ ๊ฐ์ ํ๋ ๋ฐฉ์.
์ ์ฌ์ , ํ๋ ฅ์ (cooperative), ๋๋ฆฐ ์๋ต์ฑ
Preemtive Scheduling
: nonpreemptive๊ฐ ํ๋ ์ผ + ๋น์๋ฐ์ running -> ready, ready ์ํ์ ์๋ ํ๋ก์ธ์ค๋ฅผ running ์ํ๋ก ์ฎ๊ธฐ๋ ๊ฒฝ์ฐ์๋ OS๊ฐ ๊ฐ์ ํ๋ ๋ฐฉ์.
์ ๊ทน์ , ๊ฐ์ ์ , ๋น ๋ฅธ ์๋ต์ฑ, ๋ฐ์ดํฐ ์ผ๊ด์ฑ ๋ฌธ์
๐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
FCFS(first-come, first out)
: ๋จผ์ ๋์ฐฉํ ์์๋๋ก ์ฒ๋ฆฌ
SJF(shortest-job-first)
: ํ๋ก์ธ์ค์ ๋ค์ CPU burst๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์คํ
SRTF(shortest-remaining-time-first)
: ๋จ์ CPU burst๊ฐ ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์คํ
Priority
: ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ถํฐ ์คํ
RR(round-robin)
: time slice๋ก ๋๋ ์ง CPU time์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์คํ
Multilevel queue
: ํ๋ก์ธ์ค๋ค์ ๊ทธ๋ฃนํํด์ ๊ทธ๋ฃน๋ง๋ค ํ๋ฅผ ๋๋ ๋ฐฉ์
'CS > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ค๋ ๋์ ์ค๋ ๋ ํ (0) | 2024.02.13 |
---|---|
์ธํฐ๋ฝํธ์ ์์คํ ์ฝ (0) | 2024.02.12 |
OS์์ ํ๋ก์ธ์ค ์ํ (0) | 2024.02.10 |
๋ฐ๋๋ฝ (0) | 2024.02.09 |
๋ชจ๋ํฐ (0) | 2024.02.08 |