โถ ์ด์์ฒด์ ์ข ๋ฅ
- ์๋์ฐ (Windows) : ๋ง์ดํฌ๋ก์ํํธ์ฌ์์ ๊ฐ๋ฐํ ์ด์์ฒด์
- ์ ๋์ค (Unix) : ๋ฏธ๊ตญ AT&T ๋ฒจ ์ฐ๊ตฌ์์์ ๊ฐ๋ฐํ ์ด์์ฒด์ โ ์ปค๋(Kernel) / ์(Shell) ๋ก ๊ตฌ์ฑ
- ๋ฆฌ๋ ์ค (Linux) : ๋ฆฌ๋์ค ํ ๋ฐ์ฆ๊ฐ ์ ๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ์ด์์ฒด์
- MacOS / iOS : ์ ํ์ด ์ ๋์ค ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ์ด์์ฒด์
- Android : ๊ตฌ๊ธ์ด ๋ฆฌ๋ ์ค ์ปค๋ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ๊ฐ๋ฐฉํ ๋ชจ๋ฐ์ผ ์ด์์ฒด์
โถ UNIX ๊ตฌ์ฑ ์์
โ ์ปค๋ (Kernel)
- ํ๋์จ์ด ๋ณดํธ / ํ๋ก๊ทธ๋จ ๋ฐ ํ๋์จ์ด ๊ฐ ์ธํฐํ์ด์ค ์ญํ
- ํ๋ก์ธ์ค ๊ด๋ฆฌ, ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ, ํ์ผ ๊ด๋ฆฌ, ์ ์ถ๋ ฅ ๊ด๋ฆฌ, ๋ฐ์ดํฐ ์ ์ก ๋ฐ ๋ณํ, ์ ํ๋ก๊ทธ๋จ ์คํ์ ์ํ ํ๋ก์ธ์ค ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
โ ์ (Shell)
- ์ฌ์ฉ์์ ๋ช ๋ น ์ธ์ / ํด์ ํ ์ปค๋๋ก ์ ๋ฌ, ๋ช ๋ น์ ์ํ
- (๋ฐ๋ณต์ ์ธ ๋ช ๋ น ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ ์ ๊ณต)
- ์์คํ ๊ณผ ์ฌ์ฉ์ ๊ฐ ์ธํฐํ์ด์ค ์ญํ
- ์ด๊ธฐํ ํ์ผ์ ์ด์ฉํด ์ฌ์ฉ์ ํ๊ฒฝ ์ค์
* UNIX Shell ํ๊ฒฝ ๋ณ์ : set, env, printenv, setenv
โถ ์ฃผ๊ธฐ์ต์ฅ์น
โ RAM (Random Access Memory)
- ํ๋ฐ์ฑ (์ ์ off ์ data ์์ด์ง) / ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ ์ ์ฅ
์๋ | ์ง์ ๋ | ์ ๋ ฅ์๋ชจ | ์ฌ์ถฉ์ | ์ฉ๋ | |
SRAM(์ ์ ) | ๋น ๋ฆ | ๋ฎ์ | ๋ง์ | ๋ถํ์ | ์บ์ |
DRAM(๋์ ) | ๋๋ฆผ | ๋์ | ์ ์ | ํ์ | ์ฃผ๊ธฐ์ต |
โ ROM (Read Only Memory)
- ์ ๋ ฅ ๊ณต๊ธ ์์ด๋ ๋ด์ฉ ์ฌ๋ผ์ง์ง ์์ (๋นํ๋ฐ์ฑ)
- CMOS SETUP ์ผ๋ก ๊ฐ ์์ ๊ฐ๋ฅ
- H/W์ S/W์ ์ค๊ฐ์ธ ์ผ์ข ์ ํ์จ์ด (Firmware)
- ์ ๋ฐ์ดํธ๋ง์ผ๋ก ์์คํ ์ฑ๋ฅ ํฅ์
- ๋ถํ ์ ๊ฐ์ฅ ๋จผ์ ๋์ํ์ฌ ์์ฒด ์ง๋จ (POST) ์คํ
- BIOS์๋ ๋ ์ง, ์ ์๊ด๋ฆฌ, ๋ถํ ์์, ๊ธฐ๋ณธ๊ธ๊ผด, ์นฉ์ , ์์คํ ์ํธ (Windows ์ํธ X), PnP (Plug and Play), ํ๋๋์คํฌ ํ์ , ์ํฐ๋ฐ์ด๋ฌ์ค ๋ฑ์ ์ ๋ณด ํฌํจ
Mask ROM | ์ ์กฐ ๊ณผ์ ์์ ์ ์ฅ๋ ROM, ์์ ์์ ๋ถ๊ฐ |
PROM | ํ๋ฒ๋ง ๊ธฐ๋ก ๊ฐ๋ฅ, ์ดํ๋ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ |
EPROM | ์์ธ์ ์ ํธ๋ฅผ ์ด์ฉํ ROM |
EEPROM | ์ ๊ธฐ ์ ํธ๋ฅผ ์ด์ฉํ ROM (ํ๋์ ๋ฉ๋ชจ๋ฆฌ) - BIOS ROM์ผ๋ก ํ์ฉ ๋ฐ ์ ๋ฐ์ดํธ ๊ฐ๋ฅ |
โถ ๊ธฐํ ๋ฉ๋ชจ๋ฆฌ
๋ ์ง์คํฐ (Register) |
CPU(์ค์์ฒ๋ฆฌ์ฅ์น) ๋ด๋ถ์์ ์ฒ๋ฆฌํ ๋ช
๋ น์ด๋ ์ฐ์ฐ์ ์ค๊ฐ ๊ฐ ๋ฑ์ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ (๋ฉ๋ชจ๋ฆฌ ์ค ๊ฐ์ฅ ๋น ๋ฅธ ์๋) |
์บ์ ๋ฉ๋ชจ๋ฆฌ | SRAM์ ์ด์ฉํด์ CPU(๋น ๋ฆ)์ ์ฃผ๊ธฐ์ต์ฅ์น(๋๋ฆผ) ์ฌ์ด์ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐ(๋ฒํผ๋ฉ๋ชจ๋ฆฌ ์ผ์ข
) โ ์บ์ ์ ์ค๋ฅ ์ด ๋์์๋ก ์์คํ ์ฒ๋ฆฌ ์๋ ์ฆ๊ฐ |
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ | ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ฒ๋ผ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ (๊ธฐ์ต์ฉ๋ ํ๋) ํฐ ํ๋ก๊ทธ๋จ ์คํ ๊ฐ๋ฅ / ๋งคํ-mapping ๋ฐฉ์ ํ์ |
ํ๋์ ๋ฉ๋ชจ๋ฆฌ | MP3๋ ๋์งํธ์นด๋ฉ๋ผ ๋ฑ์์ ์ฌ์ฉ๋๋ ์ผ์ข
์ EEPROM (๋นํ๋ฐ์ฑ) (ex, USB / SD card / NAND Flash / SATA Memory) |
๋ฒํผ ๋ฉ๋ชจ๋ฆฌ | ๋ฐ์ดํฐ ์ผ์์ ์ผ๋ก ์ ์ฅํด ๋ ์ฅ์น๊ฐ ๋ฐ์ดํฐ ์ ์ก ์๋ ์ฐจ์ด ํด๊ฒฐ |
์ฐ์(์ฐ๊ด) ๋ฉ๋ชจ๋ฆฌ | ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ ์ด์ฉํ์ฌ ๊ธฐ์ต์ฅ์น์ ์ ๊ทผ ํ ๋ฐ์ดํฐ ํ์ธ ๋ด์ฉ ์ฐธ์กฐ (๋งคํ-mapping ๋ฐฉ์) / ์ฃผ์๊ฐ ์๋ ๋ด์ฉ์ ์ฐธ์กฐ |
โ H/W ์ฒ๋ฆฌ ์๋ : ๋ ์ง์คํฐ > ์บ์ ๋ฉ๋ชจ๋ฆฌ > ์ฃผ๊ธฐ์ต ์ฅ์น > ๋ณด์กฐ๊ธฐ์ต์ฅ์น
โถ ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ ์ ๋ต
โ ๋ฐ์ ์ ๋ต (Fetch)
- ์๊ตฌ ๋ฐ์ : ํน์ ํ๋ก๊ทธ๋จ/๋ฐ์ดํฐ์ ์ฐธ์กฐ๋ฅผ '์๊ตฌ'ํ ๋ ์ ์ฌ
- ์์ ๋ฐ์ : ๋ฏธ๋์ ์ฐธ์กฐ๊ฐ '์์'๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฌ
โ ๋ฐฐ์น ์ ๋ต (Placement)
- ์ต์ด ์ ํฉ (First Fit) : ์ฌ์ฉ ๊ฐ๋ฅํ '์ฒซ ๋ฒ์งธ' ๋ถํ ์์ญ์ ๋ฐ์ดํฐ ๋ฐฐ์น
- ์ต์ ์ ํฉ (Best Fit) : ๋จํธํ๋ฅผ '์ต์ํ'ํ๋ ๋ถํ ์์ญ์ ๋ฐ์ดํฐ ๋ฐฐ์น
- ์ต์ ์ ํฉ (Worst Fit) : ๋จํธํ๋ฅผ '์ต๋ํ'ํ๋ ๋ถํ ์์ญ์ ๋ฐ์ดํฐ ๋ฐฐ์น
โ ๊ต์ฒด ์ ๋ต (Replacement)
- ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํ๊ณ ์ ํ ๋ ๊ธฐ์กด ์ฌ์ฉ ์ค ๋ฐ์ดํฐ๋ฅผ ๊ต์ฒด
- ex) FIFO, OPT, LRU, LFU, NUR...
โถ ํ์ด์ง ๋ถํ ๊ธฐ๋ฒ
1) ํ์ด์ง ๊ธฐ๋ฒ (Paing)
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ๋ณด๊ด๋ ํ๋ก๊ทธ๋จ๊ณผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ญ์ ๋์ผ ํฌ๊ธฐ๋ก ๋ถํ ํ ๋๋ ์ง ํ๋ก๊ทธ๋จ(ํ์ด์ง)์ ๋์ผํ๊ฒ ๋๋ ์ง ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ญ(ํ์ด์ง ํ๋ ์)์ ๋ฐฐ์นํ์ฌ ์คํํ๋ ๊ธฐ๋ฒ
- ๋ด๋ถ ๋จํธํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์กด์ฌ
- ์์ ํ์ด์ง ํฌ๊ธฐ : ํ์ด์ง ๋จํธํ ๊ฐ์ / ํ์ด์ง ์ด๋์๊ฐ ๊ฐ์ / ์ํน ์ ์ ์ง / ๋งต ํ ์ด๋ธ ํฌ๊ธฐ ์ปค์ง๋ฉฐ ๋งคํ ์๋ ๊ฐ์ / ์ ์ถ๋ ฅ ์๊ฐ ์ฆ๊ฐ
- ํฐ ํ์ด์ง ํฌ๊ธฐ : ๋งต ํ ์ด๋ธ ํฌ๊ธฐ ์์์ง๋ฉฐ ๋งคํ ์๋ ์ฆ๊ฐ / ์ ์ถ๋ ฅ ์๊ฐ ๊ฐ์, ํ์ด์ง ๋จํธํ ์ฆ๊ฐ / ํ์ด์ง ์ด๋์๊ฐ ์ฆ๊ฐ / ๋ถํ์ ๋ฐ์ดํฐ ์ ์ฌ

2) ์ธ๊ทธ๋จผํ ์ด์ ๊ธฐ๋ฒ (Segmentation)
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ๋ณด๊ด๋ ํ๋ก๊ทธ๋จ์ ๋ค์ํ ํฌ๊ธฐ์ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ถํ ํ (Segment) ์ฃผ๊ธฐ์ต ์ฅ์น์ ๋ฐฐ์น ๋ฐ ์คํ
- ์ธ๋ถ ๋จํธํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์กด์ฌ
- Pagin ๊ธฐ๋ฒ์ ๊ฒฝ์ฐ, ํ๋ก๊ทธ๋จ์ ๋์ผ ์ผ์ ํฌ๊ธฐ๋ก ๋ถํ ํจ

โถ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
OPT | - ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒด - ํ์ด์ง ๋ถ์ฌ ํ์๊ฐ ๊ฐ์ฅ ์ ๊ฒ ๋ฐ์ / ํจ์จ์ ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ |
FIFO | - First-in First-out - ๊ฐ์ฅ ๋จผ์ ๋ค์ด์ ๊ฐ์ฅ ์ค๋ ์์๋ ํ์ด์ง๋ฅผ ๊ต์ฒด |
LRU | - Least Recently Used - ์ต๊ทผ์ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ (์ค๋ ์ ์ ์ฌ์ฉ๋) ํ์ด์ง๋ฅผ ๊ต์ฒด |
LFU | - Least Frequently Used - ์ฌ์ฉ ๋น๋๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง๋ฅผ ๊ต์ฒด / ํ๋ฐํ ํ์ด์ง๋ ๊ต์ฒด X |
โถ ํ๋ก์ธ์ค (Process)
- ํ๋ก์ธ์(CPU)์ ์ํด ์ฒ๋ฆฌ๋๋ ์ฌ์ฉ์ / ์์คํ ํ๋ก๊ทธ๋จ
- ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB, Process Control Block)์ ํ๋ก์ธ์ค ์๋ณ์, ์ํ ๋ฑ์ ์ค์ ์ ๋ณผ๋ฅด ์ ์ฅ / ๊ฐ ํ๋ก์ธ์ค ์คํ ์ ๊ณ ์ PCB ์์ฑ, ์์ ์๋ฃ ํ PCB ์ ๊ฑฐ

- Dispatch : ์ค๋น ์ํ์์ ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์คํ ์ํ๋ก ์ ์ด๋๋ ๊ณผ์
- Wake up : ์ ์ถ๋ ฅ ์์ ์ด ์๋ฃ๋์ด ํ๋ก์ธ์ค๊ฐ ๋๊ธฐ ์ํ์์ ์ค๋น ์ํ๋ก ์ ์ด
- Context Switching (๋ฌธ๋งฅ ๊ตํ) : ์ด์ ํ๋ก์ธ์ค์ ์ํ ๋ ์ง์คํฐ ๋ด์ฉ ๋ณด๊ดํ๊ณ ๋ค์ ํ๋ก์ธ์ค์ ๋ ์ง์คํฐ๋ฅผ ์ ์ฌํ๋ ๊ณผ์
โถ ์ค๋ ๋ (Thread)
- ํ๋ก์ธ์ค ๋ด ์์ ๋จ์ / ํ๋ก๊ทธ๋จ ๋จ์
- ๋จ์ผ : ํ๋์ ํ๋ก์ธ์ค์ ํ๋์ ์ค๋ ๋ / ๋ค์ค : ํ๋์ ํ๋ก์ธ์ค์ ๋ณต์์ ์ค๋ ๋
- ๋์ผ ํ๋ก์ธ์ค ํ๊ฒฝ ๋ด ์๋ก ๋ค๋ฅธ ๋ ๋ฆฝ์ ๋ค์ค ์ค๋ ๋ ์ํ ๊ฐ๋ฅ
[์ฅ์ ]
- ํ ํ๋ก์ธ์ค ๋ด ๋ณต์์ ์ค๋ ๋ ์์ฑํ์ฌ ์์ ๋ณํ์ฑ ํฅ์
- ์๋ต ์๊ฐ ๋จ์ถ / ๊ธฐ์ต ์ฅ์ ๋ญ๋น ์ต์ํ / ํ๋ก์ธ์ค ๊ฐ ํต์ ํฅ์
- ์ด์์ฒด์ ์ฑ๋ฅ ๋ฐ ํ๋ก๊ทธ๋จ ์ฒ๋ฆฌ ํจ์จ ํฅ์ / ์ ๊ทผ ๊ฐ๋ฅํ ๊ธฐ์ต์ฅ์น ์ฌ์ฉ
์ฌ์ฉ์ ์์ค | ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ ์ค๋ ๋ ์ด์ฉ ์๋ ๋น ๋ฅด๋ ๊ตฌํ ์ด๋ ค์ |
์ปค๋ ์์ค | ์ด์์ฒด์ ์ ์ปค๋์ ์ํ ์ค๋ ๋ ์ด์ฉ ๊ตฌํ ์ฌ์ฐ๋ ์๋๊ฐ ๋๋ฆผ |
โถ ์ค์ผ์ค๋ง
- ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ ์์๋ฅผ ๊ฒฐ์ ํ๋ ๊ธฐ๋ฒ
1) ์ ์ ํ
์ด์์ฒด์ ๊ฐ ์คํ ์ค์ธ ํ๋ก์ธ์๋ก๋ถํฐ CPU๋ฅผ ๊ฐ์ ๋นผ์์
โ ํ๋ก์ธ์ ๋ณ CPU ์ฒ๋ฆฌ ์๊ฐ์ ์์ ์กฐ์ ์ผ๋ก ํจ์จ์ ์ด์ ๊ฐ๋ฅ / ๋์ ์ค๋ฒํค๋
Round Robin | - ์ฐ์ ์์ ์์ด ์๊ฐ ๋จ์๋ก CPU ํ ๋น (๊ณตํํ ์์ ๋ถ๋ฐฐ) |
SRT | - ๋น์ ์ ํ SJF ๊ธฐ๋ฒ์ ์ ์ ์ค์ผ์ค๋ง ํ์์ผ๋ก ๋ณ๊ฒฝ - ์์ฌ ์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์ CPU ์ฐ์ ํ ๋น |
๋ค๋จ๊ณ ํ | - ํ๋ก์ธ์ค๋ฅผ ๊ทธ๋ฃนํ ํ ๊ฐ ๊ทธ๋ฃน๋ง๋ค ๋ค๋ฅธ ์ค๋น ์ํ ํ๋ฅผ ์ฌ์ฉ - ํ์ ์ค๋น ์ํ์ ํ ์คํ ๊ฐ ์์ ์ค๋น ์ํ ํ ์ ์ ์ ์์ ํ๋ก์ธ์์ธ CPU ์ฐ์ ํ ๋น |
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ | - ํ๋ก์ธ์ค ์์ฑ ์ ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ์ค๋น ํ์ ๋ฑ๋ก๋๋ฉฐ ๋ฑ๋ก๋ ํ๋ก์ธ์ค๋ FCFS ์์๋ก CPU๋ฅผ ํ ๋น ๋ฐ์ ์คํ - ๋จ๊ณ๊ฐ ๋ด๋ ค๊ฐ์๋ก ์๊ฐ ํ ๋น๋(Time Quantum) ์ฆ๊ฐ |
2) ๋น์ ์ ํ
๊ธฐ์กด ํ๋ก์ธ์๊ฐ ์ ์ ํ๊ณ ์๋ CPU๋ฅผ ๋นผ์์ ์ ์์
โ ๋ฎ์ ์ฒ๋ฆฌ์จ / ์ ์ ์ค๋ฒํค๋
FCFS (First Cojme First Serve) |
- ํ๋ก์ธ์ ๋์ฐฉ ์์์ ๋ฐ๋ผ ์ฒ๋ฆฌ ์์ ๊ฒฐ์ (=FIFO) |
SJF (Shortest Job First) |
- ์ค๋น ์ํ์ ํ๋ก์ธ์ ์ค ์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ๊ฒ ๋ถํฐ ์ฒ๋ฆฌ |
HRN (Hightest Response ratio Next) |
- ์ฐ์ ์์๋ฅผ ๊ณ์ผํ์ฌ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ ์์ ๊ฒฐ์ - ์ฐ์ ์์ = (๋๊ธฐ์๊ฐ + ์๋น์ค ์๊ฐ) / ์๋น์ค ์๊ฐ - ์คํ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์๊ฐ ๋ถ๋ฆฌํ SJF ๊ธฐ๋ฒ์ ๋ณด์ |
โถ ๊ต์ฐฉ ์ํ (Dead Lock)
- ๋ ์ด์์ ํ๋ก์ธ์ค๋ค์ด ์๋ก ์ ์ ํ๊ณ ์๋ ์์์ ์๊ตฌํ๋ฉฐ ๋ฌดํ์ ๋๊ธฐํ๊ณ ์๋ ์ํ
[๊ต์ฐฉ ์ํ ํ์ ์ถฉ๋ถ ์กฐ๊ฑด]
์ํธ ๋ฐฐ์ (Mutual Exclusion) |
- ๊ต์ฐฉ ๋ฐ์ 4๊ฐ์ง ์กฐ๊ฑด ์ค ํ๋ ์ด์์ ์ฌ์ ์ ์ ๊ฑฐํ์ฌ ์๋ฐฉ |
์ ์ ๋ฐ ๋๊ธฐ (Hold and Wait) |
- ๋ฐ์๋ ๊ต์ฐฉ ์ํ๋ฅผ ์ ์ ํ ํผํด๊ฐ๋ ๋ฐฉ๋ฒ - ์ํ์ ์๊ณ ๋ฆฌ์ฆ(Banker's Algorithm) : ์ํ์์ ๋ชจ๋ ๊ณ ๊ฐ์ ์๊ตฌ๊ฐ ์ถฉ์กฑ๋๋๋ก ํ๊ธ์ ํ ๋นํ๋ ๋ฐ์ ์ ๋ |
๋น์ ์ (Non-preemption) |
- ๊ต์ฐฉ ์ํ์ ์๋ ํ๋ก์ธ์ค ๋ฐ ์์์ ๋ฐ๊ฒฌ / ์ ๊ฒ |
ํํ ๋๊ธฐ (Circular Wait) |
- ๊ต์ฐฉ ์ํ ์ ๋ฐ ํ๋ก์ธ์ค ์ข ๋ฃ / ํ๋ก์ธ์ค ๋ด ํ ๋น๋ ์์ ์ ์ |
โถ ๊ธฐ์ต์ฅ์น ๊ด๋ จ ์ฉ์ด
โ ์ค๋ ์ฑ (Thrashing)
- ํ๋ก์ธ์ค ์ฒ๋ฆฌ ์๊ฐ๋ณด๋ค ํ์ด์ง ๊ต์ฒด ์๊ฐ์ด ๋ ๋ง์์ง๋ ์ํ
- ์ ์ฒด ์์คํ ์ฑ๋ฅ ์ ํ / ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ๋ค๋ฐ ์ ์ค๋์ฑ ๋ฐ์
[๋ฐฉ์ง ๋ฐฉ๋ฒ] ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ ์ ์์ค ์ ์ง / ์ผ๋ถ ํ๋ก์ธ์ค ์ค๋จ / ํ์ด์ง ๋ถ์ฌ ๋น๋ ์กฐ์ / ์ํน ์
์ ์ง
โ ์ง์ญ์ฑ (Locality)
- ํ๋ก์ธ์ค ์คํ ๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น ์ฐธ์กฐ ์ ์ผ๋ถ ํ์ด์ง๋ง ์ง์ค ์ฐธ์กฐ
- ์๊ฐ๊ตฌ์ญ์ฑ : ํ ํ์ด์ง๋ฅผ ์ผ์ ์๊ฐ ๋์ ์ง์ค์ ์ผ๋ก ์ก์ธ์ค
โ ๋ฐ๋ณต/์ํ(Loop), ์คํ(Stack), ๋ถ ํ๋ก๊ทธ๋จ(Sub Routine)
- ๊ณต๊ฐ ๊ตฌ์ญ์ฑ : ํ๋ก๊ทธ๋จ ์คํ ์ ์ธ์ ํ ํ์ด์ง๋ค๋ ์ง์ค ์ฐธ์กฐ
โ ๋ฐฐ์ด ์ํ(Array Traversal), ์์ฐจ์ ์ฝ๋ ์คํ
โ ์ํน ์ (Working set)
- ์ผ์ ์๊ฐ ๋์ ์์ฃผ ์ฐธ์กฐํ๋ ํ์ด์ง๋ค์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ฃผ์์ผ ํ์ด์ง ๋ถ์ฌ ๋ฐ ๊ต์ฒด ํ์์ ์ต์ํ
โ ๊ธฐ์ต์ฅ์น ์ฌ์ฉ ์์ ํ
โ ํ์ด์ง ๋ถ์ฌ
- ํ๋ก์ธ์ค ์คํ ์ค ํ์ํ ํ์ด์ง๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น์ ๋๋ฝ(๋ถ์ฌ)
'ETC > ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
โถ ์ด์์ฒด์ ์ข ๋ฅ
- ์๋์ฐ (Windows) : ๋ง์ดํฌ๋ก์ํํธ์ฌ์์ ๊ฐ๋ฐํ ์ด์์ฒด์
- ์ ๋์ค (Unix) : ๋ฏธ๊ตญ AT&T ๋ฒจ ์ฐ๊ตฌ์์์ ๊ฐ๋ฐํ ์ด์์ฒด์ โ ์ปค๋(Kernel) / ์(Shell) ๋ก ๊ตฌ์ฑ
- ๋ฆฌ๋ ์ค (Linux) : ๋ฆฌ๋์ค ํ ๋ฐ์ฆ๊ฐ ์ ๋์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ์ด์์ฒด์
- MacOS / iOS : ์ ํ์ด ์ ๋์ค ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ์ด์์ฒด์
- Android : ๊ตฌ๊ธ์ด ๋ฆฌ๋ ์ค ์ปค๋ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ ๊ฐ๋ฐฉํ ๋ชจ๋ฐ์ผ ์ด์์ฒด์
โถ UNIX ๊ตฌ์ฑ ์์
โ ์ปค๋ (Kernel)
- ํ๋์จ์ด ๋ณดํธ / ํ๋ก๊ทธ๋จ ๋ฐ ํ๋์จ์ด ๊ฐ ์ธํฐํ์ด์ค ์ญํ
- ํ๋ก์ธ์ค ๊ด๋ฆฌ, ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ, ํ์ผ ๊ด๋ฆฌ, ์ ์ถ๋ ฅ ๊ด๋ฆฌ, ๋ฐ์ดํฐ ์ ์ก ๋ฐ ๋ณํ, ์ ํ๋ก๊ทธ๋จ ์คํ์ ์ํ ํ๋ก์ธ์ค ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
โ ์ (Shell)
- ์ฌ์ฉ์์ ๋ช ๋ น ์ธ์ / ํด์ ํ ์ปค๋๋ก ์ ๋ฌ, ๋ช ๋ น์ ์ํ
- (๋ฐ๋ณต์ ์ธ ๋ช ๋ น ํ๋ก๊ทธ๋จ์ ๋ง๋๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ ์ ๊ณต)
- ์์คํ ๊ณผ ์ฌ์ฉ์ ๊ฐ ์ธํฐํ์ด์ค ์ญํ
- ์ด๊ธฐํ ํ์ผ์ ์ด์ฉํด ์ฌ์ฉ์ ํ๊ฒฝ ์ค์
* UNIX Shell ํ๊ฒฝ ๋ณ์ : set, env, printenv, setenv
โถ ์ฃผ๊ธฐ์ต์ฅ์น
โ RAM (Random Access Memory)
- ํ๋ฐ์ฑ (์ ์ off ์ data ์์ด์ง) / ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ ์ ์ฅ
์๋ | ์ง์ ๋ | ์ ๋ ฅ์๋ชจ | ์ฌ์ถฉ์ | ์ฉ๋ | |
SRAM(์ ์ ) | ๋น ๋ฆ | ๋ฎ์ | ๋ง์ | ๋ถํ์ | ์บ์ |
DRAM(๋์ ) | ๋๋ฆผ | ๋์ | ์ ์ | ํ์ | ์ฃผ๊ธฐ์ต |
โ ROM (Read Only Memory)
- ์ ๋ ฅ ๊ณต๊ธ ์์ด๋ ๋ด์ฉ ์ฌ๋ผ์ง์ง ์์ (๋นํ๋ฐ์ฑ)
- CMOS SETUP ์ผ๋ก ๊ฐ ์์ ๊ฐ๋ฅ
- H/W์ S/W์ ์ค๊ฐ์ธ ์ผ์ข ์ ํ์จ์ด (Firmware)
- ์ ๋ฐ์ดํธ๋ง์ผ๋ก ์์คํ ์ฑ๋ฅ ํฅ์
- ๋ถํ ์ ๊ฐ์ฅ ๋จผ์ ๋์ํ์ฌ ์์ฒด ์ง๋จ (POST) ์คํ
- BIOS์๋ ๋ ์ง, ์ ์๊ด๋ฆฌ, ๋ถํ ์์, ๊ธฐ๋ณธ๊ธ๊ผด, ์นฉ์ , ์์คํ ์ํธ (Windows ์ํธ X), PnP (Plug and Play), ํ๋๋์คํฌ ํ์ , ์ํฐ๋ฐ์ด๋ฌ์ค ๋ฑ์ ์ ๋ณด ํฌํจ
Mask ROM | ์ ์กฐ ๊ณผ์ ์์ ์ ์ฅ๋ ROM, ์์ ์์ ๋ถ๊ฐ |
PROM | ํ๋ฒ๋ง ๊ธฐ๋ก ๊ฐ๋ฅ, ์ดํ๋ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ |
EPROM | ์์ธ์ ์ ํธ๋ฅผ ์ด์ฉํ ROM |
EEPROM | ์ ๊ธฐ ์ ํธ๋ฅผ ์ด์ฉํ ROM (ํ๋์ ๋ฉ๋ชจ๋ฆฌ) - BIOS ROM์ผ๋ก ํ์ฉ ๋ฐ ์ ๋ฐ์ดํธ ๊ฐ๋ฅ |
โถ ๊ธฐํ ๋ฉ๋ชจ๋ฆฌ
๋ ์ง์คํฐ (Register) |
CPU(์ค์์ฒ๋ฆฌ์ฅ์น) ๋ด๋ถ์์ ์ฒ๋ฆฌํ ๋ช
๋ น์ด๋ ์ฐ์ฐ์ ์ค๊ฐ ๊ฐ ๋ฑ์ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ (๋ฉ๋ชจ๋ฆฌ ์ค ๊ฐ์ฅ ๋น ๋ฅธ ์๋) |
์บ์ ๋ฉ๋ชจ๋ฆฌ | SRAM์ ์ด์ฉํด์ CPU(๋น ๋ฆ)์ ์ฃผ๊ธฐ์ต์ฅ์น(๋๋ฆผ) ์ฌ์ด์ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐ(๋ฒํผ๋ฉ๋ชจ๋ฆฌ ์ผ์ข
) โ ์บ์ ์ ์ค๋ฅ ์ด ๋์์๋ก ์์คํ ์ฒ๋ฆฌ ์๋ ์ฆ๊ฐ |
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ | ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ฅผ ์ฃผ๊ธฐ์ต์ฅ์น์ฒ๋ผ ์ฌ์ฉํ๋ ๋ฉ๋ชจ๋ฆฌ (๊ธฐ์ต์ฉ๋ ํ๋) ํฐ ํ๋ก๊ทธ๋จ ์คํ ๊ฐ๋ฅ / ๋งคํ-mapping ๋ฐฉ์ ํ์ |
ํ๋์ ๋ฉ๋ชจ๋ฆฌ | MP3๋ ๋์งํธ์นด๋ฉ๋ผ ๋ฑ์์ ์ฌ์ฉ๋๋ ์ผ์ข
์ EEPROM (๋นํ๋ฐ์ฑ) (ex, USB / SD card / NAND Flash / SATA Memory) |
๋ฒํผ ๋ฉ๋ชจ๋ฆฌ | ๋ฐ์ดํฐ ์ผ์์ ์ผ๋ก ์ ์ฅํด ๋ ์ฅ์น๊ฐ ๋ฐ์ดํฐ ์ ์ก ์๋ ์ฐจ์ด ํด๊ฒฐ |
์ฐ์(์ฐ๊ด) ๋ฉ๋ชจ๋ฆฌ | ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ฅผ ์ด์ฉํ์ฌ ๊ธฐ์ต์ฅ์น์ ์ ๊ทผ ํ ๋ฐ์ดํฐ ํ์ธ ๋ด์ฉ ์ฐธ์กฐ (๋งคํ-mapping ๋ฐฉ์) / ์ฃผ์๊ฐ ์๋ ๋ด์ฉ์ ์ฐธ์กฐ |
โ H/W ์ฒ๋ฆฌ ์๋ : ๋ ์ง์คํฐ > ์บ์ ๋ฉ๋ชจ๋ฆฌ > ์ฃผ๊ธฐ์ต ์ฅ์น > ๋ณด์กฐ๊ธฐ์ต์ฅ์น
โถ ๊ธฐ์ต์ฅ์น ๊ด๋ฆฌ ์ ๋ต
โ ๋ฐ์ ์ ๋ต (Fetch)
- ์๊ตฌ ๋ฐ์ : ํน์ ํ๋ก๊ทธ๋จ/๋ฐ์ดํฐ์ ์ฐธ์กฐ๋ฅผ '์๊ตฌ'ํ ๋ ์ ์ฌ
- ์์ ๋ฐ์ : ๋ฏธ๋์ ์ฐธ์กฐ๊ฐ '์์'๋๋ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฌ
โ ๋ฐฐ์น ์ ๋ต (Placement)
- ์ต์ด ์ ํฉ (First Fit) : ์ฌ์ฉ ๊ฐ๋ฅํ '์ฒซ ๋ฒ์งธ' ๋ถํ ์์ญ์ ๋ฐ์ดํฐ ๋ฐฐ์น
- ์ต์ ์ ํฉ (Best Fit) : ๋จํธํ๋ฅผ '์ต์ํ'ํ๋ ๋ถํ ์์ญ์ ๋ฐ์ดํฐ ๋ฐฐ์น
- ์ต์ ์ ํฉ (Worst Fit) : ๋จํธํ๋ฅผ '์ต๋ํ'ํ๋ ๋ถํ ์์ญ์ ๋ฐ์ดํฐ ๋ฐฐ์น
โ ๊ต์ฒด ์ ๋ต (Replacement)
- ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐฐ์นํ๊ณ ์ ํ ๋ ๊ธฐ์กด ์ฌ์ฉ ์ค ๋ฐ์ดํฐ๋ฅผ ๊ต์ฒด
- ex) FIFO, OPT, LRU, LFU, NUR...
โถ ํ์ด์ง ๋ถํ ๊ธฐ๋ฒ
1) ํ์ด์ง ๊ธฐ๋ฒ (Paing)
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ๋ณด๊ด๋ ํ๋ก๊ทธ๋จ๊ณผ ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ญ์ ๋์ผ ํฌ๊ธฐ๋ก ๋ถํ ํ ๋๋ ์ง ํ๋ก๊ทธ๋จ(ํ์ด์ง)์ ๋์ผํ๊ฒ ๋๋ ์ง ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ญ(ํ์ด์ง ํ๋ ์)์ ๋ฐฐ์นํ์ฌ ์คํํ๋ ๊ธฐ๋ฒ
- ๋ด๋ถ ๋จํธํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์กด์ฌ
- ์์ ํ์ด์ง ํฌ๊ธฐ : ํ์ด์ง ๋จํธํ ๊ฐ์ / ํ์ด์ง ์ด๋์๊ฐ ๊ฐ์ / ์ํน ์ ์ ์ง / ๋งต ํ ์ด๋ธ ํฌ๊ธฐ ์ปค์ง๋ฉฐ ๋งคํ ์๋ ๊ฐ์ / ์ ์ถ๋ ฅ ์๊ฐ ์ฆ๊ฐ
- ํฐ ํ์ด์ง ํฌ๊ธฐ : ๋งต ํ ์ด๋ธ ํฌ๊ธฐ ์์์ง๋ฉฐ ๋งคํ ์๋ ์ฆ๊ฐ / ์ ์ถ๋ ฅ ์๊ฐ ๊ฐ์, ํ์ด์ง ๋จํธํ ์ฆ๊ฐ / ํ์ด์ง ์ด๋์๊ฐ ์ฆ๊ฐ / ๋ถํ์ ๋ฐ์ดํฐ ์ ์ฌ

2) ์ธ๊ทธ๋จผํ ์ด์ ๊ธฐ๋ฒ (Segmentation)
- ๊ฐ์๊ธฐ์ต์ฅ์น์ ๋ณด๊ด๋ ํ๋ก๊ทธ๋จ์ ๋ค์ํ ํฌ๊ธฐ์ ๋ ผ๋ฆฌ์ ๋จ์๋ก ๋ถํ ํ (Segment) ์ฃผ๊ธฐ์ต ์ฅ์น์ ๋ฐฐ์น ๋ฐ ์คํ
- ์ธ๋ถ ๋จํธํ ๋ฐ์ ๊ฐ๋ฅ์ฑ ์กด์ฌ
- Pagin ๊ธฐ๋ฒ์ ๊ฒฝ์ฐ, ํ๋ก๊ทธ๋จ์ ๋์ผ ์ผ์ ํฌ๊ธฐ๋ก ๋ถํ ํจ

โถ ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
OPT | - ์์ผ๋ก ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ ํ์ด์ง๋ฅผ ๊ต์ฒด - ํ์ด์ง ๋ถ์ฌ ํ์๊ฐ ๊ฐ์ฅ ์ ๊ฒ ๋ฐ์ / ํจ์จ์ ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ |
FIFO | - First-in First-out - ๊ฐ์ฅ ๋จผ์ ๋ค์ด์ ๊ฐ์ฅ ์ค๋ ์์๋ ํ์ด์ง๋ฅผ ๊ต์ฒด |
LRU | - Least Recently Used - ์ต๊ทผ์ ๊ฐ์ฅ ์ค๋ซ๋์ ์ฌ์ฉํ์ง ์์ (์ค๋ ์ ์ ์ฌ์ฉ๋) ํ์ด์ง๋ฅผ ๊ต์ฒด |
LFU | - Least Frequently Used - ์ฌ์ฉ ๋น๋๊ฐ ๊ฐ์ฅ ์ ์ ํ์ด์ง๋ฅผ ๊ต์ฒด / ํ๋ฐํ ํ์ด์ง๋ ๊ต์ฒด X |
โถ ํ๋ก์ธ์ค (Process)
- ํ๋ก์ธ์(CPU)์ ์ํด ์ฒ๋ฆฌ๋๋ ์ฌ์ฉ์ / ์์คํ ํ๋ก๊ทธ๋จ
- ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(PCB, Process Control Block)์ ํ๋ก์ธ์ค ์๋ณ์, ์ํ ๋ฑ์ ์ค์ ์ ๋ณผ๋ฅด ์ ์ฅ / ๊ฐ ํ๋ก์ธ์ค ์คํ ์ ๊ณ ์ PCB ์์ฑ, ์์ ์๋ฃ ํ PCB ์ ๊ฑฐ

- Dispatch : ์ค๋น ์ํ์์ ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ์คํ ์ํ๋ก ์ ์ด๋๋ ๊ณผ์
- Wake up : ์ ์ถ๋ ฅ ์์ ์ด ์๋ฃ๋์ด ํ๋ก์ธ์ค๊ฐ ๋๊ธฐ ์ํ์์ ์ค๋น ์ํ๋ก ์ ์ด
- Context Switching (๋ฌธ๋งฅ ๊ตํ) : ์ด์ ํ๋ก์ธ์ค์ ์ํ ๋ ์ง์คํฐ ๋ด์ฉ ๋ณด๊ดํ๊ณ ๋ค์ ํ๋ก์ธ์ค์ ๋ ์ง์คํฐ๋ฅผ ์ ์ฌํ๋ ๊ณผ์
โถ ์ค๋ ๋ (Thread)
- ํ๋ก์ธ์ค ๋ด ์์ ๋จ์ / ํ๋ก๊ทธ๋จ ๋จ์
- ๋จ์ผ : ํ๋์ ํ๋ก์ธ์ค์ ํ๋์ ์ค๋ ๋ / ๋ค์ค : ํ๋์ ํ๋ก์ธ์ค์ ๋ณต์์ ์ค๋ ๋
- ๋์ผ ํ๋ก์ธ์ค ํ๊ฒฝ ๋ด ์๋ก ๋ค๋ฅธ ๋ ๋ฆฝ์ ๋ค์ค ์ค๋ ๋ ์ํ ๊ฐ๋ฅ
[์ฅ์ ]
- ํ ํ๋ก์ธ์ค ๋ด ๋ณต์์ ์ค๋ ๋ ์์ฑํ์ฌ ์์ ๋ณํ์ฑ ํฅ์
- ์๋ต ์๊ฐ ๋จ์ถ / ๊ธฐ์ต ์ฅ์ ๋ญ๋น ์ต์ํ / ํ๋ก์ธ์ค ๊ฐ ํต์ ํฅ์
- ์ด์์ฒด์ ์ฑ๋ฅ ๋ฐ ํ๋ก๊ทธ๋จ ์ฒ๋ฆฌ ํจ์จ ํฅ์ / ์ ๊ทผ ๊ฐ๋ฅํ ๊ธฐ์ต์ฅ์น ์ฌ์ฉ
์ฌ์ฉ์ ์์ค | ์ฌ์ฉ์๊ฐ ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํ ์ค๋ ๋ ์ด์ฉ ์๋ ๋น ๋ฅด๋ ๊ตฌํ ์ด๋ ค์ |
์ปค๋ ์์ค | ์ด์์ฒด์ ์ ์ปค๋์ ์ํ ์ค๋ ๋ ์ด์ฉ ๊ตฌํ ์ฌ์ฐ๋ ์๋๊ฐ ๋๋ฆผ |
โถ ์ค์ผ์ค๋ง
- ์ฌ๋ฌ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ ์์๋ฅผ ๊ฒฐ์ ํ๋ ๊ธฐ๋ฒ
1) ์ ์ ํ
์ด์์ฒด์ ๊ฐ ์คํ ์ค์ธ ํ๋ก์ธ์๋ก๋ถํฐ CPU๋ฅผ ๊ฐ์ ๋นผ์์
โ ํ๋ก์ธ์ ๋ณ CPU ์ฒ๋ฆฌ ์๊ฐ์ ์์ ์กฐ์ ์ผ๋ก ํจ์จ์ ์ด์ ๊ฐ๋ฅ / ๋์ ์ค๋ฒํค๋
Round Robin | - ์ฐ์ ์์ ์์ด ์๊ฐ ๋จ์๋ก CPU ํ ๋น (๊ณตํํ ์์ ๋ถ๋ฐฐ) |
SRT | - ๋น์ ์ ํ SJF ๊ธฐ๋ฒ์ ์ ์ ์ค์ผ์ค๋ง ํ์์ผ๋ก ๋ณ๊ฒฝ - ์์ฌ ์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ํ๋ก์ธ์ค์ CPU ์ฐ์ ํ ๋น |
๋ค๋จ๊ณ ํ | - ํ๋ก์ธ์ค๋ฅผ ๊ทธ๋ฃนํ ํ ๊ฐ ๊ทธ๋ฃน๋ง๋ค ๋ค๋ฅธ ์ค๋น ์ํ ํ๋ฅผ ์ฌ์ฉ - ํ์ ์ค๋น ์ํ์ ํ ์คํ ๊ฐ ์์ ์ค๋น ์ํ ํ ์ ์ ์ ์์ ํ๋ก์ธ์์ธ CPU ์ฐ์ ํ ๋น |
๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ | - ํ๋ก์ธ์ค ์์ฑ ์ ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ์ค๋น ํ์ ๋ฑ๋ก๋๋ฉฐ ๋ฑ๋ก๋ ํ๋ก์ธ์ค๋ FCFS ์์๋ก CPU๋ฅผ ํ ๋น ๋ฐ์ ์คํ - ๋จ๊ณ๊ฐ ๋ด๋ ค๊ฐ์๋ก ์๊ฐ ํ ๋น๋(Time Quantum) ์ฆ๊ฐ |
2) ๋น์ ์ ํ
๊ธฐ์กด ํ๋ก์ธ์๊ฐ ์ ์ ํ๊ณ ์๋ CPU๋ฅผ ๋นผ์์ ์ ์์
โ ๋ฎ์ ์ฒ๋ฆฌ์จ / ์ ์ ์ค๋ฒํค๋
FCFS (First Cojme First Serve) |
- ํ๋ก์ธ์ ๋์ฐฉ ์์์ ๋ฐ๋ผ ์ฒ๋ฆฌ ์์ ๊ฒฐ์ (=FIFO) |
SJF (Shortest Job First) |
- ์ค๋น ์ํ์ ํ๋ก์ธ์ ์ค ์คํ ์๊ฐ์ด ๊ฐ์ฅ ์งง์ ๊ฒ ๋ถํฐ ์ฒ๋ฆฌ |
HRN (Hightest Response ratio Next) |
- ์ฐ์ ์์๋ฅผ ๊ณ์ผํ์ฌ ํ๋ก์ธ์ค์ ์ฒ๋ฆฌ ์์ ๊ฒฐ์ - ์ฐ์ ์์ = (๋๊ธฐ์๊ฐ + ์๋น์ค ์๊ฐ) / ์๋น์ค ์๊ฐ - ์คํ ์๊ฐ์ด ๊ธด ํ๋ก์ธ์๊ฐ ๋ถ๋ฆฌํ SJF ๊ธฐ๋ฒ์ ๋ณด์ |
โถ ๊ต์ฐฉ ์ํ (Dead Lock)
- ๋ ์ด์์ ํ๋ก์ธ์ค๋ค์ด ์๋ก ์ ์ ํ๊ณ ์๋ ์์์ ์๊ตฌํ๋ฉฐ ๋ฌดํ์ ๋๊ธฐํ๊ณ ์๋ ์ํ
[๊ต์ฐฉ ์ํ ํ์ ์ถฉ๋ถ ์กฐ๊ฑด]
์ํธ ๋ฐฐ์ (Mutual Exclusion) |
- ๊ต์ฐฉ ๋ฐ์ 4๊ฐ์ง ์กฐ๊ฑด ์ค ํ๋ ์ด์์ ์ฌ์ ์ ์ ๊ฑฐํ์ฌ ์๋ฐฉ |
์ ์ ๋ฐ ๋๊ธฐ (Hold and Wait) |
- ๋ฐ์๋ ๊ต์ฐฉ ์ํ๋ฅผ ์ ์ ํ ํผํด๊ฐ๋ ๋ฐฉ๋ฒ - ์ํ์ ์๊ณ ๋ฆฌ์ฆ(Banker's Algorithm) : ์ํ์์ ๋ชจ๋ ๊ณ ๊ฐ์ ์๊ตฌ๊ฐ ์ถฉ์กฑ๋๋๋ก ํ๊ธ์ ํ ๋นํ๋ ๋ฐ์ ์ ๋ |
๋น์ ์ (Non-preemption) |
- ๊ต์ฐฉ ์ํ์ ์๋ ํ๋ก์ธ์ค ๋ฐ ์์์ ๋ฐ๊ฒฌ / ์ ๊ฒ |
ํํ ๋๊ธฐ (Circular Wait) |
- ๊ต์ฐฉ ์ํ ์ ๋ฐ ํ๋ก์ธ์ค ์ข ๋ฃ / ํ๋ก์ธ์ค ๋ด ํ ๋น๋ ์์ ์ ์ |
โถ ๊ธฐ์ต์ฅ์น ๊ด๋ จ ์ฉ์ด
โ ์ค๋ ์ฑ (Thrashing)
- ํ๋ก์ธ์ค ์ฒ๋ฆฌ ์๊ฐ๋ณด๋ค ํ์ด์ง ๊ต์ฒด ์๊ฐ์ด ๋ ๋ง์์ง๋ ์ํ
- ์ ์ฒด ์์คํ ์ฑ๋ฅ ์ ํ / ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ๋ค๋ฐ ์ ์ค๋์ฑ ๋ฐ์
[๋ฐฉ์ง ๋ฐฉ๋ฒ] ๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ ์ ์์ค ์ ์ง / ์ผ๋ถ ํ๋ก์ธ์ค ์ค๋จ / ํ์ด์ง ๋ถ์ฌ ๋น๋ ์กฐ์ / ์ํน ์
์ ์ง
โ ์ง์ญ์ฑ (Locality)
- ํ๋ก์ธ์ค ์คํ ๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น ์ฐธ์กฐ ์ ์ผ๋ถ ํ์ด์ง๋ง ์ง์ค ์ฐธ์กฐ
- ์๊ฐ๊ตฌ์ญ์ฑ : ํ ํ์ด์ง๋ฅผ ์ผ์ ์๊ฐ ๋์ ์ง์ค์ ์ผ๋ก ์ก์ธ์ค
โ ๋ฐ๋ณต/์ํ(Loop), ์คํ(Stack), ๋ถ ํ๋ก๊ทธ๋จ(Sub Routine)
- ๊ณต๊ฐ ๊ตฌ์ญ์ฑ : ํ๋ก๊ทธ๋จ ์คํ ์ ์ธ์ ํ ํ์ด์ง๋ค๋ ์ง์ค ์ฐธ์กฐ
โ ๋ฐฐ์ด ์ํ(Array Traversal), ์์ฐจ์ ์ฝ๋ ์คํ
โ ์ํน ์ (Working set)
- ์ผ์ ์๊ฐ ๋์ ์์ฃผ ์ฐธ์กฐํ๋ ํ์ด์ง๋ค์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์์ฃผ์์ผ ํ์ด์ง ๋ถ์ฌ ๋ฐ ๊ต์ฒด ํ์์ ์ต์ํ
โ ๊ธฐ์ต์ฅ์น ์ฌ์ฉ ์์ ํ
โ ํ์ด์ง ๋ถ์ฌ
- ํ๋ก์ธ์ค ์คํ ์ค ํ์ํ ํ์ด์ง๊ฐ ์ฃผ๊ธฐ์ต์ฅ์น์ ๋๋ฝ(๋ถ์ฌ)