1. CPU ์ค์ผ์ค๋ง
1-1. CPU ์ค์ผ์ค๋ฌ
Ready ์ํ์ ํ๋ก์ธ์ค ์ค์์ CPU์ ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ ๊ฒ์ธ์ง ๊ฒฐ์ ํ๋ ํ๋ก๊ทธ๋จ

1-2. ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
๐ก ํ๋ก์ธ์ค ์ค์ผ์ค๋ง(Process Scheduling)
์ด์์ฒด์ (OS)์์ ํ๋ก์ธ์ค๊ฐ CPU ๋ฐ ๊ธฐํ ์์คํ ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํ ๋นํ๋ ์์ ์ ๋งํ๋ค. ๋ค์ค ํ๋ก์ธ์ค ํ๊ฒฝ์์ CPU ์ฌ์ฉ์ ์ต์ ํํ๊ณ ์์คํ ์ฑ๋ฅ์ ๊ทน๋ํํ๋ ๋ฐ ํต์ฌ ์ญํ ์ ํ๋ค.
1-3. ์ ์ VS ๋น์ ์ ์ค์ผ์ค๋ง

โ ์ ์ (Preemptive) ์ค์ผ์ค๋ง
โถ ์ ์:
- ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค์ผ์ค๋ฌ๊ฐ ๊ฐ์ ๋ก ์ค๋จํ๊ณ , ๋ค๋ฅธ ํ๋ก์ธ์ค์ CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์.
โถ ํน์ง:
- ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด ํ์ฌ ์์
์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จ.
- ์ค์๊ฐ ์์คํ
์ด๋ ์๋ต ์๊ฐ์ด ์ค์ํ ํ๊ฒฝ์์ ์ฌ์ฉ.
โถ ์์ ์๊ณ ๋ฆฌ์ฆ:
- Round Robin (RR)
- Priority Scheduling (Preemptive)
- Shortest Remaining Time First (SRTF)
โถ ์ฅ์ :
- ๋์ ์๋ต ์๋.
- ์ฐ์ ์์๊ฐ ๋์ ์์
์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ
โถ ๋จ์ :
- ๋ฌธ๋งฅ ์ ํ(Context Switching)์ด ๋น๋ฒํด์ ธ ์ค๋ฒํค๋ ๋ฐ์.
โ ๋น์ ์ (Non-preemptive) ์ค์ผ์ค๋ง
โถ ์ ์:
- ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์ค์ค๋ก CPU๋ฅผ ๋ฐ๋ฉ(์ข
๋ฃ ๋๋ ๋๊ธฐ ์ํ๋ก ์ ํ)ํ ๋๊น์ง CPU๋ฅผ ์ ์งํ๋ ๋ฐฉ์.
โถ ํน์ง:
- ํ์ฌ ํ๋ก์ธ์ค๊ฐ ์ข
๋ฃ๋๊ธฐ ์ ๊น์ง ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฌ์ฉํ ์ ์์.
- ๋จ์ํ๊ณ ๊ตฌํ์ด ์ฌ์.
โถ ์์ ์๊ณ ๋ฆฌ์ฆ:
- First Come First Served (FCFS)
- Shortest Job First (SJF, Non-preemptive)
- Priority Scheduling (Non-preemptive)
โถ ์ฅ์ :
- ๋ฌธ๋งฅ ์ ํ์ด ์ ์ด ์ค๋ฒํค๋๊ฐ ๋ฎ์.
- ๊ตฌํ์ด ๊ฐ๋จํจ.
โถ ๋จ์ :
- ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ์ค๋ ๋๊ธฐํ ๊ฐ๋ฅ์ฑ.
- ๋ํํ ์์คํ
์ ์ ํฉํ์ง ์์.
โ ์ฃผ์ ์ฐจ์ด์ ๋น๊ต
๊ตฌ๋ถ | ์ ์ ์ค์ผ์ค๋ง | ๋น์ ์ ์ค์ผ์ค๋ง |
CPU ์ ์ ๋ฐฉ์ | ๊ฐ์ ๋ก ์ค๋จํ๊ณ CPU๋ฅผ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น | ํ๋ก์ธ์ค๊ฐ ์ค์ค๋ก CPU๋ฅผ ๋ฐ๋ฉํ ๋๊น์ง ์ ์ง |
๋ฌธ๋งฅ ์ ํ | ๋น๋ฒํ ๋ฐ์ํ์ฌ ์ค๋ฒํค๋๊ฐ ํผ | ๊ฑฐ์ ๋ฐ์ํ์ง ์์ ์ค๋ฒํค๋๊ฐ ์ ์ |
์๋ต ์๊ฐ | ์ฐ์ ์์ ๋์ ํ๋ก์ธ์ค๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ ๊ฐ๋ฅ | ์ฐ์ ์์์ ์๊ด์์ด ๋๊ธฐ ์๊ฐ ์ฆ๊ฐ ๊ฐ๋ฅ |
๋ณต์ก์ฑ | ์๋์ ์ผ๋ก ๊ตฌํ์ด ๋ณต์กํจ | ๊ตฌํ์ด ๋จ์ํจ |
์ฌ์ฉ ์ฌ๋ก | ์ค์๊ฐ ์์คํ , ๋ํํ ์์คํ | ์ผ๊ด์ฒ๋ฆฌ ์์คํ , ๋จ์ ํ๊ฒฝ |
1.4 ์ค์ผ์ค๋ง ๊ฒฐ์ ์์
์ํ | ์์ | ๋ฐฉ์ |
Running โ Waiting | โพ I/O ์์ฒญ โพ wait() ์์ฒญ์ ํตํ ์์ ํ๋ก์ธ์ค ์ข ๋ฃ | ๋น์ ์ |
Running โ Ready | โพInterrupt ๋ฐ์ | ์ ์ or ๋น์ ์ |
Waiting โ Ready | โพ I/O ์๋ฃ | ์ ์ or ๋น์ ์ |
Terminate | โพ ๋ถ๋ชจ ํ๋ก์ธ์ค ์ข ๋ฃ | ๋น์ ์ |
1-5. Dispatcher ์ ๋ฌธ๋งฅ ๊ตํ(Context Switch)
โ ์ฉ์ด ๋ป
โถ Dispatcher: CPU ์ค์ผ์ค๋ฌ์ ๊ฒฐ์ ์ ์คํ์ผ๋ก ์ฎ๊ธฐ๋ ๋ชจ๋.
โถ ๋ฌธ๋งฅ ๊ตํ(Context Switch): ํ๋ก์ธ์ค ์ ํ์ ์ํด ์ํ๋ฅผ ์ ์ฅ/๋ณต์ํ๋ ์์
.
โถ ๊ด๊ณ: Dispatcher๋ ๋ฌธ๋งฅ ๊ตํ์ ํตํด ํ๋ก์ธ์ค ์ ํ์ ์๋ฃํ๋ค.
- Dispatcher๋ ๋ฌธ๋งฅ ๊ตํ(Context Switch)์ ๊ตฌ์ฒด์ ์ผ๋ก ์คํํ๋ ์ญํ ์ ๋ด๋น.
- Context Switch๋ Dispatcher ์์
์ ํต์ฌ์ผ๋ก, ํ๋ก์ธ์ค๋ฅผ ๊ต์ฒดํ๋ ๊ณผ์ ์์ ๋ฐ๋์ ์ํ๋จ.
โ Dispatcher
โถ ์ ์:
- ์ด์์ฒด์ ์ ๋ชจ๋๋ก, CPU์ ์ ์ด๊ถ์ CPU ์ค์ผ์ค๋ฌ์ ์ํด ์ ํ๋ ํ๋ก์ธ์ค์๊ฒ ๋๊ฒจ์ฃผ๋ ๋ชจ๋
โถ ์ฃผ์ ๊ธฐ๋ฅ:
- ํ ํ๋ก์ธ์ค์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ๋ฌธ๋งฅ ๊ตํ(Context Switch)์ ์ํํ๋ ๋ชจ๋
- CPU๋ฅผ ์ค๋น ์ํ(Ready Queue)์ ์๋ ํ๋ก์ธ์ค๋ก ์ ํ.
- ์ปค๋ ๋ชจ๋(Kernel Mode)์์ ์ฌ์ฉ์ ๋ชจ๋(User Mode)๋ก ์ ํ.
๐ก CPU Mode
์ ์ ๋ชจ๋(User Mode)
- ์์ฉ ํ๋ก๊ทธ๋จ์ด CPU๋ฅผ ์ฌ์ฉํ ๋ ์ํ๋๋ ๋ชจ๋
- ์ดํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ ๋ชจ๋
์ปค๋ ๋ชจ๋(Kernel Mode)
- OS๊ฐ CPU๋ฅผ ์ฌ์ฉํ ๋ ์ํ๋๋ ๋ชจ๋
- ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ค๊ฐ ์ธํฐ๋ฝํธ ๊ฑธ๋ ค์ ์ด์์ฒด์ ๊ฐ ํธ์ถ๋ผ ์ํ๋๋ ๋ชจ๋
โ ๋ฌธ๋งฅ ๊ตํ (Context Switch)

โถ ์ ์:
- ํ ํ๋ก์ธ์ค์์ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก CPU ์คํ์ ์ ํํ๊ธฐ ์ํด, ์ด์ ํ๋ก์ธ์ค์ ์ํ(๋ฌธ๋งฅ)๋ฅผ ์ ์ฅํ๊ณ ์ ํ๋ก์ธ์ค์ ์ํ๋ฅผ ์ ์ฌํ๋ ์์
.
โถ ์๋ ๊ณผ์ :
- ํ์ฌ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ์ํ๋ฅผ PCB(Process Control Block)์ ์ ์ฅ.
- ์๋ก ์คํํ ํ๋ก์ธ์ค์ ์ํ๋ฅผ PCB์์ ๋ณต์.
- CPU์ ์ ์ด๊ถ์ ์ ํ๋ก์ธ์ค์ ์ ๋ฌ.
โถ ๋ฌธ๋งฅ์ ํฌํจ๋๋ ๋ด์ฉ:
- CPU ๋ ์ง์คํฐ ๊ฐ, ํ๋ก๊ทธ๋จ ์นด์ดํฐ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ ๋ณด, ํ๋ก์ธ์ค ์ํ
1-6. ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ ์ ํ ๊ธฐ์ค
์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ํจ์จ์ฑ ํ๊ฐ ๊ธฐ์ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- CPU ์ฌ์ฉ๋ฅ : ์ ์ฒด ์์คํ ์ ๋์ ์๊ฐ ์ค CPU๊ฐ ์ฌ์ฉ๋ ์๊ฐ์ ์ธก์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. 100%์ด๋ฉด CPU๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ค๋ ๊ฒ์ด๋ฏ๋ก ์ข์ ์๋ฏธ์ด๋ค.
- ์ฒ๋ฆฌ๋ : ๋จ์ ์๊ฐ ๋น ์์ ๋์ผ๋ก ํด์๋ก ์ข๋ค.
- ๋๊ธฐ ์๊ฐ : ์์ ์ ์์ฒญํ ํ๋ก์ธ์ค๊ฐ ์์ํ๊ธฐ ์ ๊น์ง ๋๊ธฐํ๋ ์๊ฐ์ด๋ค. ์งง์ ์๋ก ์ข๋ค.
- ์๋ต ์๊ฐ : ํ๋ก์ธ์ค ์์ ํ ์ถ๋ ฅ ๋๋ ๋ฐ์์ด ๋์ฌ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ผ๋ก ์งง์ ์๋ก ์ข๋ค.
- ๋ฐํ ์๊ฐ : ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋์ด ์์์ ๋ชจ๋ ๋ฐํํ๋ ๋ฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด๋ค. ๋ฐํ ์๊ฐ์ ๋๊ธฐ ์๊ฐ๊ณผ ์คํ ์๊ฐ์ ๋ํ ๊ฐ์ด๋ค.
์งํ | ์ ์ | ๋ชฉํ |
CPU ์ฌ์ฉ๋ฅ | ์ ์ฒด ์์คํ ์๊ฐ ์ค CPU๊ฐ ์์ ์ ์ฒ๋ฆฌํ๋ ์๊ฐ์ ๋น์จ | ์ต๋ํ |
์ฒ๋ฆฌ๋ | ์์ฒญ ํ ์๋ต์ด ์ค๊ธฐ ์์ํ ๋๊น์ง์ ์๊ฐ | ์ต๋ํ |
๋ฐํ์๊ฐ โ | ํ๋ก์ธ์ค๊ฐ ์์ํด์ ๋๋ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ | ์ต์ํ |
๋๊ธฐ์๊ฐ โ โ | ํ๋ก์ธ์ค๊ฐ ์ค๋น ํ์์ ๋๊ธฐํ ์๊ฐ์ ์ดํฉ | ์ต์ํ |
์๋ต์๊ฐ โ | ์์ฒญ ํ ์๋ต์ด ์ค๊ธฐ ์์ํ ๋๊น์ง์ ์๊ฐ | ์ต์ํ |

์ฌ๊ธฐ์ โญ๋๊ธฐ ์๊ฐโญ์ด ๋งค์ฐ ์ค์ํ๋ค. ๋ณดํต ์ค์ผ์ค๋ง ์ฑ๋ฅ์ ๋น๊ตํ ๋ ์ฃผ๋ก ํ๊ท ๋๊ธฐ ์๊ฐ์ ๋ณธ๋ค. ํ๊ท ๋๊ธฐ ์๊ฐ์ ๋ชจ๋ ํ๋ก์ธ์ค์ ๋๊ธฐ ์๊ฐ์ ํฉํ ๋ค ํ๋ก์ธ์ค์ ์๋ก ๋๋ ๊ฐ์ด๋ค.

[์์ ์์์์ ํ๊ท ๋๊ธฐ ์๊ฐ]
(p1 ๋๊ธฐ์๊ฐ + p2 ๋๊ธฐ์๊ฐ + p3 ๋๊ธฐ์๊ฐ) / 3
**p1์ ๋๊ธฐ ์๊ฐ์์ด ๋ฐ๋ก ์คํ๋๋ฏ๋ก ๋๊ธฐ ์๊ฐ์ด 0์ด๋ค.
2. Scheduling Algorithms (์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ)

๋๊ธฐ ์๊ฐ(Waiting Time) = ๋ง์ง๋ง ์์ ์์ ์๊ฐ - ๋์ฐฉ ์๊ฐ
๋ฐํ ์๊ฐ(Turnaround Time) = ์์ ์ข ๋ฃ ์๊ฐ - ๋์ฐฉ ์๊ฐ
2-1. FCFS(First Come First Served) ์ค์ผ์ค๋ง

- ๋จผ์ ์์ ์ฌ์ฉ์ ์์ฒญํ ํ๋ก์ธ์ค์๊ฒ ์์์ ํ ๋นํด์ฃผ๋ ๋ฐฉ์
- ๊ฐ์ฅ ๊ฐ๋จํ CPU ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ๋น์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
โ ๋๊ธฐ ์๊ฐ(Waiting Time) ๊ณ์ฐ
๋์ฐฉ ์๊ฐ์ ๋ชจ๋ 0์ด๋ผ๊ณ ๊ฐ์ ํ๋ค.
๐ ๋์ฐฉ ์์ : P1 โ P2 โ P3

- ํ๋ก์ธ์ค ๋ณ ๋๊ธฐ์๊ฐ(Wating Time)
- P1 = 0, P2 = 24, P3 = 27
- ์ด ๋๊ธฐ์๊ฐ(Total Wating Time)
- 0 + 24 + 27 = 51
- ํ๊ท ๋๊ธฐ์๊ฐ(Average Wating Time)
- 51 รท 3 = 17
๐ ๋์ฐฉ ์์ : P2 โ P3 โ P1

- ํ๋ก์ธ์ค ๋ณ ๋๊ธฐ์๊ฐ(Wating Time)
- P1 = 6, P2 = 0, P3 = 3
- ์ด ๋๊ธฐ์๊ฐ(Total Wating Time)
- 6 + 0 + 3 = 9
- ํ๊ท ๋๊ธฐ์๊ฐ(Average Wating Time)
- 9 รท 3 = 3
โ ๋ฐํ ์๊ฐ(Turnaround Time) ๊ณ์ฐ
๐ ๋์ฐฉ ์์ : P1 โ P2 โ P3

- ํ๋ก์ธ์ค ๋ณ ๋ฐํ์๊ฐ(Turnaround Time)
- P1 = 24, P2 = 27, P3 = 30
- ์ด ๋ฐํ์๊ฐ(Total Turnaround Time)
- 24 + 27 + 30 = 81
- ํ๊ท ๋ฐํ์๊ฐ(Average Wating Time)
- 81 รท 3 = 27
๐ ๋์ฐฉ ์์ : P2 โ P3 โ P1

- ํ๋ก์ธ์ค ๋ณ ๋ฐํ์๊ฐ(Turnaround Time)
- P1 = 30, P2 = 3, P3 = 6
- ์ด ๋ฐํ์๊ฐ(Total Turnaround Time)
- 30 + 3 + 6 = 39
- ํ๊ท ๋ฐํ์๊ฐ(Average Wating Time)
- 39 รท 3 = 13
๐ฅ ์ฅ๋จ์
FCFS ์ค์ผ์ค๋ง์ ๋จ์
1. ํ๋ก์ธ์๋ฅผ ์ฅ์๊ฐ ๋
์ ํ๋ ๊ฒฝ์ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ์ค๋ ๊ธฐ๋ค๋ ค์ผ ํจ (ํ๊ท ์๋ต์๊ฐ์ด ๊ธธ์ด์ง ์ ์์)
2. ๋ํํ ์์คํ
์ ๋ถ์ ํฉ (๋ํํ ์์คํ
- ์ฌ์ฉ์์ ์์คํ
๊ฐ์ ์ค์๊ฐ ๋ํ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์์คํ
. ์นดํก๊ณผ ๋น์ทํจ)
3. ์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๋ฅผ ๋นจ๋ฆฌ ์ฒ๋ฆฌํ์ง ๋ชปํ ์๋ ์์
๐ก ํธ์ก ํจ๊ณผ(Convoy Effect)
์์์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ ๋จผ์ ๋๋ฌํ์ฌ ์๊ฐ์ ์ก์๋จน๊ณ ์๋ ํ์
2-2. SJF(Shortest-Job-First) ์ค์ผ์ค๋ง
Shortest-Job-First = Shortest-next-CPU-burst-first
- ์ต๋จ ์์ ์ฐ์ ์ค์ผ์ค๋ง์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ SJF ์ค์ผ์ค๋ง์ FCFS ์ค์ผ์ค๋ง์ ๋จ์ ์ธ ํธ์ ํจ๊ณผ๋ฅผ ๋ฐฉ์งํ๋ ์๊ณ ๋ฆฌ์ฆ
- CPU ์ ์ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์ CPU๋ฅผ ๋จผ์ ํ ๋นํ๋ ๋ฐฉ์
- (๋จ, ๋ ๊ฐ ์ด์์ ํ๋ก์ธ์ค์ ์ ์ ์๊ฐ์ด ๊ฐ๋ค๋ฉด FCFS ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌ)
- ์ค๋น ํ์ ์๋ ํ๋ก์ธ์ค๋ค ์ค์์ CPU ์ฌ์ฉ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์คํํ๋ ๋ฐฉ์
- ๋น์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
๐ก ๊ธฐ์ ํ์ (starvation)
์ธ๋ป ๋ณด๊ธฐ์๋ ์์์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๋ถํฐ ์ฒ๋ฆฌํ๋ ํจ์จ์ ์ผ๋ก ๋ณด์ด์ง๋ง ์ฌ์ฉ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ ์์ํ CPU์ ํ ๋น์ ๋ชป ๋ฐ์ ์๋ ์๋ค๋ ๋ฌธ์ ์ ์ด ์๋ค.
โ ์์ ์กฐ๊ฑด
๋์ฐฉ ์๊ฐ์ ๋ชจ๋ 0์ด๋ผ๊ณ ๊ฐ์ ํ๋ค.
๊ฐ ํ๋ก์ธ์ค ๋ณ ์ ์ ์๊ฐ โผ

๐ก CPU burst time
ํ๋ก์ธ์ค๊ฐ ์คํ(running) ์ํ์ ์ง์ ํ ํ ๋๊ธฐ(waiting) ๋๋ ์ข ๋ฃ(terminated) ์ํ๋ก ๋ณํ๊ธฐ๊น์ง์ ์๊ฐ์ ์๋ฏธํ๋ค. ๋น์ ์ ์์คํ ์์๋ CPU๊ฐ ํ๋ก์ธ์ค์ CPU burst time๋์ ๊ทธ ํ๋ก์ธ์ค์๊ฒ ๋ ์ ์ ์ผ๋ก ํ ๋น๋๋ค.
โ ๋๊ธฐ ์๊ฐ(Waiting Time) ๊ณ์ฐ
- ํ๋ก์ธ์ค ๋ณ ๋๊ธฐ์๊ฐ(Wating Time)
- P1 = 3, P2 = 16, P3 = 9, P4 = 0
- ์ด ๋๊ธฐ์๊ฐ(Total Wating Time)
- 3 + 16 + 9 + 0 = 28
- ํ๊ท ๋๊ธฐ์๊ฐ(Average Wating Time)
- 28 รท 4 = 7
โ ๋ฐํ ์๊ฐ(Turnaround Time) ๊ณ์ฐ
- ํ๋ก์ธ์ค ๋ณ ๋ฐํ์๊ฐ(Turnaround Time)
- P1 = 9, P2 = 24, P3 = 16, P4 = 3
- ์ด ๋ฐํ์๊ฐ(Total Turnaround Time)
- 9 + 24 + 16 + 3 = 52
- ํ๊ท ๋ฐํ์๊ฐ(Average Wating Time)
- 52 รท 4 = 13
๐ฅ ์ฅ๋จ์
์ต์ ํ๊ท ๋๊ธฐ ์๊ฐ์ ์ํด ์ต์ ํ ๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์์์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๋ฅผ ๊ธด ํ๋ก์ธ์ค๋ณด๋ค ๋จผ์ ์ด๋
โ ๊ธด ํ๋ก์ธ์ค์ ๋๊ธฐ ์๊ฐ ์ฆ๊ฐ๋ > ์งง์ ํ๋ก์ธ์ค์ ๋๊ธฐ ์๊ฐ ๊ฐ์๋ โด ํ๊ท ๋๊ธฐ ์๊ฐ ๊ฐ์
์ฅ์ : ์ผ๊ด์ฒ๋ฆฌ ํ๊ฒฝ์์ ๊ตฌํํ๊ธฐ ์ฌ์
๋จ์ 1: ์ค์ ๋ก๋ ๋จผ์ ์ฒ๋ฆฌํ ํ๋ก์ธ์ค์ CPU ์๊ฐ์ ์์ํ ์ ์์
๋จ์ 2: ์๋ก ๋ค์ด์จ ์งง์ ํ๋ก์ธ์ค๊ฐ ๊ธด ํ๋ก์ธ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ฑฐ๋ ์ค์ํ ํ๋ก์ธ์ค๊ฐ ๋์ค์ ์ํ๋ ์๋ ์์. ๋ฐ๋ผ์ ์๋ถํ ์ด์์ฒด์ ๋ ์ค์๊ฐ ์ด์์ฒด์ ์๋ ๋ถ์ ํฉํ๋ค
2-3. Round Robin ์ค์ผ์ค๋ง

- ์๋ถํ ์ ์ FCFS ์ค์ผ์ค๋ง
- ์ฃผ๋ก ๋ํํ ์์คํ ์ ์ฌ์ฉ๋๋ค.
- ์ฝ๊ฒ ๋งํด์ ์ค์ผ์ค๋ฌ๊ฐ ์ค๋น ๋๊ธฐ์ด์ ๋์๋ค๋๋ฉฐ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ฐ์ ์์๋ฅผ ๋์ง ์๊ณ ์์๋๋ก ์๊ฐ๋จ์๋ก CPU๋ฅผ ํ ๋นํ๋ ๋ฐฉ์์ด๋ค.
- ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ ์์๋๋ก ํ๋ก์ธ์ค๋ฅผ ๋์คํจ์นํ์ง๋ง ์ ํด์ง ์๊ฐ ํ ๋น๋์ ์ํด ์คํ์ ์ ํํ๋ค.
- ์๊ฐ ํ ๋น๋์ ๋งค ํ๋ก์ธ์ค์ ์ฃผ๊ณ ํ ๋น๋ ์๊ฐ ์์ ์๋ฃํ์ง ๋ชปํ ํ๋ก์ธ์ค๋ ์ค๋น ํ์ ๋งจ ๋ค์ ๋ฐฐ์น๋๋๋ก ํ์ฌ CPU ๋ ์ ํ์ง ์๊ณ ๊ณตํํ๊ฒ ์ด์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ์ค๋น ๋๊ธฐ์ด(Ready Queue)๋ ์ํ ํ(Circular Queue)์ ํํ๋ก ๊ตฌํ๋๋ค.
๐ก ์๊ฐ ๋จ์(Time Quantum, Time Slice)
ํ๋ก์ธ์ค์๊ฒ ํ ๋น๋๋ ์ต๋ CPU ์๊ฐ
โ ๋์ ๋ฐฉ์
ํ๋ก์ธ์ค๊ฐ ์๊ฐ ๋จ์ ๋ฏธ๋ง์ CPU burst๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ
ํ๋ก์ธ์ค๊ฐ ์์จ์ ์ผ๋ก ๋ฐ๋ฉ
์ค์ผ์ค๋ฌ๊ฐ Ready Queue์ ๋ค์ ํ๋ก์ธ์ค ์งํ
ํ๋ก์ธ์ค๊ฐ ์๊ฐ ๋จ์๋ฅผ ์ด๊ณผํ CPU burst๋ฅผ ๊ฐ์ง๋ ๊ฒฝ์ฐ
ํ์ด๋จธ ์ข ๋ฃ ๋ฐ OS์ interrupt ๋ฐ์
๋ฌธ๋งฅ ๊ตํ(context switch) ์คํ
ํ๋ก์ธ์ค๊ฐ ์ค๋น ๋๊ธฐ์ด์ ๋งจ ๋ค์ ์์น
โ ์์ ์กฐ๊ฑด
๋์ฐฉ ์๊ฐ์ ๋ชจ๋ 0์ด๋ก ๊ฐ์ ํ๋ค.
์๊ฐ ๋จ์(Time Quantum)๋ 4ms๋ก ๊ฐ์ ํ๋ค.
Burst Time โผ

โ ๋๊ธฐ ์๊ฐ(Waiting Time) ๊ณ์ฐ
- ํ๋ก์ธ์ค ๋ณ ๋๊ธฐ์๊ฐ(Wating Time)
- P1 = 10 - 4 = 6
- P2 = 4
- P3 = 7
- ์ด ๋๊ธฐ์๊ฐ(Total Wating Time)
- 6 + 4 + 7 = 17
- ํ๊ท ๋๊ธฐ์๊ฐ(Average Wating Time)
- 17 รท 3 = 5.66
โ ๋ฐํ ์๊ฐ(Turnaround Time) ๊ณ์ฐ
- ํ๋ก์ธ์ค ๋ณ ๋ฐํ์๊ฐ(Turnaround Time)
- P1 = 30
- P2 = 7
- P3 = 10
- ์ด ๋ฐํ์๊ฐ(Total Turnaround Time)
- 30 + 7 + 10 = 47
- ํ๊ท ๋ฐํ์๊ฐ(Average Wating Time)
- 47 รท 3 = 15.66
๐ฅ ์ฅ๋จ์
ํ๊ท ๋๊ธฐ ์๊ฐ์ด ์ข
์ข
๊ธด ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
RR๋ ์ ์ ์ค์ผ์ค๋ง์ด๋ค.
โ ํ๋ก์ธ์ค์ Burst Time์ด ์๊ฐ ๋จ์๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ, ํด๋น ํ๋ก์ธ์ค๋ ์ค๋น ๋๊ธฐ์ด(Ready Queue)๋ก ๋์๊ฐ๊ฒ ๋๋ค.
์ฅ์ : CPU๋ฅผ ๋
์ ํ์ง ์๊ณ ๊ณตํํ๊ฒ ์ด์ฉํ์ฌ ์๋ถํ ์ด์์ฒด์ ์ ์ ํฉํ๋ค.
๋จ์ 1: ์๊ฐ ํ ๋น๋์ด ๋๋ฌด ํฌ๋ฉด FCFS ์ค์ผ์ค๋ง๊ณผ ๋์ผ
๋จ์ 2: ์๊ฐ ํ ๋น๋์ด ๋๋ฌด ์์ผ๋ฉด ๋๋ฌด ๋ง์ ๋ฌธ๋งฅ ๊ตํ ๋ฐ์์ผ๋ก ์ค๋ฒํค๋๊ฐ ์ปค์ง๋ค.
2-4. SRT(Shortest Remaining Time) ์ค์ผ์ค๋ง
- SJF ์๊ณ ๋ฆฌ์ฆ์ ์ ์ (preemptive) ์๊ณ ๋ฆฌ์ฆ ๋ฒ์ ์ผ๋ก, ์ค๋น ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค ์ค ๋จ์ ์คํ์๊ฐ์ด ๊ฐ์ฅ ์งง๋ค๊ณ ์์๋๋ ๊ฒ์ ๋จผ์ ๋์คํจ์นํ๋ค.
- ๋ํํ ์ด์์ฒด์ ์ ์ ์ฉํ๋ค.
- SRT๊ฐ SJF๋ณด๋ค ํ๊ท ๋๊ธฐ์๊ฐ์ด๋ ํ๊ท ๋ฐํ์๊ฐ์์ ํจ์จ์ ์ด๋ค.
- SRT๋ ์คํ๋๋ ๊ฐ ์์ ์ ์คํ์๊ฐ์ ์ถ์ ํ์ฌ ๊ฐ ํ๋ก์ธ์ค๊ฐ ์๋น์ค๋ฅผ ๋ฐ์ ์๊ฐ์ด ๊ธฐ๋ก๋์ด์ผ ํ๋ฉฐ ๋๋ก๋ ์ ์ ์ ์ํ ๋ฌธ๋งฅ ๊ตํ๋ ํด์ผ ํ๋ฏ๋ก SJF๋ณด๋ค ์ค๋ฒํค๋๊ฐ ๋ ํฌ๋ค.
โ ์์ ์กฐ๊ฑด

โ ๊ณ์ฐ ๊ฒฐ๊ณผ
๋๊ธฐ ์๊ฐ : P1 =9 , P2 = 1, P3 = 0, p4=2
๋ฐํ ์๊ฐ : P1 = 16, P2 = 5, P3 = 1 , P4 = 6
๋ฐ์์๊ฐ : P1 = 0, P2 = 0 , P3 = 0 , p4 = 2
ํ๊ท ๋๊ธฐ ์๊ฐ : (9+1+0+2)/4 = 3
๐ฅ ์ฅ๋จ์
์ฅ์ : SJF๋ณด๋ค ํ๊ท ๋๊ธฐ์๊ฐ์ด๋ ํ๊ท ๋ฐํ์๊ฐ์์ ํจ์จ์ ์
๋จ์ 1: ์ค์ ๋ก๋ ํ๋ก์ธ์ค์ CPU ์๊ฐ์ ์์ํ ์ ์์
๋จ์ 2: ๊ฐ ํ๋ก์ธ์ค์ ์คํ์๊ฐ ์ถ์ , ์ ์ ์ ์ํ ๋ฌธ๋งฅ๊ตํ์ ๋น์ฉ๋๋ฌธ์ SJF๋ณด๋ค ์ค๋ฒํค๋๊ฐ ํผ
2-5. HRN(Highest Response Ratio Next) ์ค์ผ์ค๋ง
- ์ค๋น ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค ์ค ์๋ต๋น์จ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๋จผ์ ๋์คํจ์นํ์ฌ ์คํํ๋ ๋น์ ์ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
- ์์์คํ์๊ฐ์ด ์งง์์๋ก, ๋๊ธฐ์๊ฐ์ด ๊ธธ์๋ก ์๋ต๋น์จ์ด ์ปค์ง.
- SJF ์ค์ผ์ค๋ง์ ๋จ์ ์ ๋ณด์ํ ๊ฒ์ผ๋ก SJF์์๋ ์์ ์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๊ฐ ๋จผ์ ๋ค์ด์๋๋ผ๋ ์ดํ์ ์คํ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๊ฐ ๊ณ์ํด์ ๋ค์ด์ค๋ฉด ์ฐ์ ์์์์ ๊ณ์ ๋ฐ๋ฆฌ๋ ํ์์ด ๋ฐ์ํ๋ค.
- ๊ทธ๋ฌ๋ HRH ์ค์ผ์ค๋ง์ ์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ผ ํ๋๋ผ๋ ๋๊ธฐ์๊ฐ์ด ๊ธธ์ด์ง๋ฉด ์๋ต๋น์จ๋ ์ปค์ ธ์ ์๊ธฐ๋ณด๋ค ์คํ์๊ฐ์ด ์งง์ ํ๋ก์ธ์ค๊ฐ ๋ค์ด์ค๋๋ผ๋ ์ฐ์ ์์์์ ๋ฐ๋ฆฌ์ง ์์ ์ ์๋ค
โ ๊ณ์ฐ์

โ ์์ ์กฐ๊ฑด & ๊ณ์ฐ๊ฒฐ๊ณผ
ํ๋ก์ธ์ค ๋ฒํธ | P1 | P2 | P3 |
์คํ์๊ฐ | 20 | 4 | 6 |
๋๊ธฐ์๊ฐ | 10 | 20 | 10 |
์ฐ์ ์์ ๊ณ์ฐ | (10 + 20) / 20 = 1.5 | (20 + 4) / 4 = 6 | (10 + 6) / 6 = 2.6 |
์ฐ์ ์์ | P2 โ P3 โ P1 |
๐ฅ ์ฅ๋จ์
์ฅ์ : SJF ์ค์ผ์ค๋ง์ ๋จ์ ์ ๋ณด์ํ๋๋ฐ, ์์์คํ์๊ฐ์ด ๊ธด ํ๋ก์ธ์ค๋ ์ค๋ ๋๊ธฐํ๋ฉด ์๋ต๋น์จ์ด ์ปค์ ธ ๋์ค์ ๋ค์ด์ค๋ ์งง์ ํ๋ก์ธ์ค๋ณด๋ค ๋จผ์ ๋์คํจ์น ๊ฐ๋ฅํ๋ค.
๋จ์ 1: ๋ชจ๋ ํ๋ก์ธ์ค์ ์คํ ์๊ฐ์ ์์์ผ ํ๋ฏ๋ก, ์ค์ ๋ก๋ ํ๋ก์ธ์ค์ CPU ์๊ฐ์ ์์ํ ์ ์๋ ์ํฉ์์๋ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์๋ค.
๋จ์ 2: ์ค๋ฒํค๋๊ฐ ํฌ์ง ์์ง๋ง, ๋๊ธฐ ์๊ฐ์ ๊ณ์ฐํ๋ ๊ณผ์ ์ด ์ถ๊ฐ๋๋ค.
2-6. ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ(Multilevel Feadback Queue) ์ค์ผ์ค๋ง
- ์ ์ ์ค์ผ์ค๋ง ๋ฐฉ์
- ์ ์ถ๋ ฅ ์ค์ฌ์ธ ํ๋ก์ธ์ค์ CPU ์ค์ฌ์ธ ํ๋ก์ธ์ค์ ํน์ฑ์ ๋ฐ๋ผ ์๋ก ๋ค๋ฅธ ์๊ฐ ํ ๋น๋์ ๋ถ์ฌ
- n๊ฐ์ ๋จ๊ณ๊ฐ ์๋ ๊ฒฝ์ฐ, ๊ฐ ๋จ๊ณ๋ง๋ค ํ๋์ฉ์ ํ๊ฐ ์กด์ฌํ๋ฉฐ, ๋จ๊ณ k๋ ๋จ๊ณ k+1์ ํผ๋๋ฐฑ์ ์ฃผ๋ฉฐ, ๋จ๊ณ๊ฐ ์ปค์ง์๋ก ์๊ฐ ํ ๋น๋์ ์ปค์ง๋ ํํ๋ก ๊ตฌ์ฑ

1) ์ฒ์ ํ๋ก์ธ์ค ๋์ฐฉํ๋ฉด ๋จ๊ณ 1 ํ์ ๋ค์ด๊ฐ๋ค. |
2) ํด๋น ํ์ ์๊ฐ ํ ๋น๋ ๋งํผ ๋์ฐฉํ ์์๋๋ก ํ๋ก์ธ์ค ์ฒ๋ฆฌ(FCFS) |
3) ์๊ฐ ํ ๋น๋์ ๋ค ์ผ์ง๋ง ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋์ง ๋ชปํ๋ค๋ฉด ๋ค์ ๋จ๊ณ์ ํ๋ก ์ด๋ ๋ฐฐ์น |
4) 3)์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉฐ ๋ง์ง๋ง n๋จ๊ณ ์๊ฐ ํ ๋น๋๋งํผ ์คํ ํ ์ข ๋ฃ๋์ง ๋ชปํ ๊ฒฝ์ฐ RR ์ค์ผ์ค๋ง ๋ฐฉ์์ผ๋ก ๋์ |
๋จ๊ณ k์ ํ์ ์๋ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น ๋ฐ์ผ๋ ค๋ฉด ๋จ๊ณ 1๋ถํฐ ๋จ๊ณ k-1๊น์ง ๋ชจ๋ ํ๊ฐ ๋น์ด์์ด์ผ ํ๋ค. |
โญ๊ทธ๋ฆผ ํ์ฅ์ผ๋ก ์์ฝโญ
์๋ ์ด๋ฏธ์ง๋ ์ ๋ฆฌ๊ฐ ์ ๋์ด ์๋ ๋ธ๋ก๊ทธ์์ ์ผ๊ด ํผ์์ต๋๋ค.
https://velog.io/@inhalin/knou-os-03







์ฐธ๊ณ ์๋ฃ & ํฌ์คํ ์์ฑ์ ๋์์ ์ฃผ์ ๋ธ๋ก๊ทธ (๊พธ๋ฒ )
1. https://www.inflearn.com/course/์ด์์ฒด์ -๊ณต๋ฃก์ฑ
-์ ๊ณต๊ฐ์/
2. ใOperating System Conceptsใ by Siberschatz et. al.
3. ๋ธ๋ก๊ทธ
ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
1.ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
medium.com
[์ด์์ฒด์ 03] ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ด์์ฒด์ (OS : Operating System) 3์ฅ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
hyuntaekhong.github.io
ํ๋ก์ธ์ค๋? (PCB, Context Switching)
ํ๋ก์ธ์ค(Process) ํ๋ก์ธ์ค๋ฅผ ๊ฐ๋จํ ํํํ๋ฉด ์คํ์ค์ธ ํ๋ก๊ทธ๋จ์ด๋ผ๊ณ ํํํ ์ ์๋ค. ๊ตฌ์ฒด์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์์์ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ผ๋ก ์ด์์ฒด์ ๋ก๋ถํฐ ์์(์ฃผ์ ๊ณต๊ฐ, ํ์ผ, ๋ฉ๋ชจ๋ฆฌ)์ ํ
seungjjun.tistory.com
OS #4. CPU ์ค์ผ์ค๋ง (CPU Scheduling)
์ค๋๋ง์ ์ด์์ฒด์ ๊ณต๋ถ๋ฅผ ๋ค์ ์์ํ๊ฒ ๋์๋ค. ์ด๋ฒ์๋ CPU ์ค์ผ์ค๋ง์ ๋ํด ์ ๋ฆฌํด ๋ณด๋ ค๊ณ ํ๋ค. CPU ์ค์ผ์ค๋ง์ด๋? CPU ์ค์ผ์ค๋ง์ ํ๋ก์ธ์ค๊ฐ ์์ ์ ์ํํ ๋, ์ธ์ ์ด๋ค ํ๋ก์ธ์ค์ CPU๋ฅผ
devowen.com
3๊ฐ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ
์ค์ผ์ค๋ง ์ฑ๋ฅ ํ๊ฐ ๊ธฐ์ค - ํ๊ท ๋๊ธฐ์๊ฐ, ํ๊ท ๋ฐํ์๊ฐ / ๋ค์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ - FCFS, SJF, SRT, RR, HRN, MFQ / ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ ๊ด๊ณ๋
velog.io
์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ(FCFS, RR, SJF, SRT, Priority, MLQ, MFQ)
FCFS(Frist Come First Served) ์ค์ผ์ค๋ง FCFS ์ค์ผ์ค๋ง์ ์ค๋น ํ์ ๋์ฐฉํ ์์๋๋ก CPU๋ฅผ ํ ๋นํด์ค๋ค. ๋น์ ์ ํ ๋ฐฉ์์ด๋ค. ํ ๋ฒ ์์ ๋๋ฉด ๊ทธ ํ๋ก์ธ์ค๊ฐ ๋๋์ผ๋ง ๋น๋ก์ ๋ค์ ํ๋ก์ธ์ค๋ฅผ ์คํผ ํ ์
velog.io
OS๋ ํ ๊ป๋ฐ ํต์ฌ๋ง ํฉ๋๋ค. 6ํธ ์ค์ผ์ค๋ง3, ์ ์ ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ(Round Robin, SRT, ์ฐ์ ์์ ๋ฐฉ
์ง๋ ์๊ฐ ์์๋ณธ ๋น์ ์ ์ ์ค์ผ์ค๋ง ๋ฐฉ์๊ณผ๋ ๋ฌ๋ฆฌ, ์ ์ ์ ์ค์ผ์ค๋ง ๋ฐฉ์์ CPU ์์์ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค์ ์ธํฐ๋ฝํธ๋ฅผ ๊ฑธ๊ณ , ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์คํ ์ํฌ ์ ์๋ค. ๊ทธ๋ผ ์ด๋ค ํ๋ก์ธ์ค๋ฅผ ์ฌ
velog.io
[์ด์์ฒด์ ] CPU ์ค์ผ์ค๋ง
์ค์ผ์ค๋ง ์ด๋ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ํฉ์ ๊ณ ๋ คํ์ฌ CPU์ ์์คํ ์์์ ์ด๋ป๊ฒ ๋ฐฐ์ ํ ์ง ๊ฒฐ์ ํ๋ ์ผ์ ๋งํ๋ค ์ค์ผ์ค๋ง์ ๋ชฉ์ ์ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ์์์ ๋ ์ ํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ค์๋์ ๋ฐ
velog.io
CPU ์ค์ผ์ค๋ง๊ณผ ์๊ณ ๋ฆฌ์ฆ
์ ๋ฒ์ PCB์ CPU ์ค์ผ์ค๋ง ์ ๋ณด๊ฐ ์ ์ฅ๋๋ค๊ณ ํ๋๋ฐ CPU ์ค์ผ์ค๋ง์ด ๋ญ์ง CPU ์ค์ผ์ค๋ง์ ๋ํด์ ์์๋ณด์. https://seungjjun.tistory.com/226 ํ๋ก์ธ์ค๋? (PCB, Context Switching) ํ๋ก์ธ์ค(Process) ํ๋ก์ธ์ค๋ฅผ
seungjjun.tistory.com
'ETC > ETC_Software' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๊ธ] ํ ๊ธ์จ ๊ฐ์ด๋ฐ ์ ๋ ฌ ์ ๋ง์ ๋ ํด๊ฒฐ๋ฒ (29) | 2025.01.24 |
---|---|
[chatGPT] ์ฑ์งํผํฐ ์ด๋ป๊ฒ ํ์ฉํ๋ฉด ์ข์๊น? (๊ฟํ) (24) | 2025.01.24 |
[chatGPT] BadGateway ์๋ฌ ํด๊ฒฐ๋ฒ (14) | 2025.01.23 |
[ํ๊ธ] ํ ์ ๋๋น์ ๊ธ์ ๊ฐ๊ฒฉ ๋ง์ถ๊ธฐ (๋ฐฐ๋ถ์ ๋ ฌ) (15) | 2025.01.23 |
[ํ๊ธ] ์ชฝ ๋ณต์ฌํ๊ธฐ ์ ๋ ๋ ํด๊ฒฐ๋ฒ (8) | 2025.01.23 |