์์ฝ ์ ๋ฆฌ
๐ ํ๋ก์ธ์ค ์ค์ผ์ค๋ง์ด๋?
- ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์์คํฌ ๋ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์์์ ํ ๋นํ ํ๋ก์ธ์ค๋ฅผ ์ ํํด์ผํ๋ค.
- ์ด๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฒ์ด ํ๋ก์ธ์ค ์ค์ผ์ค๋ง์ด๋ค.
๐ ์ค์ผ์ค๋ง์ ๋ชฉ์
- ์์คํ
์ ์ฑ๋ฅ ํฅ์
๐ ์์คํ
์ฑ๋ฅ์ ์งํ
- ์๋ต์๊ฐ
- ์์
์ฒ๋ฆฌ๋
- ์์ ํ์ฉ๋ ๋ฑ๋ฑ
๐ ์ค์ผ์ค๋ง์ ๋จ๊ณ
- ์ฅ๊ธฐ ์ค์ผ์ค๋ง
- ์ค๊ธฐ ์ค์ผ์ค๋ง
- ๋จ๊ธฐ ์ค์ผ์ค๋ง
๐ ๊ธฐ๋ณธ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- FCFS
- RR
- SPN
- SRTN
- HRRN
- MLQ
- MFQ
1. ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
๐ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ๊ณผ ์ค์ผ์ค๋ง
- OS์ ๊ตฌ๋ถ ์ค์์ ํ๋์ ์์คํ
์์ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์กด์ฌํ๋ ์์คํ
์ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ด๋ผ๊ณ ํ๋ค.
- ์ด๋ ๊ฒ ์ฌ๋ฌ๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ํ์ฉํ๋ ๊ณผ์ ์์ ์ ์ ํ ์์์ ํ ๋น์ ํตํด ์ปดํจํฐ ์์คํ
์ ์ฑ๋ฅ์ ๋์ผ ์ ์๋ค.
- ์ด๋ฌํ ์์์ ํ ๋นํ ํ๋ก์ธ์ค๋ฅผ ์ ํํ๋ ๊ฒ์ด ์ค์ผ์ค๋ง์ด๋ค.
2. ์ค์ผ์ค๋ง์ ๋ชฉ์
๐ ์ค์ผ์ค๋ง์ ๋ชฉ์
- ์ค์ผ์ค๋ง์ ๊ฐ์ฅ ํฐ ๋ชฉ์ ์ ์์คํ
์ ์ฑ๋ฅ ํฅ์์ด๋ค.
- ๊ทธ๋ ๋ค๋ฉด ์์คํ
์ฑ๋ฅ์ ์งํ๋ ๋ฌด์์ผ๊น?
๐ ๋ํ์ ์ธ ์์คํ
์ฑ๋ฅ ์งํ
- ์๋ต์๊ฐ : ์์
์์ฒญ์ผ๋ก๋ถํฐ ์๋ต์ ๋ฐ์๋๊น์ง์ ์๊ฐ
- ์์
์ฒ๋ฆฌ๋ : ๋จ์ ์๊ฐ ๋์ ์๋ฃ๋ ์์
์ ์
- ์์ ํ์ฉ๋ : ์ฃผ์ด์ง ์๊ฐ๋์ ์์์ด ํ์ฉ๋ ์๊ฐ
๐ ๋ค๋ฅธ ์์คํ
์ฑ๋ฅ ์งํ
-
ํ๊ท ์๋ต ์๊ฐ
-
์ฒ๋ฆฌ๋
-
์์ ํ์ฉ๋
-
๊ณตํ์ฑ ๋ฑ๋ฑ
![](https://velog.velcdn.com/images%2Flotus%2Fpost%2Fb09f8b3c-68aa-4f96-9844-5c219e377411%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-12-29%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.28.21.png)
3. ์ค์ผ์ค๋ง ๊ธฐ์ค
๐ ์ค์ผ์ค๋ง ๊ธฐ๋ฒ์ด ๊ณ ๋ คํ๋ ํญ๋ชฉ๋ค
- ํ๋ก์ธ์ค์ ํน์ฑ
- ์์คํ
ํน์ฑ
- ํ๋ก์ธ์ค์ ๊ธด๊ธ์ฑ
- ํ๋ก์ธ์ค ์ฐ์ ์์ ๋ฑ
4. ์ค์ผ์ค๋ง์ ๋จ๊ณ
๐ ์ฅ๊ธฐ ์ค์ผ์ค๋ง(Long-term Scheduling)
- Job scheduling: ์์คํ
์ ์ ์ถ ํ ์์
๊ฒฐ์
- ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ ๋ ์กฐ์ (์์คํ
๋ด ํ๋ก์ธ์ค ์ ๊ฒฐ์ )
- ํจ์จ์ ์ผ๋ก ์๋์ํค๊ธฐ ์ํด์ compute-bounded,I/O-bounded ํ๋ก์ธ์ค๋ค์ ์ ์ ํ ์์ด์ ์์คํ
์ ์ฌ๋ ค์ผ ํ๋ค(์ด ๋๊ฐ๊ฐ ๋ชจ๋ ์ ๋นํ๊ฒ ์๋ํ๋ ๊ฒ์ด ํจ์จ์ ์ด๊ธฐ ๋๋ฌธ์)
- ์๋ถํ ์์คํ
์์๋ ๋ชจ๋ ์์
์ ์์คํ
์ ๋ฑ๋ก
๐ ์ค๊ธฐ ์ค์ผ์ค๋ง(Mid-term Scheduling)
๐ ๋จ๊ธฐ ์ค์ผ์ค๋ง(Short-term Scheduling)
- ํ๋ก์ธ์ค ์ค์ผ์ค๋ง: ํ๋ก์ธ์๋ฅผ ํ ๋นํ ํ๋ก์ธ์ค ๊ฒฐ์
- ๊ฐ์ฅ ๋น๋ฒํ๊ฒ ๋ฐ์ => ๋งค์ฐ ๋นจ๋ผ์ผ ํ๋ค.
5. ์ค์ผ์ค๋ง ์ ์ฑ
๐ ์ ์ vs ๋น์ ์
- ๋น์ ์ (Non-preemptive scheduling): ํ ๋น๋ฐ์ ์์์ ์ค์ค๋ก ๋ฐ๋ฉํ ๋ ๊น์ง ์ฌ์ฉํ๋ค. ์ฅ์ ์ Context switching overhead๊ฐ ์ ๋ค. ํ์ง๋ง ๋จ์ ์ ์ฆ์ ์ฐ์ ์์ ์ญ์ ์ด ์ผ์ด๋๊ณ , ํ๊ท ์๋ต์๊ฐ์ด ๊ธธ๋ค.
- ์ ์ (Preemptive scheduling): ํ์์ ์ํด ์์์ ๋บ๊ธธ ์ ์๋ค. ์ฅ์ ์ Time-sharing system, real-time system์ ์ ํฉํ๋ค. ํ์ง๋ง Context switching overhead๊ฐ ํฌ๋ค๋ ๋จ์ ์ด ์๋ค.
๐ ์ฐ์ ์์(Priority)
- ์ ์ ์ฐ์ ์์(Static priority): ํ๋ก์ธ์ค ์์ฑ ์ ๊ฒฐ์ ๋ ์ฐ์ ์์๊ฐ ์ ์ง๋๋ค. ๊ตฌํ์ด ์ฝ๊ณ ์ค๋ฒํค๋๊ฐ ์ ๋ค๋ ์ฅ์ ์ด ์๋ค. ํ์ง๋ง ์์คํ
ํ๊ฒฝ ๋ณํ์ ๋์์ด ์ด๋ ต๋ค๋ ๋จ์ ์ด ์๋ค.
- ๋์ ์ฐ์ ์์(Dynamic priority): ํ๋ก์ธ์ค ๋ณํ์ ๋ฐ๋ผ ์ฐ์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ค. ๊ตฌํ์ด ๋ณต์กํ๊ณ ์ค๋ฒํค๋๊ฐ ํฌ๋ค๋ ๋จ์ ์ด ์๋ค. ํ์ง๋ง ์์คํ
ํ๊ฒฝ ๋ณํ์ ์ ์ฐํ ๋์์ด ๊ฐ๋ฅํ๋ค.
![](https://velog.velcdn.com/images%2Flotus%2Fpost%2F4c2beeb1-3950-4c9a-932c-1cc288c7db88%2F%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202021-12-29%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.34.47.png)
์ฐธ๊ณ : ์ด์์ฒด์ ๊ฐ์(๊น๋์ ๊ต์๋)