CPU ์ค์ผ์ค๋ง
๐ ์ด๋ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ๋ ๊ฒ์ธ์ง ๊ฒฐ์
๐น CPU ์ค์ผ์ค๋ฌ
- Ready ์ํ์ ํ๋ก์ธ์ค ์ค์์ ์ด๋ฒ์ CPU์ ์ค ํ๋ก์ธ์ค ์ ์
๐น Dispatcher
- CPU ์ ์ด๊ถ์ CPU ์ค์ผ์ค๋ฌ์ ์ํด ์ ํ๋ ํ๋ก์ธ์ค์๊ฒ ๋๊น = context switching
๐น ๊ณ ๋ ค์ฌํญ
- ๋๊ตฌํํ CPU๋ฅผ ์ค ๊ฒ์ธ์ง
- ์ค๊ฐ์ CPU๋ฅผ ๋บ์ด์ฌ ์ ์๊ฒ ํ ๊ฒ์ธ์ง ๋๋ ๊ณ์ ์ฐ๊ฒ ํ ๊ฒ์ธ์ง
๐น scheduling criteria
- CPU utilization โ ์ต๋ํ ์ฌ์ฉ
- Throughput
- Turnaround Time (์ด ์์์๊ฐ)
- Waiting Time
- Response time (CPU๋ฅผ ์ต์ด ์ป์ ๋๊น์ง ๊ฑธ๋ฆฐ ์๊ฐ)
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
๐น nonpreemptive (๋น์ ์ ํ)
๐น preemptive (์ ์ ํ)
๐ธ FCFS (First Come First Served)
- ๋น์ ์ ํ
- ๋จผ์ ์จ ์์๋๋ก ์ฒ๋ฆฌ โ ํจ์จ์ X
- ์์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ ์ค๋๋์ ๋ฐ๋ผ waiting time ๊ฒฐ์ ๋จ
- convoy effect : short process behind long process
๐ธ SJF (Shortest Job First)
- CPU burst time์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ฅผ ์ ์ผ ๋จผ์ ์ค์ผ์ค
- ๋น์ ์ ํ or ์ ์ ํ(๋ ์งง์ ๊ฒ์ด ์ค๋ฉด ๊ฑํํ ๋๊น)
- average waiting time ์ต์ํ
- CPU burst time์ด ๊ธด ๊ฒ์ starvation ๋ฐ์
- CPU ์ฌ์ฉ ์๊ฐ์ ๋ฏธ๋ฆฌ ์ ์ ์์ (์์ธก ๊ฐ๋ฅ ๋ฐฉ๋ฒ ์กด์ฌ)
๐ธ Priority Scheduling
- ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ํ๋ก์ธ์ค
- ๋น์ ์ ํ or ์ ์ ํ
- starvation ๐ aging ์ผ๋ก ํด๊ฒฐ
๐ธ Round Robin
- ๋์ผํ ํ ๋น ์๊ฐ ์ค์ & ready queue์์ ๋๊ธฐ
- ์ ์ ํ
- response time ๋น ๋ฆ
- ํ ๋น ์๊ฐ์ด ์งง์ผ๋ฉด overhead of context switching
- ํ ๋น ์๊ฐ์ด ๊ธธ๋ฉด = FCFS
๐น Multilevel Queue
- ready queue๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋ถํ
- foreground = RR
- background = FCFS
- Multilevel Feedback Queue ๐ CPU ์ฌ์ฉ์๊ฐ์ ์งง๊ฒ ์ฃผ๊ณ ์๋๋ก ๊ฐ์๋ก ๊ธธ๊ฒ ์ค. ๊ทธ ํ์๋ FCFS
๐น Multi-Processor Scheduling
- Load sharing : ์ผ๋ถ ํ๋ก์ธ์์ ๋ชฐ๋ฆฌ์ง ์๋๋ก ๋ถํ๋ฅผ ์ ์ ํ ๊ณต์
- Symmetric Multiprocessing : ๊ฐ ํ๋ก์ธ์๊ฐ ๊ฐ์ ์์์ ์ค์ผ์ค๋ง ๊ฒฐ์
- Asymmetric Multiprocessing : ํ๋์ ํ๋ก์ธ์๊ฐ ์์คํ ๋ฐ์ดํฐ์ ์ ๊ทผ๊ณผ ๊ณต์ ๋ฅผ ์ฑ ์์ง๊ณ ๋๋จธ์ง ํ๋ก์ธ์๋ ๊ฑฐ๊ธฐ์ ๋ฐ๋ฆ
'CS > โ๏ธ ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[โ๏ธ OS] ํ๋ก์ธ์ค ๊ฐ ํต์ (IPC: Inter-Process Communication) (0) | 2024.03.09 |
---|---|
[โ๏ธ OS] ํ๋ก์ธ์ค ๋๊ธฐํ (0) | 2024.03.09 |
[โ๏ธ OS] Thread (0) | 2024.02.29 |
[โ๏ธ OS] Process (1) | 2024.02.27 |