OS
์ด์์ฒด์ ์ ๋ชฉ์
์ปดํจํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํ ํ๋์จ์ด ๊ด๋ฆฌ
CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ, ํค๋ณด๋, ๋ง์ฐ์ค, ๋ชจ๋ํฐ, ๋คํธ์ํฌ
์ด์์ฒด์ ์ ์ฑ๋ฅ๊ณผ ์ปดํจํฐ์ ์ฑ๋ฅ์ ๋น๋ก
์ฌ์ฉ์์๊ฒ ํธ์๋ฅผ ์ ๊ณต
ํ๋ก์ธ์ค, ์ค๋ ๋
์ค์ผ์ค๋ง
๋๊ธฐํ
IPC ํต์
์ปดํจํฐ ์์คํ
์ ๋์ ์๋ฆฌ
โจ ๋ถํ
(Booting)

Processor๋ ์ผ๋ฐ์ ์ผ๋ก CPU๋ฅผ ๋งํฉ๋๋ค.
Main Memory
ROM : ๋นํ๋ฐ์ฑ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ ๊ฒ ์ฐจ์ง(์ KB)
RAM : ํ๋ฐ์ฑ์ผ๋ก ๋๋ถ๋ถ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋ฉฐ, ์ค์ ํ๋ก๊ทธ๋จ์ด ํ ๋น๋๋ ๊ณณ(์ MB ~ ์ GB)
Booting
์ปดํจํฐ ์ ์ ์ผ์ง
ํ๋ก์ธ์์์ ROM์ ์๋ ๋ด์ฉ ์ฝ์
POST(Power-On-Self-Test) ํ๋ก๊ทธ๋จ์ผ๋ก ํ์ฌ ์ปดํจํฐ์ ์ํ๋ฅผ ๊ฒ์ฌ
Boot loader๊ฐ ํ๋๋์คํฌ์ ์ ์ฅ๋์ด ์๋ ์ด์์ฒด์ ๋ฅผ ์ฐพ์์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ (RAM)์ ๊ฐ์ ธ ์ด

OS
์ปค๋ (Kernel)
์ด์์ฒด์ ๊ฐ ์ํํ๋ ๋ชจ๋ ๊ฒ์ด ์ ์ฅ๋์ด ์์
๋ช ๋ น์ด ํด์๊ธฐ (Command interpreter, shell)
์ฌ์ฉ์๊ฐ ์ปค๋์ ์์ฒญํ๋ ๋ช ๋ น์ด๋ฅผ ํด์ํ์ฌ ์ปค๋์ ์์ฒญํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅ

โจ ์ด์์ฒด์ ์ ์์น

reference
Process & Thread
โจ ํ๋ก์ธ์ค
์คํ ์ค์ธ ํ๋ก๊ทธ๋จ
๋์คํฌ๋ก๋ถํฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด CPU์ ํ ๋น์ ๋ฐ์ ์์ ์ ๋จ์
์ด์์ฒด์ ๋ก๋ถํฐ ์์คํ ์์์ ํ ๋น ๋ฐ์
CPU ์๊ฐ
์ด์๋๊ธฐ ์ํ ์ฃผ์ ๊ณต๊ฐ
Code, Data, Stack, Heap ๊ตฌ๋ก์ ๋ ๋ฆฝ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ

๊ธฐ๋ณธ์ ์ผ๋ก ํ๋ก์ธ์ค๋ง๋ค ์ต์ 1๊ฐ์ ์ค๋ ๋ ์กด์ฌ (๋ฉ์ธ ์ค๋ ๋)
ํ๋ก์ธ์ค๋ ๊ฐ๊ฐ ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ์์ญ(์ฃผ์ ๊ณต๊ฐ)์ ํ ๋น ๋ฐ์ (Code, Data, Stack, Heap)
ํ ํ๋ก์ธ์ค๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ์ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ํด์๋ IPC ํต์ ์ด ํ์
ํ์ดํ, ํ์ผ, ์์ผ ๋ฑ์ ์ด์ฉํ ํต์ ๋ฐฉ๋ฒ ์ด์ฉ
โจ ํ๋ก์ธ์ค ์ ์ด ๋ธ๋ก(Process Control Block, PCB)
ํน์ ํ๋ก์ธ์ค์ ๋ํ ์ค์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ์๋ ์ปค๋ ๋ด ์๋ฃ๊ตฌ์กฐ
OS๋ ํ๋ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ์ํด ํ๋ก์ธ์ค์ ๊ณ ์ PCB๋ฅผ ์์ฑ
*์๋ ๋ ์์์*
โจ ์ค๋ ๋
ํ๋ก์ธ์ค์ ์คํ ๋จ์
ํ ํ๋ก์ธ์ค ๋ด์์ ๋์๋๋ ์ฌ๋ฌ ์คํ ํ๋ฆ์ผ๋ก ํ๋ก์ธ์ค ๋ด์ ์ฃผ์ ๊ณต๊ฐ์ด๋ ์์ ๊ณต์ ๊ฐ๋ฅ

์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์ Code, Data, Heap ์์ญ์ ๋ค๋ฅธ ์ค๋ ๋์ ๊ณต์ ํ๊ณ Stack ์์ญ์ ๋ฐ๋ก ํ ๋น ๋ฐ์
์ค๋ ๋๋ ๋ณ๋์ ๋ ์ง์คํฐ์ ์คํ์ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๋ค๋ฅธ ์์ญ์ ๊ณต์
ํ ์ค๋ ๋๊ฐ ํ๋ก์ธ์ค์ ์์์ ๋ณ๊ฒฝํ๋ฉด, ๋ค๋ฅธ ์ค๋ ๋๋ ๊ทธ ๋ณ๊ฒฝ ๊ฒฐ๊ณผ๋ฅผ ์ฆ์ ํ์ธ ๊ฐ๋ฅ
โจ ๋ฉํฐ ํ๋ก์ธ์ค (Multi Process)
ํ๋์ ์์ฉํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๋ก ๊ตฌ์ฑ,
๊ฐ ํ๋ก์ธ์ค๊ฐ ํ๋์ ์์ ์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ๊ฒ
์ฅ์
์์ ์ฑ : ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ฃฝ์ด๋ ๊ทธ ์์ ํ๋ก์ธ์ค๋ง ์ฃฝ๋ ๊ฒ ์ด์์ผ๋ก ๋ค๋ฅธ ์ํฅ์ด ํ์ฐ๋์ง ์์
๋จ์
Context Switching์์์ ์ค๋ฒ ํค๋
ํ๋ก์ธ์ค ๊ฐ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ ์์
์บ์ ๋ฉ๋ชจ๋ฆฌ ์ด๊ธฐํ ๋ฑ ๋ฌด๊ฑฐ์ด ์์ ์งํ
ํ๋ก์ธ์ค ๊ฐ ํต์ ๊ธฐ๋ฒ IPC
์ด๋ ต๊ณ ๋ณต์กํจ
โจ ๋ฉํฐ ์ค๋ ๋ (Multi Thread)
ํ๋์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๋ก ๊ตฌ์ฑ,
๊ฐ ์ค๋ ๋๊ฐ ํ๋์ ์์ ์ ์ฒ๋ฆฌํ๋๋ก ํ๋ ๊ฒ
์ฅ์
ํจ์จ์ฑ
๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ, ์์คํ ์์ ์๋ชจ ๊ฐ์
์ค๋ ๋ ๊ฐ ํต์ ์, Heap์์ญ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํต์ ๋ฐฉ๋ฒ ๊ฐ๋จ
Context switching ์ , ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋น์ธ ํ์๊ฐ ์์ด, ๋น์ฉ์ด ์ ๊ณ ๋น ๋ฆ โ ?
๋จ์
์์ ๊ณต์ ์ ๋ฌธ์ (๋๊ธฐํ)
ํ๋์ ์ค๋ ๋์ ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ์ ์ฒด ํ๋ก์ธ์ค์ ์ํฅ
์ฃผ์ ๊น์ ์ค๊ณ๊ฐ ํ์, ๋๋ฒ๊น ๊น๋ค๋ก์ โ ?
โจ Question
๋๊ธฐํ ๋ฌธ์
โจ ์ค๋ ๋ ๋๊ธฐํ
์คํ ์์์ ๋๊ธฐํ
: ์ค๋ ๋์ ์คํ ์์๋ฅผ ์ ์ํ๊ณ , ์ด ์์๋ฅผ ๋ฐ๋์ ๋ฐ๋ฅด๋๋ก ํ๋ ๊ฒ
๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ๋ํ ๋๊ธฐํ
: ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์์ด์ ๋์ ์ ๊ทผ์ ๋ง๋ ๊ฒ
(ํ๋์ ์ค๋ ๋๋ง ํด๋น ์์์ ์ ๊ทผํ๋๋ก ํ๋ ๊ฒ)
โจ ๋๊ธฐํ ๊ธฐ๋ฒ
์ ์ ๋ชจ๋์ ๋๊ธฐํ
์ปค๋์ ํ์ ๋น๋ฆฌ์ง ์๋ ๋๊ธฐํ ๊ธฐ๋ฒ
์ฑ๋ฅ์ ์ด์ ์ด ์์ผ๋ ๊ธฐ๋ฅ์์ ์ ํ์ ์กด์ฌ
์๊ณ ๊ตฌ์ญ ๊ธฐ๋ฐ์ ๋๊ธฐํ
์ธํฐ๋ฝ ํจ์ ๊ธฐ๋ฐ์ ๋๊ธฐํ
์ปค๋ ๋ชจ๋์ ๋๊ธฐํ
์ปค๋์์ ์ ๊ณตํ๋ ๋๊ธฐํ ๊ธฐ๋ฅ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ
์ปค๋ ๋ชจ๋๋ก์ ๋ณ๊ฒฝ์ด ํ์ํ๊ณ ์ด๋ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง์ง๋ง, ๋ค์ํ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์
์ธ๋งํฌ์ด
๋ฎคํ ์ค
๋ชจ๋ํฐ
โจ Q
์ธ๋งํฌ์ด(Semaphore) & ๋ฎคํ
์ค(Mutex)
โจ ์๊ณ ๊ตฌ์ญ(Critical Section)
์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฉฐ ์ํ๋ ๋, ๊ฐ ํ๋ก์ธ์ค์์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทผํ๋ ํ๋ก๊ทธ๋จ ์ฝ๋ ๋ถ๋ถ
๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์์ ์ ๊ทผํ ๋ ์๋ชป๋ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค ์ ์๊ธฐ ๋๋ฌธ์, ํ ํ๋ก์ธ์ค๊ฐ ์๊ณ ๊ตฌ์ญ์ ์ํํ ๋๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ์ง ๋ชปํ๋๋ก ํด์ผ ํฉ๋๋ค.
โจ ๋ฎคํ
์ค ์๊ณ ๋ฆฌ์ฆ
PCB์ Context Switching
โจ Process Management
CPU ํ๋ก์ธ์ค๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๋, CPU ์ค์ผ์ค๋ง์ ํตํด ๊ด๋ฆฌํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด๋, CPU๋ ๊ฐ ํ๋ก์ธ์ค๋ค์ด ๋๊ตฐ์ง ์์์ผ ํ๋ก์ธ์ค ๊ด๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ฐ, ํ๋ก์ธ์ค๋ค์ ํน์ง์ ๊ฐ๊ณ ์๋ ๊ฒ์ด ๋ฐ๋ก Process Metadata
์
๋๋ค.
๋ฉํ๋ฐ์ดํฐ๋ ํ๋ก์ธ์ค๊ฐ ์์ฑ๋๋ฉด PCB(Process Control Block) ์ด๋ผ๋ ๊ณณ์ ์ ์ฅ๋ฉ๋๋ค.
โจ PCB (Process Control Block)
ํ๋ก์ธ์ค์ ๋ฉํ๋ฐ์ดํฐ๋ค์ ์ ์ฅํด ๋๋ ๊ณณ์ผ๋ก ํ PCB ์์๋ ํ๋ก์ธ์ค์ ์ ๋ณด๊ฐ ๋ด๊ฒจ์์ต๋๋ค.

โจ Q
์ธํฐ๋ฝํธ (Interrupt)
ํ๋์จ์ด ์ฅ์น๊ฐ CPU์๊ฒ ์ด๋ค ์ฌ์ค์ ์๋ ค์ฃผ๊ฑฐ๋ CPU์ ์๋น์ค๋ฅผ ์์ฒญํด์ผ ํ ๊ฒฝ์ฐ, CPU ๋ด์ ์๋ ์ธํฐ๋ฝํธ ๋ผ์ธ์ ์ธํ ํ์ฌ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์
CPU๋ ๋งค๋ฒ ํ๋ก๊ทธ๋จ ์นด์ดํฐ๊ฐ ๊ฐ๋ฆฌ๊ณ ์๋ ๊ณณ์ ๋ช ๋ น์ ์ํํ ๋ค, ๋ค์ ๋ช ๋ น์ ์ํํ๊ธฐ ์ง์ ์ ๋ผ์ธ์ด ์ธํ ๋์๋์ง ์ฒดํฌ
์ด๋ฅผ ํตํด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ผ๋ฉด CPU๋ ํ์ฌ ์ํ ์ค์ด๋ ํ๋ก์ธ์ค๋ฅผ ๋ฉ์ถ๊ณ ์ด์ ์ฒด์ ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ผ๋ก ์ด๋ํ์ฌ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ์ํ
โจ ์ธํฐ๋ฝํธ ์ข
๋ฅ
ํ๋์จ์ด ์ธํฐ๋ฝํธ : ํ๋์จ์ด ์ปจํธ๋กค๋ฌ๊ฐ CPU์ ์๋น์ค๋ฅผ ์์ฒํ๊ธฐ ์ํด ๋ฐ์์ํค๋ ์ธํฐ๋ฝํธ
์ํํธ์จ์ด ์ธํฐ๋ฝํธ
์์ธ์ํฉ
์์คํ ์ฝ
์ํํธ์จ์ด ์ธํฐ๋ฝํธ ๋ฐ์ ๊ณผ์
โจ์ธํฐ๋ฝํธ ๋ฐ์ ์ฒ๋ฆฌ ๊ณผ์
Aํ๋ก๊ทธ๋จ์ด CPu๋ฅผ ํ ๋น ๋ฐ๊ณ ๋ช ๋ น์ ์ํํ๊ณ ์๋๋ฐ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด A๋ ํ์ฌ ์ํ์ค์ธ ๋ช ๋ น์ ์์น ์ ์ฅ
๊ทธ ํ ์ด์ ์ฒด์ ๋ด๋ถ ์ฝ๋์ธ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ผ๋ก ๋์ด๊ฐ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ
๋ค์ ๋์์ A์ ์ด์ ์์ ์ง์ ๋ถํฐ ์ํ์ ๊ณ์ํจ
โ ์งํ ์ค์ด๋ Aํ๋ก์ธ์ค์ ์ ๋ณด๋ PCB์ ์ ์ฅ. ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ๋ชจ๋ ๋ง์น๋ฉด ํ๋ก๊ทธ๋จ A์ PCB์ ์ ์ฅ๋ ์ฃผ์๋ฅผ ๋ณต์์์ผ ์ฐ๋๋ ์ํํ๋ ์ผ์ ์ฌ๊ฐ
์ธํฐ๋ฝํธ ๋ฒกํฐ
์ฌ๋ฌ๊ฐ์ง ์ธํฐ๋ฝํธ์ ๋ํด ํด๋น ์ธํฐ๋ฝํธ ๋ฐ์์ ์ฒ๋ฆฌํด์ผ ํ ๋ฃจํด์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๊ณ ์๋ ํ ์ด๋ธ
์ผ์ข ์ ํจ์๋ฅผ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ
์ธํฐ๋ฝํธ ํธ๋ค๋ฌ
์ค์ ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฃจํด์ผ๋ก ์ธํฐ๋ฝํธ ์๋น์ค ๋ฃจํด
์ด์์ฒด์ ์ฝ๋ค ๋ถ๋ถ์๋ ๊ฐ์ข ์ธํฐ๋ฝํธ ๋ณ๋ก ์ฒ๋ฆฌํด์ผ ํ ๋ด์ฉ์ด ์ด๋ฏธ ํ๋ก๊ทธ๋จ๋์ด ์์ผ๋ฉฐ, ์ด ๋ถ๋ถ์ ์ธํฐ๋ฝํธ ์๋น์ค๋ฃจํด ๋๋ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๋ผ๊ณ ํจ

์์คํ
์ฝ (System Call)
์ ์ ํ๋ก์ธ์ค์์ ์ด์์ฒด์ ์๋น์ค๋ฅผ ํ์๋ก ํ ๋ ์ด๋ฅผ ๋ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํธ์ถ
โจ ์ปค๋ ๋ชจ๋
ํ๋ก๊ทธ๋จ ์นด์ดํฐ๊ฐ ์ด์์ฒด์ ๊ฐ ์กด์ฌํ๋ ๋ถ๋ถ์ ๊ฐ๋ฆฌํค๊ณ ์๋ค๋ฉด, ํ์ฌ ์ด์์ฒด์ ์ ์ฝ๋๋ฅผ ์ํ ์ค์ด๋ฉฐ, CPU๊ฐ ์ปค๋ ๋ชจ๋์์ ์ํ ์ค์ด๋ผ๊ณ ํฉ๋๋ค.
โจ ์ฌ์ฉ์ ๋ชจ๋
ํ๋ก๊ทธ๋จ ์นด์ดํฐ๊ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์กด์ฌํ๋ ๋ฉ๋ชจ๋ฆฌ ์์น๋ฅผ ๊ฐ๋ฆฌํฌ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ํ ์ค์ด๋ฉฐ CPU๊ฐ ์ฌ์ฉ์ ๋ชจ๋์์ ์ํ ์ค์ด๋ผ๊ณ ํฉ๋๋ค.
์ผ๋ฐ ๋ช ๋ น : ๋ฉ๋ชจ๋ฆฌ์์ ์๋ฃ๋ฅผ ์ฝ์ด์์ CPU์์ ๊ณ์ฐํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ๋ ์ผ๋ จ์ ๋ช ๋ น๋ค
ํน๊ถ๋ช ๋ น : ๋ณด์์ด ํ์ํ ๋ช ๋ น์ผ๋ก ์ ์ถ๋ ฅ ์ฅ์น, ํ์ด๋จธ ๋ฑ ๊ฐ์ข ์ฅ์น๋ฅผ ์ ๊ทผํ๋ ๋ช ๋ น (์ปค๋ ๋ชจ๋)
CPU ๋ด์ ๋ชจ๋ ๋นํธ๋ฅผ ๋์ด ๋ ๋ช ๋ น ์ํ
์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๋์คํฌ์ ํ์ผ์ ์ ๊ทผํ๊ฑฐ๋, ํ๋ฉด์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ๋ฑ์ ์์ ์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋ค. ํ์ง๋ง, ์ด๋ฌํ ์์ ์ ํน๊ถ ๋ช ๋ น์ ์ํ์ ํ์๋กํจ
์ด์ ๊ฐ์ ๊ฒฝ์ฐ, ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ค์ค๋ก ํน๊ถ ๋ช ๋ น์ ์ํํ ์ ์์ผ๋ฏ๋ก ์ด์์ฒด์ ์๊ฒ ํน๊ถ ๋ช ๋ น์ ๋ํ์ ์์ฒญ. ์ด๋ฌํ ์๋น์ค ์์ฒญ์ ์์คํ ์ฝ์ด๋ผ๊ณ ๋ถ๋ฆ (์ฆ, ํน๊ถ ๋ช ๋ น์ ๋ํ์ ์์ฒญ)
โจ ์์คํ
์ฝ์ ์ ํ
ํ๋ก์ธ์ค ์ ์ด : ํ๋ก์ธ์ค ํน๊ถ ๋ชจ๋๋ฅผ ์ฌ์ฉํด ์ง์ ์ ์ผ๋ก ํ๋ก์ธ์ค ์ ์ด๊ฐ ๊ฐ๋ฅ
ํ์ผ ์กฐ์ : ํ์ผ์ ์์ฑํ๊ฑฐ๋ ์ญ์ , ๊ด๋ฆฌ ๋ฑ
์ฅ์น ๊ด๋ฆฌ : ์ฅ์น ์๊ตฌ ๋ฐ ์ฅ์น ํด์ , ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์ฌ๋ฐฐ์น ๋ฑ
์ ๋ณด ์ ์ง : ์๊ฐ๊ณผ ๋ ์ง์ ์ค์ ๊ณผ ํ๋, ์์คํ ์๋ฃ์ ์ค์ ๊ณผ ํ๋
ํต์ : ํต์ ์ฐ๊ฒฐ์ ์์ฑ ๋ฐ ์ ๊ฑฐ, ๋ฉ์์ง์ ์ก์์ , ์ํ ์ ๋ณด ์ ๋ฌ ๋ฑ


๊ต์ฐฉ ์ํ (DeadLock)

โจ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ ํ์ ๋ ์์์ ์ป๊ธฐ ์ํด ์๋ก ๊ฒฝ์ํ๋ ์ํฉ ๋ฐ์
ํ ํ๋ก์ธ์ค๊ฐ ์์์ ์์ฒญํ์ ๋, ๋์์ ๊ทธ ์์์ ์ฌ์ฉํ ์ ์๋ ์ํฉ์ด ๋ฐ์ํ ์ ์์. ์ป๋ ํ๋ก์ธ์ค๋ ๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ
๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ ํ๋ก์ธ์ค๋ค์ด ์คํ ์ํ๋ก ๋ณ๊ฒฝ๋ ์ ์์ ๋, '๊ต์ฐฉ ์ํ' ๋ฐ์
โจ ๋ฐ์์กฐ๊ฑด
4๊ฐ์ง ์กฐ๊ฑด์ด ๋์์ ์ฑ๋ฆฝํ ๋, ๋ฐ์
4๊ฐ์ง ์กฐ๊ฑด ์ค ํ๋๋ผ๋ ์ฑ๋ฆฝํ์ง ์๋๋ค๋ฉด ๊ต์ฐฉ ์ํ๋ฅผ ํด๊ฒฐํ ์ ์์
์ํธ ๋ฐฐ์ (Mutual Exclusion)
์์์ ํ ๋ฒ์ ํ ํ๋ก์ธ์ค๋ง์ด ์ฌ์ฉํ ์ ์์
์ ์ ๋๊ธฐ(Hold and Wait)
์ต์ํ ํ๋์ ์์์ ์ ์ ํ๊ณ ์์ผ๋ฉด์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋์ด ์ฌ์ฉํ๊ณ ์๋ ์์์ ์ถ๊ฐ๋ก ์ ์ ํ๊ธฐ ์ํด ๋๊ธฐํ๋ ํ๋ก์ธ์ค๊ฐ ์์ด์ผ ํจ
๋น์ ์ (No Preemption)
๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋ ์์์ ์ฌ์ฉ์ด ๋๋์ ๋ฐ๋ฉํ ๋๊น์ง ๊ฐ์ ๋ก ๋นผ์์ ์ ์์
์ํ ๋๊ธฐ (Circular Wait)
ํ๋ก์ธ์ค์ ์งํฉ {P0, P1, ..., Pn}์์ 0์ 1์ด ์ ์ ํ ์์์ ๋๊ธฐํ๊ณ 1์ 2๊ฐ ์ ์ ํ ์์์ ๋๊ธฐํ๊ณ Pn์ P0์ด ์ ์ ํ ์์์ ์๊ตฌํด์ผ ํจ
์ด์ฒ๋ผ ํ๋ก์ธ์ค์ ์งํฉ์์ ์ํ ํํ๋ก ์์์ ๋๊ธฐํ๊ณ ์์ด์ผ ํจ
โจ ๊ต์ฐฉ ์ํ ์๋ฐฉ
๊ต์ฐฉ ์ํ ๋ฐ์ ์กฐ๊ฑด ์ค ํ๋๋ฅผ ์ ๊ฑฐํจ์ผ๋ก์จ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ
์์์ ๋ญ๋น๊ฐ ์ฌํจ
์ํธ ๋ฐฐ์ ๋ถ์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ์ฌ์ฉํ๋๋ก ํ๋ค.
์ ์ ๋๊ธฐ ๋ถ์ ํ๋ก์ธ์ค๊ฐ ์คํ๋๊ธฐ ์ ํ์ํ ๋ชจ๋ ์์์ ํ ๋นํ๋ค.
๋น์ ์ ๋ถ์ ์์ ์ ์ ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ์์์ ์๊ตฌํ ๋, ์ ์ ์ค์ธ ์์์ ๋ฐ๋ฉํ๊ณ ์๊ตฌํ ์์์ ์ฌ์ฉํ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๊ฒ ํ๋ค.
์ํ ๋๊ธฐ ๋ถ์ ์์์ ๊ณ ์ ํ ๋ฒํธ๋ฅผ ํ ๋นํ๊ณ , ๋ฒํธ ์์๋๋ก๋ก ์์์ ์๊ตฌํ๋๋ก ํ๋ค.
โจ ๊ต์ฐฉ ์ํ ํํผ
๊ต์ฐฉ ์ํ๊ฐ ๋ฐ์ํ๋ฉด ํผํด๋๊ฐ๋ ๋ฐฉ๋ฒ
์ํ์ ์๊ณ ๋ฆฌ์ฆ
๋ค์ต์คํธ๋ผ๊ฐ ์ ์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ํ์์ ๋ชจ๋ ๊ณ ๊ฐ์ ์๊ตฌ๊ฐ ์ถฉ์กฑ๋๋๋ก ํ๊ธ์ ํ ๋นํ๋๋ฐ์ ์ ๋๋ ๊ธฐ๋ฒ
ํ๋ก์ธ์ค๊ฐ ์์์ ์๊ตฌํ ๋, ์์คํ ์ ์์์ ํ ๋นํ ํ์๋ ์์ ์ํ๋ก ๋จ์์๊ฒ ๋๋์ง๋ฅผ ๊ฒ์ฌํ์ฌ ๊ต์ฐฉ ์ํ๋ฅผ ํํผํ๋ ๊ธฐ๋ฒ์ด๋ค.
์์ ์ํ์ ์์ผ๋ฉด ์์์ ํ ๋นํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค๋ค์ด ์์์ ํด์ ํ ๋๊น์ง ๋๊ธฐํ๋ค.
โจ ๊ต์ฐฉ ์ํ ํ๋ณต
๊ต์ฐฉ ์ํ๋ฅผ ์ผ์ผํจ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๊ฑฐ๋ ํ ๋น๋ ์์์ ํด์ ํจ์ผ๋ก์จ ํ๋ณตํ๋ ๊ฒ์ ์๋ฏธ
ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๋ ๋ฐฉ๋ฒ
๊ต์ฐฉ ์ํ์ ํ๋ก์ธ์ค๋ฅผ ๋ชจ๋ ์ค์ง
๊ต์ฐฉ ์ํ๊ฐ ์ ๊ฑฐ๋ ๋๊น์ง ํ ํ๋ก์ธ์ค์ฉ ์ค์ง
์์์ ์ ์ ํ๋ ๋ฐฉ๋ฒ
๊ต์ฐฉ ์ํ์ ํ๋ก์ธ์ค๊ฐ ์ ์ ํ๊ณ ์๋ ์์์ ์ ์ ํ์ฌ ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ํ ๋นํ๋ฉฐ, ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ผ์ ์ ์ง์ํค๋ ๋ฐฉ๋ฒ
์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค, ์ํ๋ ํ์๊ฐ ์ ์ ํ๋ก์ธ์ค ๋ฑ์ ์์ฃผ๋ก ํ๋ก์ธ์ค์ ์์์ ์ ์
โจ Q
CPU ์ค์ผ์ค๋ง
โจ Preemptive vs Non-Preemptive
Preemptive(์ ์ )
ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๊ณ ์๋ ๋์ I/O๋ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ง ์์์์๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ํด๋น CPU๋ฅผ ๊ฐ์ ๋ก ์ ์ ํ ์ ์๋ค.
์ฆ, ํ๋ก์ธ์ค๊ฐ ์ ์์ ์ผ๋ก ์ํ์ค์ธ ๋์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ๊ฐ์ ๋ก ์ ์ ํ์ฌ ์คํํ ์ ์๋ค.
Non-Preemptive(๋น์ ์ )
ํ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ๋ค๋ฉด I/O๋ ์ธํฐ๋ฝํธ ๋ฐ์ ๋๋ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ ์ ํ์ง ๋ชปํ๋ ๊ฒ์ด๋ค.
โจ ์ ์ ํ ์ค์ผ์ค๋ง
SRT(Shortest Remaining Time) ์ค์ผ์ค๋ง
์งง์ ์๊ฐ ์์๋๋ก ํ๋ก์ธ์ค๋ฅผ ์ํํ๋ค.
ํ์ฌ CPU์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค์ ๋จ์ CPU ๋ฒ์คํธ ์๊ฐ๋ณด๋ค ๋ ์งง์ CPU ๋ฒ์คํธ ์๊ฐ์ ๊ฐ์ง๋ ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ฉด CPU๊ฐ ์ ์ ๋๋ค.
Round Robin ์ค์ผ์ค๋ง
์๋ถํ ์์คํ ์ ์ฑ์ง์ ํ์ฉํ ๋ฐฉ๋ฒ
์ผ์ ์๊ฐ์ ์ ํ์ฌ ํ๋์ ํ๋ก์ธ์ค๊ฐ ์ด ์๊ฐ๋์ ์ํํ๊ณ ๋ค์ ๋๊ธฐ ์ํ๋ก ๋์๊ฐ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์ ํ๋ก์ธ์ค ์ญ์ ๊ฐ์ ์๊ฐ๋์ ์ํํ ํ, ๋๊ธฐํ๋ค. ์ด๋ฌํ ์์ ์ ๋ชจ๋ ํ๋ก์ธ์ค๊ฐ ๋์๊ฐ๋ฉด์ ์งํํ๋ฉฐ, ๋ง์ง๋ง ํ๋ก์ธ์ค๊ฐ ๋๋๋ฉด ๋ค์ ์ฒ์ ํ๋ก์ธ์ค๋ก ๋์์์ ์์ ์ ๋ฐ๋ณตํ๋ค.
์ผ์ ์๊ฐ์ Time Quantum(Time Slice)๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์ผ๋ฐ์ ์ผ๋ก 10 ~ 100msec ์ฌ์ด์ ๋ฒ์๋ฅผ ๊ฐ๋๋ค.
ํ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋๊ธฐ ์ ์ time quantum์ด ๋๋๋ฉด ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ๋๊ฒจ์ฃผ๊ธฐ ๋๋ฌธ์ ์ ์ ํ ์ค์ผ์ค๋ง์ ๋ํ์ ์ธ ์์๋ค.
Multi-level Queue ์ค์ผ์ค๋ง
ํ๋ก์ธ์ค๋ฅผ ๊ทธ๋ฃน์ผ๋ก ๋๋์ด, ๊ฐ ๊ทธ๋ฃน์ ๋ฐ๋ผ Ready Queue(์ค๋น ํ)๋ฅผ ์ฌ๋ฌ ๊ฐ ๋๋ฉฐ, ๊ฐ ํ๋ง๋ค ๋ค๋ฅธ ๊ท์น์ ์ง์ ํ ์๋ ์๋ค.(ex. ์ฐ์ ์์, CPU ์๊ฐ ๋ฑ)
์ฆ, ์ค๋น ํ๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋ถํ ํด ๊ด๋ฆฌํ๋ ์ค์ผ์ค๋ง ๋ฐฉ๋ฒ์ด๋ค.
ํ๋ก์ธ์ค๋ค์ด CPU๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ธฐ ์ํด ํ ์ค๋ก ์๋ ๊ฒ ์๋๋ผ ์ฌ๋ฌ ์ค๋ก ์ ๋ค.
Multi-level feedback Queue ์ค์ผ์ค๋ง
๊ธฐ๋ณธ ๊ฐ๋ ์ Multi-level Queue์ ๋์ผํ๋, ํ๋ก์ธ์ค๊ฐ ํ๋์ ํ์์ ๋ค๋ฅธ ํ๋ก ์ด๋ ๊ฐ๋ฅํ๋ค๋ ์ ์ด ๋ค๋ฅด๋ค.
์ ๊ทธ๋ฆผ์์ ๋ชจ๋ ํ๋ก์ธ์ค๋ ๊ฐ์ฅ ์์ ํ์์ CPU์ ์ ์ ๋ฅผ ๋๊ธฐํ๋ค. ์ด ์ํ๋ก ์งํํ๋ค๊ฐ ์ด ํ์์ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด ๋๋ฌด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ฉด ์๋์ ํ๋ก ํ๋ก์ธ์ค๋ฅผ ์ฎ๊ธด๋ค. ์ด์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋๊ธฐ ์๊ฐ์ ์กฐ์ ํ ์ ์๋ค.
๋ง์ฝ, ์ฐ์ ์์ ์์ผ๋ก ํ๋ฅผ ์ฌ์ฉํ๋ ์ํฉ์์ ์ฐ์ ์์๊ฐ ๋ฎ์ ์๋์ ํ์ ์๋ ํ๋ก์ธ์ค์์ starvation ์ํ๊ฐ ๋ฐ์ํ๋ฉด ์ด๋ฅผ ์ฐ์ ์์๊ฐ ๋์ ์์ ํ๋ก ์ฎ๊ธธ ์๋ ์๋ค.
๋๋ถ๋ถ์ ์์ฉ ์ด์์ฒด์ ๋ ์ฌ๋ฌ ๊ฐ์ ํ๋ฅผ ์ฌ์ฉํ๊ณ ๊ฐ ํ๋ง๋ค ๋ค๋ฅธ ์ค์ผ์ค๋ง ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ํ๋ก์ธ์ค์ ์ฑ๊ฒฉ์ ๋ง๋ ์ค์ผ์ค๋ง ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ์ต๋ํ ํจ์จ์ ๋์ผ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ํํ๋ค.
โจ ๋น์ ์ ํ ์ค์ผ์ค๋ง
FCFS(First Come First Server)
์ค๋น ํ์ ๋จผ์ ๋์ฐฉํ ํ๋ก์ธ์ค๊ฐ ๋จผ์ CPU๋ฅผ ์ ์ ํ๋ ๋ฐฉ์์ด๋ค.
CPU๋ฅผ ํ ๋น๋ฐ์ผ๋ฉด CPU ๋ฒ์คํธ๊ฐ ์๋ฃ๋ ๋๊น์ง CPU๋ฅผ ๋ฐํํ์ง ์์ผ๋ฉฐ, ํ ๋น๋์๋ CPU๊ฐ ๋ฐํ๋ ๋๋ง ์ค์ผ์ค๋ง์ด ์ด๋ฃจ์ด์ง๋ค.
SJF(Shortest-Job-First)
๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ๋์ฐฉํ๋๋ผ๋ CPU ๋ฒ์คํธ๊ฐ ์งง์ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ๋จผ์ ํ ๋นํ๋ ๋ฐฉ์์ด๋ค.
์ ์ , ๋น์ ์ ๋ชจ๋ ๊ฐ๋ฅํ๋ค.
Priority
์ฐ์ ์์๊ฐ ๋์ ํ๋ก์ธ์ค๊ฐ ๋จผ์ ์ ํ๋๋ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ฐ์ ์์๋ ์ ์๊ฐ์ผ๋ก ๋ํ๋ด๋ฉฐ, ์์ ๊ฐ์ด ์ฐ์ ์์๊ฐ ๋๋ค.(Unix/Linux ๊ธฐ์ค)
์ ์ , ๋น์ ์ ๋ชจ๋ ๊ฐ๋ฅํ๋ค.
์ค์ผ์ค๋ฌ์ ์ข
๋ฅ
์์ ํ(Job Queue)
ํ์ฌ ์์คํ ๋ด์ ๋ชจ๋ ํ๋ก์ธ์ค์ ์งํฉ
์ค๋น ํ(Ready Queue)
ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์์ผ๋ฉด์ CPU๋ฅผ ํ ๋น๋ฐ๊ณ ์คํ๋๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๋ ํ๋ก์ธ์ค์ ์งํฉ
์ฅ์น ํ(Device Queue)
๊ฐ๊ฐ์ ์ฅ์น๋ง๋ค ์๋น์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉฐ ์ค ์ ์๋ ํ๋ก์ธ์ค์ ์งํฉ
โจ ์ฅ๊ธฐ ์ค์ผ์ค๋ฌ(Long-term Scheduler)
๋ฉ๋ชจ๋ฆฌ๋ ํ์ ๋์ด ์๋๋ฐ ๋ง์ ํ๋ก์ธ์ค๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ํ๊บผ๋ฒ์ ์ฌ๋ผ์ฌ ๊ฒฝ์ฐ, ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ(๋์คํฌ)์ ์์๋ก ์ ์ฅ
์ด Pool(๋์คํฌ) ๋ด์ ์ ์ฅ๋์ด ์๋ ํ๋ก์ธ์ค ์ค ์ด๋ค ์์๋ก ํ๋ก์ธ์ค๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ ์ง ๊ฒฐ์
๋ฉ๋ชจ๋ฆฌ์ ๋์คํฌ ์ฌ์ด์ ์ค์ผ์ค๋ง์ ๋ด๋น
์๋์ ์ผ๋ก ํธ์ถ๋๋ ๋น๋๊ฐ ์ ์
์ฆ, ๋์คํฌ์ ๊ฐ์ ์ ์ฅ ์ฅ์น์ ์์ ๋ค์ ์ ์ฅํด ๋๊ณ ํ์ํ ๋ ์คํํ ์์ ์ Job Queue์์ ๊บผ๋ด Ready Queue๋ฅผ ํตํด์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ
degree of Multiprogramming ์ ์ด
(๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ผ๊ฐ๋ ๊ฒ. ์ฆ, ๋ช ๊ฐ์ ํ๋ก๊ทธ๋จ์ด ์ฌ๋ผ๊ฐ ๊ฒ์ธ์ง๋ฅผ ์ ์ด)
ํ๋ก์ธ์ค์ ์ํ
์์ ์ํ(New) -> ์ค๋น ์ํ(Ready)
Running(or Ready) -> Terminated
โจ ๋จ๊ธฐ ์ค์ผ์ค๋ฌ(Short-term Scheduler)
CPU์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ์ค์ผ์ค๋ง์ ๋ด๋น
์ฅ๊ธฐ ์ค์ผ์ค๋ฌ์ ๋นํด ๋งค์ฐ ๋ง์ด ํธ์ถ
CPU์๊ฒ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ํ๋ณดํด์ฃผ๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ๋ก์ธ์ค ์ค ํ๋๋ฅผ ์ ํํด์ CPU๋ฅผ ํ ๋น
์ฆ, Ready Queue์ ์กด์ฌํ๋ ํ๋ก์ธ์ค ์ค ์ด๋ค ํ๋ก์ธ์ค๋ฅผ running ์ํฌ์ง ๊ฒฐ์
Ready Queue์ ์๋ ํ๋ก์ธ์ค ์ค ๋จผ์ ๋์ฐฉํ ํ๋ก์ธ์ค์๊ฒ CPU๋ฅผ ํ ๋น (=๋์คํ์ฒ)
ํ๋ก์ธ์ค์ ์ํ : ready -> running -> waiting -> ready
โจ ์ค๊ธฐ ์ค์ผ์ค๋ฌ(Medium-term Scheduler)
์๋ถํ ์์คํ ์์ ์ถ๊ฐ๋ก ์ฌ์ฉํ๋ฉฐ, ๋ฉ๋ชจ๋ฆฌ์ ๋ํ ๊ฐ์ค์ ์ํ์์ผ์ฃผ๊ธฐ ์ํด ์ค๊ธฐ ์ค์ผ์ค๋ฌ ๋์
CPU๋ฅผ ์ฐจ์งํ๊ธฐ ์ํ ๊ฒฝ์์ด ์ฌํด์ง ๋, ์ฐ์ ์์๊ฐ ๋ฎ์ ํ๋ก์ธ์ค๋ค์ ์ ์ ์ ๊ฑฐํ ๋ค, ๋์ค์ ๊ฒฝ์์ด ์ํ๋์์ ๋ ๋ค์ ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ถ๋ฌ์ ์ค๋จ๋์๋ ์ง์ ๋ถํฐ ์คํ(Swapping)
์ฆ, ํ๋ก์ธ์ค๋ค์ด ์๋ก CPU๋ฅผ ์ฐจ์งํ๋ ค๊ณ ๊ฒฝ์์ด ์ฌํด์ง๋ฉด Swapping ๊ธฐ๋ฒ์ ํ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํจ์ผ๋ก์จ ๋๋ฌด ๋ง์ ํ๋ก๊ทธ๋จ์ด ๋์์ ์ฌ๋ผ๊ฐ๋ ๊ฒ์ ์กฐ์
ํ๋ก์ธ์ค์ ์ํ : ready -> suspended
swap out : ๋ฉ๋ชจ๋ฆฌ์์ ๋์คํฌ๋ก ์ ์ ๋๊ฐ๋ ์ํ
swap in : ๋์คํฌ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ค์ ๋ค์ด์ค๋ ์ํ
โจ Process state - suspended
Suspended(stopped)
์ธ๋ถ์ ์ธ ์ด์ ๋ก ํ๋ก์ธ์ค์ ์ํ์ด ์ ์ง๋ ์ํ๋ก ๋ฉ๋ชจ๋ฆฌ์์ ๋ด๋ ค๊ฐ ์ํ๋ฅผ ์๋ฏธํ๋ค. ํ๋ก์ธ์ค ์ ๋ถ ๋์คํฌ๋ก Swap out ๋จ
Blocked ์ํ
๋ค๋ฅธ I/O ์์ ์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ์ด๊ธฐ ๋๋ฌธ์ ์ค์ค๋ก ready state ๋ก ๋์๊ฐ ์ ์์ง๋ง, ์ด ์ํ๋ ์ธ๋ถ์ ์ธ ์ด์ ๋ก suspending ๋์๊ธฐ ๋๋ฌธ์ ์ค์ค๋ก ๋์๊ฐ ์ ์์
โจ About ์ค๊ธฐ ์ค์ผ์ค๋ฌ

โจ Q
๋๊ธฐ vs ๋น๋๊ธฐ
โจ ๋๊ธฐ(synchronous : ๋์์ ์ผ์ด๋๋)
๋์์ ์ผ์ด๋๋ค๋ ๋ป์ด๋ค. ์์ฒญ๊ณผ ๊ทธ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋๋ค๋ ์ฝ์์ด๋ค.
๋ฐ๋ก ์์ฒญ์ ํ๋ฉด ์๊ฐ์ด ์ผ๋ง๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์ฒญํ ์๋ฆฌ์์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ ธ์ผ ํ๋ค.
์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ํ ์๋ฆฌ์์ ๋์์ ์ผ์ด๋๋ค.
A๋ ธ๋์ B๋ ธ๋ ์ฌ์ด์ ์์ ์ฒ๋ฆฌ ๋จ์(transaction)๋ฅผ ๋์์ ๋ง์ถ๊ฒ ๋ค.
โจ ๋น๋๊ธฐ(Asynchronous : ๋์์ ์ผ์ด๋์ง ์๋)
๋์์ ์ผ์ด๋์ง ์๋๋ค๋ฅผ ์๋ฏธํ๋ค. ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋์ง ์์ ๊ฒ์ด๋ผ๋ ์ฝ์์ด๋ค.
์์ฒญํ ๊ทธ ์๋ฆฌ์์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ง์ง ์๋๋ค.
๋ ธ๋ ์ฌ์ด์ ์์ ์ฒ๋ฆฌ ๋จ์๋ฅผ ๋์์ ๋ง์ถ์ง ์์๋ ๋๋ค.
๋๊ธฐ ๋ฐฉ์์ ์ค๊ณ๊ฐ ๋งค์ฐ ๊ฐ๋จํ๊ณ ์ง๊ด์ ์ด์ง๋ง ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ง ๋๊น์ง ์๋ฌด๊ฒ๋ ๋ชปํ๊ณ ๋๊ธฐํด์ผ ํ๋ค๋ ๋จ์ ์ด ์๋ค.
๋น๋๊ธฐ ๋ฐฉ์์ ๋๊ธฐ๋ณด๋ค ๋ณต์กํ์ง๋ง, ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ง๋๋ฐ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋๋ผ๋ ๊ทธ ์๊ฐ ๋์ ๋ค๋ฅธ ์์ ์ ํ ์ ์์ผ๋ฏ๋ก ์์์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
โจ reference
๋ฉ๋ชจ๋ฆฌ
โจ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(main memory)
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ CPU๊ฐ ์ง์ ์ ๊ทผํ ์ ์๋ ๊ธฐ์ต ์ฅ์น
ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ค๋ฉด ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์์ผ ํจ
์ฃผ์๊ฐ ํ ๋น๋ ์ผ๋ จ์ ๋ฐ์ดํธ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์
CPU๋ ๋ ์ง์คํฐ๊ฐ ์ง์ํ๋๋๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ์ฌ ๋ค์์ ์ํํ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์ด
๋ช ๋ น์ด ์ํ ์ ๋ฉ๋ชจ๋ฆฌ์ ํ์ํ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ฐ์ ๊ฐ์ ธ์์ผ ํจ
์ด ์ญํ ์ ํ๋ ๊ฒ์ด ๋ฐ๋ก MMU
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ฅ์น(MMU)๋ ๋ ผ๋ฆฌ ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์๋ก ๋ณํํด์ค
๋ฟ๋ง ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๋ ์บ์ ๊ด๋ฆฌ ๋ฑ CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๊ฒ์ ์ด ๊ด๋ฆฌํด์ฃผ๋ ํ๋์จ์ด์
๋ฉ๋ชจ๋ฆฌ์ ๊ณต๊ฐ์ด ํ์ ์ ์ด๊ธฐ ๋๋ฌธ์, ์ฌ์ฉ์์๊ฒ ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด '๊ฐ์ ์ฃผ์'๋ผ๋ ๊ฐ๋ ์ด ๋ฑ์ฅ (๊ฐ์ ์ฃผ์๋ ํ๋ก๊ทธ๋จ ์์์ ์ฌ์ฉ์๊ฐ ๋ณด๋ ์ฃผ์ ๊ณต๊ฐ์ด๋ผ๊ณ ๋ณด๋ฉด ๋จ)
์ด ๊ฐ์ ์ฃผ์์์ ์ค์ ๋ฐ์ดํฐ๊ฐ ๋ด๊ฒจ ์๋ ๊ณณ์ ์ ๊ทผํ๊ธฐ ์ํด์ ๋น ๋ฅธ ์ฃผ์ ๋ณํ์ด ํ์ํ๋ฐ, ์ด๋ฅผ MMU๊ฐ ๋์์ฃผ๋ ๊ฒ
๋ํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผ์ ๋นํจ์จ์ ์ด๋ฏ๋ก, CPU์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์๋๋ฅผ ๋ง์ถ๊ธฐ ์ํด ์บ์๊ฐ ์กด์ฌํจ
โจ MMU์ ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ
ํ๋ก์ธ์ค๋ ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ ธ์ผ ๋๊ณ , ์์ ์ ๊ณต๊ฐ๋ง ์ ๊ทผํด์ผ ํจ
๋ฐ๋ผ์ ํ ํ๋ก์ธ์ค์๊ฒ ํฉ๋ฒ์ ์ธ ์ฃผ์ ์์ญ์ ์ค์ ํ๊ณ , ์๋ชป๋ ์ ๊ทผ์ด ์ค๋ฉด trap์ ๋ฐ์์ํค๋ฉฐ ๋ณดํธํจ
๊ฐ์๋ฉ๋ชจ๋ฆฌ
โจ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
๋ค์ค ํ๋ก๊ทธ๋๋ฐ์ ์คํํ๊ธฐ ์ํด์๋ ๋ง์ ํ๋ก์ธ์ค๋ค์ ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋์ด์ผ ํ๋ค. ๊ฐ์๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก์ธ์ค ์ ์ฒด๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฌ๋ผ์ค์ง ์๋๋ผ๋ ์คํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ ๊ธฐ๋ฒ ์ด๋ฉฐ, ํ๋ก๊ทธ๋จ์ด ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ์ปค๋ ๋๋ค๋ ์ฃผ์ ์ฅ์ ์ด ์๋ค.
โจ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ฐ ๋ฐฐ๊ฒฝ
์คํ๋๋ ์ฝ๋์ ์ ๋ถ๋ฅผ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์กด์ฌ์์ผ์ผ ํ๊ณ , ๋ฉ๋ชจ๋ฆฌ ์ฉ๋๋ณด๋ค ํฐ ํ๋ก๊ทธ๋จ์ ์คํ์ํฌ ์ ์์๋ค. ๋ํ, ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ๊ธฐ์๋ ์ฉ๋์ ํ๊ณ์, ํ์ด์ง ๊ต์ฒด๋ฑ์ ์ฑ๋ฅ ์ด์๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค. ๋ํ, ๊ฐ๋๋ง ์ฌ์ฉ๋๋ ์ฝ๋๊ฐ ์ฐจ์งํ๋ ๋ฉ๋ชจ๋ฆฌ๋ค์ ํ์ธํ ์ ์๋ค๋ ์ ์์, ๋ถํ์ํ๊ฒ ์ ์ฒด์ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์์ด์ผ ํ๋๊ฒ ์๋๋ผ๋ ๊ฒ์ ์ ์ ์๋ค
โจ ํ๋ก๊ทธ๋จ์ ์ผ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆด ์ ์๋ค๋ฉด...
๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ์ ์ ์ฝ๋ฐ์ง ์๊ฒ ๋๋ค.
๋ ๋ง์ ํ๋ก๊ทธ๋จ์ ๋์์ ์คํํ ์ ์๊ฒ ๋๋ค. ์ด์ ๋ฐ๋ผ
์๋ต์๊ฐ
์ ์ ์ง๋๊ณ ,CPU ์ด์ฉ๋ฅ
๊ณผ์ฒ๋ฆฌ์จ
์ ๋์์ง๋ค.swap์ ํ์ํ ์ ์ถ๋ ฅ์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ๋ค์ด ๋น ๋ฅด๊ฒ ์คํ๋๋ค.
โจ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ๋ ์ผ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ์ค์ ์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋
๊ณผ ์ฌ์ฉ์์ ๋
ผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋
์ ๋ถ๋ฆฌํ ๊ฒ์ผ๋ก ์ ๋ฆฌํ ์ ์๋ค. ์ด๋ก์จ ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ๋ ์ผ๋ง๋ ์ง ํฐ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ
์ ํ๋ก๊ทธ๋๋จธ์๊ฒ ์ ๊ณตํ ์ ์๋ค.
โจ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ
ํ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ๋ ผ๋ฆฌ์ ์ธ ๋ชจ์ต์ ๊ฐ์๋ฉ๋ชจ๋ฆฌ์ ๊ตฌํํ ๊ณต๊ฐ์ด๋ค. ํ๋ก์ธ์ค๊ฐ ์๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์๋ฉ๋ชจ๋ฆฌ์์ ์ ๊ณตํจ์ผ๋ก์จ ํ์ฌ ์ง์ ์ ์ผ๋ก ํ์์น ์์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฆฌ์ง ์๋ ๊ฒ์ผ๋ก ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ํ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉฐ ๋ ผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ก 100KB ๊ฐ ์๊ตฌ๋์๋ค๊ณ ํ์. ํ์ง๋ง ์คํ๊น์ง์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
(Heap์์ญ, Stack ์์ญ, ์ฝ๋, ๋ฐ์ดํฐ)
์ ํฉ์ด 40KB ๋ผ๋ฉด, ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ์๋ 40KB ๋ง ์ฌ๋ผ๊ฐ ์๊ณ , ๋๋จธ์ง 60KB ๋งํผ์ ํ์์์ ๋ฌผ๋ฆฌ๋ฉ๋ชจ๋ฆฌ์ ์๊ตฌํ๋ค๊ณ ์ดํดํ ์ ์๊ฒ ๋ค.
โจ ํ๋ก์ธ์ค๊ฐ์ ํ์ด์ง ๊ณต์
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋...
์์คํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ฐ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ๊ณต์ ๋ ์ ์๋๋ก ํ๋ค. ๊ฐ ํ๋ก์ธ์ค๋ค์๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ฅผ ์์ ์ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ์ ๋๊ณ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ์ธ์ํ์ง๋ง, ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ฌ๋ผ๊ฐ์๋๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง
๋ค์ ๋ชจ๋ ํ๋ก์ธ์ค์ ๊ณต์ ๋๊ณ ์๋ค.ํ๋ก์ธ์ค๋ค์ด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๊ณ , ํ๋ก์ธ์ค๋ค์ ๊ณต์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํตํด ํต์ ํ ์ ์๋ค. ์ด ๋ํ, ๊ฐ ํ๋ก์ธ์ค๋ค์ ๊ฐ์ ์์ ์ ์ฃผ์ ๊ณต๊ฐ์ฒ๋ผ ์ธ์ํ์ง๋ง, ์ค์ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ ๊ณต์ ๋๊ณ ์๋ค.
fork()
๋ฅผ ํตํ ํ๋ก์ธ์ค ์์ฑ ๊ณผ์ ์์ ํ์ด์ง๋ค์ด ๊ณต์ ๋๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
ํ์ด์ง vs ์ธ๊ทธ๋ฉํ
์ด์
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฒ
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋ ์ฆ, ์คํ์ค์ธ ํ๋ก์ธ์ค๊ฐ ๊ฐ์์ ๊ณต๊ฐ์ ์ฐธ์กฐํ์ฌ ๋ง์น ์ปค๋ค๋ ๋ฌผ๋ฆฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ด๋ค.๊ฐ๋จํ๊ฒ ๋งํด ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์๋ ๊ฐ์์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ฃผ๋ ๋ฐฉ์์ด๋ค.
โจ ํ์ด์ง(Paging)
ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ์ ๋์ผํ(๊ณ ์ ๋) ์ฌ์ด์ฆ์ ํ์ด์ง ๋จ์๋ก ๋๋์ด ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ถ์ฐ์์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ์
์ธ๋ถ ๋จํธํ์ ์์ถ ์์ ์ ํด์ํ๊ธฐ ์ํจ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ๋
Frame
์ด๋ผ๋ ๊ณ ์ ํฌ๊ธฐ๋ก ๋ถํ ๋๊ณ , ํ๋ก์ธ์ค๋Page
๋ผ ๋ถ๋ฆฌ๋ ๊ณ ์ ํฌ๊ธฐ๋ก ๋ถํ ๋๋ค.ํ๋์ ํ๋ก์ธ์ค๋ ์ฐ์์ ์ธ ๋์์ ์ํํ๋๋ฐ, ์ด๋ฅผ ์์ ์กฐ๊ฐ์ผ๋ก ๋๋์ด ์ฌ๊ธฐ์ ๊ธฐ ํฉ์ด์ง๋ค๋ฉด ์ ์์ ์ผ๋ก ๋์ํ ๊น?
์ด์ฒ๋ผ ๋ฉ๋ชจ๋ฆฌ์์์ ์ฌ๋ฌ ๊ณณ์ ํฉ์ด์ง ํ๋ก์ธ์ค๋ฅผ ์ํํ๊ธฐ ์ํด MMU๋ฅผ ํตํด ๋ ผ๋ฆฌ ์ฃผ์์ ๋ฌผ๋ฆฌ ์ฃผ์๋ฅผ ๋๋์ด ์ฌ์ฉํจ์ผ๋ก์จ CPU๋ฅผ ์์ฌ์ผ ํ๋ค.
์ค์ ๋ฉ๋ชจ๋ฆฌ๋ ์ ํ ์ฐ์์ ์ด์ง ์๋๋ฐ, CPU๋ ์ฐ์์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ค๋ ๊ฒ์ ๋ณด์ฅ๋ฐ์ผ๋ฉฐ ์ ์์ ์ผ๋ก ์ํํ๋ค.
50byte ํฌ๊ธฐ์ ํ๋ก์ธ์ค๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๊ณ , ํ์ด์ง์ ํฌ๊ธฐ๋ 10byte๋ก ๋๋๋ค
ํ๋ก์ธ์ค P1์ 5๊ฐ์ ํ์ด์ง๋ก ๋๋ ์ ์๋ค. ์ด๋ฅผ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ 5๊ณณ์ ๋๋ ์ ํ ๋นํ๋ค.
CPU๋ ๋ ผ๋ฆฌ ์ฃผ์๋ก ํ๋ก๊ทธ๋จ์ด ์ค์ ํ๋๋ก ์ฐ์์ ์ธ ์ฃผ์๊ฐ์ผ๋ก ๋ช ๋ น์ ๋ด๋ฆฌ๊ณ ์ด๋ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ๊ธฐ ์ ์ ๊ฐ ํ์ด์ง์ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ ์ ์ฅ๋์ด ์๋ ํ ์ด๋ธ์์ ๋ฌผ๋ฆฌ ์ฃผ์๋ก ๋ณ๊ฒฝ๋์ด์ผ ํ๋ค.
ํ๋ก์ธ์ค๋ฅผ ๋๋ ์กฐ๊ฐ์ Page๋ผ ํ๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋๋ ์กฐ๊ฐ์ Frame์ด๋ผ ํ๋ค.
ํ๋ก์ธ์ค๋ ํ์ด์ง์ ์งํฉ์ด๊ณ , ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ ์์ ์งํฉ์ด๋ค.
ํ๋ก์ธ์ค๋ฅผ ์ ์์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด MMU์ ์ฌ๋ฐฐ์น ๋ ์ง์คํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํด์ ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๊ฐ ํ์ด์ง์ ์ค์ ์ฃผ์๋ก ๋ณ๊ฒฝํด์ค๋ค. ์ด๋ฌํ ์ฌ๋ฌ ๊ฐ์ ์ฌ๋ฐฐ์น ๋ ์ง์คํฐ๋ฅผ
ํ์ด์ง ํ ์ด๋ธ(Page Table)
์ด๋ผ ํ๋ค.
โจ ์ฃผ์ ๋ณํ(Address Translation)
ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ฌ๋ฌ ๊ฐ๋ก ํฉ์ด์ง ํ์ด์ง์ CPU๊ฐ ์ ๊ทผํ๊ธฐ ์ํด์ ํ์ด์ง ํ ์ด๋ธ์ ํตํด ์ฃผ์๋ฅผ ๋ณํํด์ผ ํ๋ค.
๋ ผ๋ฆฌ ์ฃผ์(Logical Address)
CPU๊ฐ ์ ๊ทผํ๋ ์ฃผ์๋ 2์ง์๋ก ํํ๋๊ณ ์ด๋ m๋นํธ๊ฐ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ์ฌ๊ธฐ์ ํ์ n๋นํธ๋ ์คํ์ (offset) ๋๋ ๋ณ์(displacement)๋ผ๊ณ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ์์ m-n๋นํธ๋ ํ์ด์ง์ ๋ฒํธ์ ํด๋นํ๋ค. (n = d, m-n = p)
๋ ผ๋ฆฌ์ฃผ์๋ฅผ ๋ฌผ๋ฆฌ์ฃผ์๋ก ๋ณํํ๊ธฐ ์ํด์ ํ์ด์ง ๋ฒํธ(p)๋ ํ์ด์ง ํ ์ด๋ธ์ ์ธ๋ฑ์ค ๊ฐ์ด๊ณ , p์ ํด๋น๋๋ ํ ์ด๋ธ ๋ด์ฉ์ ๋ฉ๋ชจ๋ฆฌ์ ํ๋ ์ ๋ฒํธ์ด๋ค. ๋ณ์(d)๋ ๋ณํ์ง ์๋ ๊ฐ์ด๋ค. ์ด ๊ท์น์ ๋ํ ์์ ๋ฅผ ์ดํด๋ณด์.
Page size = 16bytes
Page Table = 5,3,2,8,1,4
๋ ผ๋ฆฌ ์ฃผ์ 50๋ฒ์ง๋ ๋ฌผ๋ฆฌ์ฃผ์ ๋ช ๋ฒ์ง์ธ๊ฐ?
โจ ๋ด๋ถ ๋จํธํ(Internal Fragment)
๋ด๋ถ ๋จํธํ๋ ํ๋ก์ธ์ค ํฌ๊ธฐ๊ฐ ํ์ด์ง ํฌ๊ธฐ์ ๋ฐฐ์๊ฐ ์๋ ๊ฒฝ์ฐ, ๋ง์ง๋ง ํ์ด์ง๋ ํ ํ๋ ์(ํ์ด์ง)๋ฅผ ๋ค ์ฑ์ธ ์ ์์ด์ ๋ฐ์ํ๋ ๊ณต๊ฐ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น์ ์์ธ์ด ๋๋ค.
์๋ฅผ ๋ค์ด, 15bytes ํฌ๊ธฐ์ ํ๋ก์ธ์ค p๊ฐ ์๋ค. ํ์ด์ง ํฌ๊ธฐ๋ 4byte๋ก p๋ฅผ ํ์ด์ง๋ก ๋๋๋ฉด 4,4,4,3์ ํฌ๊ธฐ๋ก ์ด 4๊ฐ์ ํ์ด์ง๊ฐ ๋ง๋ค์ด์ง๋ค. ๋ง์ง๋ง 3byte ํ์ด์ง๋ ํ์ด์ง์ ํฌ๊ธฐ๋ณด๋ค 1byte ์์ผ๋ฏ๋ก ์ฌ์ฉํ์ง ๋ชปํ๊ณ , ์ด๋งํผ์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋น๊ฒ ๋๋ค. ์ด๋ ๊ฒ ๋น์ด์ง ๊ณต๊ฐ์ ํ๋ก์ธ์ค p์์๋ ์ฐ์ง ์๊ณ , ๋ค๋ฅธ ํ๋ก์ธ์ค์์๋ ์ฐ์ง ๋ชปํ๋ ๋ญ๋น๋๋ ๊ณต๊ฐ์ด ๋๋ค.
์์ฝ๊ฒ๋ ๋ด๋ถ ๋จํธํ๋ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด ์๋ค. ํ์ง๋ง, ๋ด๋ถ ๋จํธํ๋ ์ธ๋ถ ๋จํธํ์ ๋นํด ๋ญ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋งค์ฐ ์ ๋ค. ๋ด๋ถ ๋จํธํ์ ์ต๋ ๋ญ๋น๋๋ ํฌ๊ธฐ๋ page size - 1์ด ๋๋ค. (์ธ๋ถ ๋จํธํ๋ ์ต๋ ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ์ 1/3์ด ๋ญ๋น๋๋ค๊ณ ํ๋ค.) ์ด๋ ๋ฌด์ํ ์ ๋๋ก ์์ ํฌ๊ธฐ์ด๋ค.
โจ ๋ณดํธ(Protection)
๋ชจ๋ ์ฃผ์๋ ํ์ด์ง ํ ์ด๋ธ์ ๊ฒฝ์ ํ๋ฏ๋ก, ํ ์ด๋ธ์ ์ด์ฉํด์ ๋ณดํธ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ค. ๋ํ์ ์ผ๋ก ํ์ด์ง ํ ์ด๋ธ๋ง๋ค r(read), w(write), x(execute) ๋นํธ๋ฅผ ๋์ด, ํด๋น ๋นํธ๊ฐ ์ผ์ ธ์์ ๋, ๊ทธ ์ํ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ค.
ํ์ด์ง ํ ์ด๋ธ์ r,w,x ๋นํธ๋ฅผ ์ถ๊ฐํ ๋ชจ์ต์ด๋ค. ๋ง์ฝ, 1๋ฒ ํ์ด์ง ์ํธ๋ฆฌ์ฒ๋ผ ์ฐ๊ธฐ ๋นํธ๊ฐ ๊บผ์ ธ์๋ ํ์ด์ง์ ์ฐ๊ธฐ ์์ ์ ์๋ํ๋ฉด CPU์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ฌ ISR(Interrupt Service Routine)์์ ๊ฐ์ ๋ก ํด๋น ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃ์ํจ๋ค.
โจ ๊ณต์ (Sharing)
๊ณต์ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ค. ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฐ๋ ๋ณต์ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ์๋ค๋ฉด, ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ code+data+stack ์์ญ์ผ๋ก ๋๋๋๋ฐ ํ๋ก๊ทธ๋จ์ด ๊ฐ๋ค๋ฉด code ์์ญ์ ๊ฐ์ ๊ฒ์ด๋ค.
๊ทธ๋ฌ๋ฏ๋ก ํ๋์ code ์์ญ์ ๋ณต์ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ค์ด๋ ๊ฒ์ด๋ค. ๋จ, code๊ฐ ๊ณต์ ๋๋ ค๋ฉด code๊ฐ ๋ณํ์ง ์๋ ํ๋ก๊ทธ๋จ์ด์ด์ผ ํ๋ค. ์ด๋ฅผ non-self-modifying code = reentrant code(์ฌ์ง์ ๊ฐ๋ฅ ์ฝ๋) = puer code ๋ผ๊ณ ํ๋ค.
โจ ์ธ๊ทธ๋ฉํ
์ด์
(Segmentation)
ํ๋ก์ธ์ค๋ฅผ ์๋ก ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ๋ ผ๋ฆฌ์ ์ธ ๋ธ๋ก ๋จ์์ธ '์ธ๊ทธ๋จผํธ(Segment)'๋ก ๋ถํ ํ๊ณ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐฐ์นํ๋ ๊ฒ์ ๋งํ๋ฉฐ, ๊ฐ ์ธ๊ทธ๋จผํธ์ ํฌ๊ธฐ๋ ์ผ์ ํ์ง ์๋ค.
ํ๋ก์ธ์ค๋ฅผ Code + Data + Stack ์์ญ์ผ๋ก ๋๋๋ ๊ฒ ์ญ์ ์ธ๊ทธ๋ฉํ ์ด์ ์ ๋ชจ์ต์ด๋ค. ๋ฌผ๋ก , code, data, stack ๊ฐ๊ฐ ๋ด๋ถ์์ ๋ ์์ ์ธ๊ทธ๋จผํธ๋ก ๋๋ ์๋ ์๋ค.
์ธ๊ทธ๋จผํธ๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋นํ ๋๋ ํ์ด์ง๋ฅผ ํ ๋นํ๋ ๊ฒ๊ณผ ๋์ผํ๋ค. ํ์ง๋ง, ํ ์ด๋ธ์ ์กฐ๊ธ ๋ค๋ฅด๋ค. ์ธ๊ทธ๋จผํ ์ด์ ์ ์ํ ํ ์ด๋ธ์ ์ธ๊ทธ๋จผํธ ํ ์ด๋ธ์ด๋ผ๊ณ ํ๋ค.
์ธ๊ทธ๋จผํธ ํ ์ด๋ธ์ ์ธ๊ทธ๋จผํธ ๋ฒํธ์ ์์ ์ฃผ์, ์ธ๊ทธ๋จผํธ ํฌ๊ธฐ๋ฅผ ์ํธ๋ฆฌ๋ก ๊ฐ๋๋ค.
์ธ๊ทธ๋จผํธ์์ ์ฃผ์๋ณํ ์ญ์, ํ์ด์ง๊ณผ ์ ์ฌํ๋ค. ํ ๊ฐ์ง ์ฃผ์ํ ์ ์ ์ธ๊ทธ๋จผํธ์ ํฌ๊ธฐ๋ ์ผ์ ํ์ง ์๊ธฐ ๋๋ฌธ์, ํ ์ด๋ธ์ limit ์ ๋ณด๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ๋ฆฌ๊ณ CPU์์ ํด๋น ์ธ๊ทธ๋จผํธ์ ํฌ๊ธฐ๋ฅผ ๋์ด์๋ ์ฃผ์๊ฐ ๋ค์ด์ค๋ฉด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํด์ ํด๋น ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ๋ก ์ข ๋ฃ์ํจ๋ค.
โจ ์ธ๊ทธ๋จผํ
์ด์
์์ ๋ณดํธ์ ๊ณต์
๋จผ์ , ๊ฒฐ๋ก ๋ถํฐ ๋งํ๋ฉด ํ์ด์ง๋ณด๋ค ์ธ๊ทธ๋จผํ ์ด์ ์์์ ๋ณดํธ์ ๊ณต์ ๋ ๋ ํจ์จ์ ์ด๋ค.
๋ณดํธ์์๋ ์ธ๊ทธ๋จผํ ์ด์ ์ญ์ r,w,x ๋นํธ๋ฅผ ํ ์ด๋ธ์ ์ถ๊ฐํ๋๋ฐ, ์ธ๊ทธ๋จผํ ์ด์ ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋๋๊ธฐ ๋๋ฌธ์ ํด๋น ๋นํธ๋ฅผ ์ค์ ํ๊ธฐ ๋งค์ฐ ๊ฐ๋จํ๊ณ ์์ ํ๋ค. ํ์ด์ง์ code+data+stack ์์ญ์ด ์์ ๋, ์ด๋ฅผ ์ผ์ ํ ํฌ๊ธฐ๋ก ๋๋๋ฏ๋ก ๋ ๊ฐ์ง ์์ญ์ด ์์ผ ์ ์๋ค. ๊ทธ๋ฌ๋ฉด ๋นํธ๋ฅผ ์ค์ ํ๊ธฐ๊ฐ ๋งค์ฐ ๊น๋ค๋กญ๋ค.
๊ณต์ ์์๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ํ์ด์ง์์๋ code ์์ญ์ ๋๋๋คํด๋ ๋ค๋ฅธ ์์ญ์ด ํฌํจ๋ ํ๋ฅ ์ด ๋งค์ฐ ๋๋ค. ํ์ง๋ง, ์ธ๊ทธ๋จผํ ์ด์ ์ ์ ํํ code ์์ญ๋ง์ ๋๋๊ธฐ ๋๋ฌธ์ ๋ ํจ์จ์ ์ผ๋ก ๊ณต์ ๋ฅผ ์ํํ ์ ์๋ค.
โจ ์ธ๊ทธ๋จผํ
์ด์
๊ณผ ํ์ด์ง
์ธ๊ทธ๋จผํ ์ด์ ์ ํ์ด์ง๊ณผ ์ ์ฌํ๊ณ ๋ณดํธ์ ๊ณต์ ์ธก๋ฉด์์๋ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์์ง๋ง, ํ์ฌ ๋๋ถ๋ถ์ ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค. ๊ทธ ์ด์ ๋ ์ธ๊ทธ๋จผํ ์ด์ ์๋ ์น๋ช ์ ์ธ ๋จ์ ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ ํ ๋น์ ์ฒ์ ์์ํ ๋, ๋ค์ค ํ๋ก๊ทธ๋๋ฐ์์์ ๋ฌธ์ ๋ ํฌ๊ธฐ๊ฐ ์๋ก ๋ค๋ฅธ ํ๋ก์ธ์ค๋ก ์ธํด ์ฌ๋ฌ ํฌ๊ธฐ์ hole์ด ๋ฐ์ํ๋ค. ์ด๋ก ์ธํด ์ด๋ hole์ ํ๋ก์ธ์ค๋ฅผ ํ ๋นํ๋ ๊ฒ์ ๋ํ ์ต์ ํ ์๊ณ ๋ฆฌ์ฆ์ด ์กด์ฌํ์ง ์๊ณ , ์ธ๋ถ ๋จํธํ๋ก ์ธํด ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๊ฐ ํฌ๋ค๊ณ ํ์๋ค.
์ธ๊ทธ๋จผํ ์ด์ ๋ ๋๊ฐ์ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค. ์๋ํ๋ฉด ์ธ๊ทธ๋จผํ ์ด์ ์ ๋ ผ๋ฆฌ์ ์ธ ๋จ์๋ก ๋๋๊ธฐ ๋๋ฌธ์ ์ธ๊ทธ๋จผํธ์ ํฌ๊ธฐ๊ฐ ๋ค์ํ๋ค. ์ด๋ก ์ธํด ๋ค์ํ ํฌ๊ธฐ์ hole์ด ๋ฐ์ํ๋ฏ๋ก ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ์ธ๊ทธ๋จผํ ์ด์ ์ ๋ณดํธ์ ๊ณต์ ์์ ํจ์จ์ ์ด๊ณ , ํ์ด์ง์ ์ธ๋ถ ๋จํธํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ด ๋๊ฐ์ง๋ฅผ ํฉ์ณ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋์๋ค. ๋ ์ฅ์ ์ ํฉ์น๊ธฐ ์ํด์๋ ์ธ๊ทธ๋จผํธ๋ฅผ ํ์ด์ง ๊ธฐ๋ฒ์ผ๋ก ๋๋๋ ๊ฒ์ด๋ค. (Paged Segmentation)
ํ์ง๋ง, ์ด ์ญ์ ๋จ์ ์ด ์กด์ฌํ๋ค. ์ธ๊ทธ๋จผํธ์ ํ์ด์ง๊ฐ ๋์์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ์ฃผ์ ๋ณํ๋ ๋๋ฒํด์ผ ํ๋ค. ์ฆ, CPU์์ ์ธ๊ทธ๋จผํธ ํ ์ด๋ธ์์ ์ฃผ์ ๋ณํ์ ํ๊ณ , ๊ทธ ๋ค์ ํ์ด์ง ํ ์ด๋ธ์์ ๋ ์ฃผ์ ๋ณํ์ ํด์ผ ํ๋ค.
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ
โจ ๋ฉ๋ชจ๋ฆฌ ๊ณผํ ๋น(over allocating)
์ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ด์ฆ๋ณด๋ค ๋ ํฐ ์ฌ์ด์ฆ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ก์ธ์ค์ ํ ๋นํ ์ํฉ
ํ์ด์ง ๊ธฐ๋ฒ๊ณผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ์ฌ์ฉ์๊ฐ ๋์น ์ฑ์ง ๋ชปํ๋๋ก ๋์์์ ํตํด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ๋นํด์ค (๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ด์ฉํด์)
๊ณผํ ๋น ์ํฉ์ ๋ํด์ ์ฌ์ฉ์๋ฅผ ์์ธ ๊ฒ์ ๋คํฌ๋งํ ์ํฉ์ด ์กด์ฌํจ
ํ๋ก์ธ์ค ์คํ ๋์ค ํ์ด์ง ํดํธ ๋ฐ์
ํ์ด์ง ํดํธ๋ฅผ ๋ฐ์์ํจ ํ์ด์ง ์์น๋ฅผ ๋์คํฌ์์ ์ฐพ์
๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ ํ์ด์ง๋ฅผ ์ฌ๋ ค์ผ ํ๋๋ฐ, ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฌ์ฉ์ค์ด๋ผ ๋น ํ๋ ์์ด ์์
์ด๋ฌํ ๊ณผํ ๋น์ ํด๊ฒฐํ๊ธฐ ์ํด์ , ๋น ํ๋ ์์ ํ๋ณดํ ์ ์์ด์ผ ํจ
๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์ ์๋ ํ ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃ์์ผ ๋น ํ๋ ์์ ์ป์
ํ๋ก์ธ์ค ํ๋๋ฅผ swap outํ๊ณ , ์ด ๊ณต๊ฐ์ ๋น ํ๋ ์์ผ๋ก ํ์ฉ
swapping ๊ธฐ๋ฒ์ ํตํด ๊ณต๊ฐ์ ๋ฐ๊ฟ์น๊ธฐํ๋ 2๋ฒ ๋ฐฉ๋ฒ๊ณผ๋ ๋ฌ๋ฆฌ 1๋ฒ์ ์ฌ์ฉ์์๊ฒ ํ์ด์ง ์์คํ ์ ๋คํฌ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์์ ํ๋ฉด ์๋จ
(ํ์ด์ง ๊ธฐ๋ฒ์ ์ฌ์ฉ์ ๋ชจ๋ฅด๊ฒ ์์คํ ๋ฅ๋ฅ ์ ๋์ด๊ธฐ ์ํด ์ ํํ ์ผ์ด๋ฏ๋ก ๋คํค์ง ์๊ฒ ์ฒ๋ฆฌํด์ผํ๋ค)
๋ฐ๋ผ์, 2๋ฒ๊ณผ ๊ฐ์ ํด๊ฒฐ์ฑ ์ ํตํด ํ์ด์ง ๊ต์ฒด๊ฐ ์ด๋ฃจ์ด์ ธ์ผ ํจ
โจ ํ์ด์ง ๊ต์ฒด
๋ฉ๋ชจ๋ฆฌ ๊ณผํ ๋น์ด ๋ฐ์ํ์ ๋, ํ๋ก์ธ์ค ํ๋๋ฅผ swap outํด์ ๋น ํ๋ ์์ ํ๋ณดํ๋ ๊ฒ
ํ๋ก์ธ์ค ์คํ ๋์ค ํ์ด์ง ๋ถ์ฌ ๋ฐ์
ํ์ด์ง ํดํธ๋ฅผ ๋ฐ์์ํจ ํ์ด์ง ์์น๋ฅผ ๋์คํฌ์์ ์ฐพ์
๋ฉ๋ชจ๋ฆฌ์ ๋น ํ๋ ์์ด ์๋์ง ํ์ธ
๋น ํ๋ ์์ด ์์ผ๋ฉด ํด๋น ํ๋ ์์ ์ฌ์ฉ
๋น ํ๋ ์์ด ์์ผ๋ฉด, victim ํ๋ ์์ ์ ์ ํด ๋์คํฌ์ ๊ธฐ๋กํ๊ณ ํ์ด์ง ํ ์ด๋ธ์ ์ ๋ฐ์ดํธํจ
๋น ํ๋ ์์ ํ์ด์ง ํดํธ๊ฐ ๋ฐ์ํ ํ์ด์ง๋ฅผ ์ฌ๋ฆฌ๊ณ , ํ์ด์ง ํ ์ด๋ธ ์ ๋ฐ์ดํธ
ํ์ด์ง ๊ต์ฒด๊ฐ ์ด๋ฃจ์ด์ง๋ฉด ์๋ฌด์ผ์ด ์๋๊ฒ ์ฒ๋ผ ํ๋ก์ธ์ค๋ฅผ ๊ณ์ ์ํ์์ผ์ฃผ๋ฉด์ ์ฌ์ฉ์๊ฐ ์์ง ๋ชปํ๋๋ก ํด์ผ ํจ
์ด๋, ์๋ฌด์ผ๋ ์ผ์ด๋์ง ์์ ๊ฒ์ฒ๋ผ ํ๋ ค๋ฉด, ํ์ด์ง ๊ต์ฒด ๋น์ ์ค๋ฒํค๋๋ฅผ ์ต๋ํ ์ค์ฌ์ผ ํจ
โจ ์ค๋ฒํค๋๋ฅผ ๊ฐ์์ํค๋ ํด๊ฒฐ๋ฒ
์ด์ฒ๋ผ ๋น ํ๋ ์์ด ์๋ ์ํฉ์์ victim ํ๋ ์์ ๋น์ธ ๋์ ์ํ๋ ํ์ด์ง๋ฅผ ํ๋ ์์ผ๋ก ์ฌ๋ฆด ๋ ๋ ๋ฒ์ ๋์คํฌ ์ ๊ทผ์ด ์ด๋ฃจ์ด์ง
ํ์ด์ง ๊ต์ฒด๊ฐ ๋ง์ด ์ด๋ฃจ์ด์ง๋ฉด, ์ด์ฒ๋ผ ์ ์ถ๋ ฅ ์ฐ์ฐ์ด ๋ง์ด ๋ฐ์ํ๊ฒ ๋๋ฉด์ ์ค๋ฒํค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ
๋ฐฉ๋ฒ1
๋ณ๊ฒฝ๋นํธ๋ฅผ ๋ชจ๋ ํ์ด์ง๋ง๋ค ๋ฌ์, victim ํ์ด์ง๊ฐ ์ ํด์ง๋ฉด ํด๋น ํ์ด์ง์ ๋นํธ๋ฅผ ํ์ธ
ํด๋น ๋นํธ๊ฐ set ์ํ๋ฉด? โ ํด๋น ํ์ด์ง ๋ด์ฉ์ด ๋์คํฌ ์์ ํ์ด์ง ๋ด์ฉ๊ณผ ๋ฌ๋ผ์ก๋ค๋ ๋ป (์ฆ, ํ์ด์ง๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ๋ผ์จ ์ดํ ํ๋ฒ์ด๋ผ๋ ์์ ์ด ์ผ์ด๋ฌ๋ ๊ฒ. ๋ฐ๋ผ์ ์ด๊ฑด ๋์คํฌ์ ๊ธฐ๋กํด์ผํจ)
bit๊ฐ clear ์ํ๋ผ๋ฉด? โ ๋์คํฌ ์์ ํ์ด์ง ๋ด์ฉ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์์ ํ์ด์ง๊ฐ ์ ํํ ์ผ์นํ๋ ์ํฉ (์ฆ, ๋์คํฌ์ ๋ด์ฉ์ด ๊ฐ์์ ๊ธฐ๋กํ ํ์๊ฐ ์์)
๋นํธ๋ฅผ ํ์ฉํด ๋์คํฌ์ ๊ธฐ๋กํ๋ ํ์๋ฅผ ์ค์ด๋ฉด์ ์ค๋ฒํค๋์ ๋ํ ์๋ฅผ ์ต๋ ์ ๋ฐ์ผ๋ก ๊ฐ์์ํค๋ ๋ฐฉ๋ฒ์
๋ฐฉ๋ฒ2
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ํฉ์ ๋ฐ๋ผ ์ ์ ํํด์ผ ํจ
ํ์ฌ ์ํฉ์์ ํ์ด์ง ํดํธ๋ฅผ ๋ฐ์ํ ํ๋ฅ ์ ์ต๋ํ ์ค์ฌ์ค ์ ์๋ ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ
FIFO
OPT
LRU
์บ์์ ์ง์ญ์ฑ
โจ ์บ์ ๋ฉ๋ชจ๋ฆฌ
์ฃผ๊ธฐ์ต์ฅ์น์ ์ ์ฅ๋ ๋ด์ฉ์ ์ผ๋ถ๋ฅผ ์์๋ก ์ ์ฅํด๋๋ ๊ธฐ์ต์ฅ์น
CPU์ ์ฃผ๊ธฐ์ต์ฅ์น์ ์๋ ์ฐจ์ด๋ก ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
CPU๊ฐ ์ด๋ฏธ ๋ดค๋๊ฑธ ๋ค์ ์ฌ์ ๊ทผํ ๋, ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ๋ฐ ์ธ์ถ ๊ณผ์ ์ ๋ํ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด ์บ์์ ์ ์ฅํด๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ๋ค
์บ์๋ ํ๋ฆฌํ๋กญ ์์๋ก ๊ตฌ์ฑ๋์ด SRAM์ผ๋ก ๋์ด์์ด์ DRAM๋ณด๋ค ๋น ๋ฅธ ์ฅ์ ์ ์ง๋
โจ CPU์ ๊ธฐ์ต์ฅ์น์ ์ํธ์์ฉ
CPU์์ ์ฃผ์๋ฅผ ์ ๋ฌ โ ์บ์ ๊ธฐ์ต์ฅ์น์ ๋ช ๋ น์ด ์กด์ฌํ๋์ง ํ์ธ
(์กด์ฌ) Hit
ํด๋น ๋ช ๋ น์ด๋ฅผ CPU๋ก ์ ์ก โ ์๋ฃ
(๋น์กด์ฌ) Miss
๋ช ๋ น์ด๋ฅผ ๊ฐ๊ณ ์ฃผ๊ธฐ์ต์ฅ์น๋ก ์ ๊ทผ โ ํด๋น ๋ช ๋ น์ด๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ ์ธ์ถ โ ํด๋น ๋ช ๋ น์ด ๋ฐ์ดํฐ๋ฅผ ์บ์์ ์ ์ฅ โ ํด๋น ๋ช ๋ น์ด๋ฅผ CPU๋ก ์ ์ก โ ์๋ฃ
์ด์ฒ๋ผ ์บ์๋ฅผ ์ ํ์ฉํ๋ค๋ฉด ๋น์ฉ์ ๋ง์ด ์ค์ผ ์ ์์
๋ฐ๋ผ์ CPU๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ํ ์ง ์ด๋์ ๋ ์์ธกํ ์ ์์ด์ผ ํจ
(์บ์์ ๋ง์ด ํ์ฉ๋๋ ์ธ๋ชจ ์๋ ์ ๋ณด๊ฐ ๋ค์ด์์ด์ผ ์ฑ๋ฅ์ด ๋์์ง)
์ ์ค๋ฅ ์ ๊ทน๋ํ์ํค๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ด ๋ฐ๋ก ์ง์ญ์ฑ์ ์๋ฆฌ
โจ ์ง์ญ์ฑ
๊ธฐ์ต ์ฅ์น ๋ด์ ์ ๋ณด๋ฅผ ๊ท ์ผํ๊ฒ ์ก์ธ์ค ํ๋ ๊ฒ์ด ์๋๋ผ ํ ์๊ฐ์ ํน์ ๋ถ๋ถ์ ์ง์ค์ ์ผ๋ก ์ฐธ์กฐํ๋ ํน์ฑ
์ง์ญ์ฑ์ ์ข ๋ฅ๋ ์๊ฐ๊ณผ ๊ณต๊ฐ์ผ๋ก ๋๋์ด์ง
์๊ฐ ์ง์ญ์ฑ : ์ต๊ทผ์ ์ฐธ์กฐ๋ ์ฃผ์์ ๋ด์ฉ์ ๊ณง ๋ค์์๋ ์ฐธ์กฐ๋๋ ํน์ฑ
๊ณต๊ฐ ์ง์ญ์ฑ : ์ค์ ํ๋ก๊ทธ๋จ์ด ์ฐธ์กฐ๋ ์ฃผ์์ ์ธ์ ํ ์ฃผ์์ ๋ด์ฉ์ด ๋ค์ ์ฐธ์กฐ๋๋ ํน์ฑ
โจ ์บ์ฑ ๋ผ์ธ
๋น๋ฒํ๊ฒ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ๋ค์ ์บ์์ ์ ์ฅํ๋๋ผ๋, ๋ด๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์บ์์์ ์ฐพ์ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ํํ๋ ๊ฒ์ ์๊ฐ ๋ญ๋น๋ค.
์ฆ, ์บ์์ ๋ชฉ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด์์ ๋ ๋ฐ๋ก ์ ๊ทผํ์ฌ ์ถ๋ ฅํ ์ ์์ด์ผ ์บ์ ํ์ฉ์ด ์๋ฏธ์์ด์ง
๋ฐ๋ผ์ ์บ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์, ์๋ฃ๊ตฌ์กฐ๋ฅผ ํ์ฉํด ๋ฌถ์ด์ ์ ์ฅํ๋๋ฐ ์ด๋ฅผ ์บ์ฑ ๋ผ์ธ
์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ฆ, ์บ์์ ์ ์ฅํ๋ ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ํจ๊ป ์ ์ฅํ๋ฉด์ ๋น ๋ฅด๊ฒ ์ํ๋ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ (set์ด๋ map ๋ฑ์ ํ์ฉ)
๋จํธํ
โจ ์ธ๋ถ ๋จํธํ(external fragmentation)
ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ๋ถํ ์ ํฌ๊ธฐ๊ฐ ์์ ๊ฒฝ์ฐ, ํด๋น ๋ถํ ์ด ๋น์ด์์์๋ ๋ถ๊ตฌํ๊ณ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋งํ๋ค.
์ด๋ค ํ๋ก๊ทธ๋จ์๋ ๋ฐฐ๋น๋์ง ์์ ๋น ๊ณต๊ฐ์์๋ ํ์ฌ ์ํ์์ ์ฌ์ฉ๋ ์ ์๋ ์์ ๋ถํ ์ด๋ค.
โจ ๋ด๋ถ ๋จํธํ(internal fragmentation)
ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ๋ณด๋ค ๋ถํ ์ ํฌ๊ธฐ๊ฐ ํฐ ๊ฒฝ์ฐ, ํด๋น ๋ถํ ์ ํ๋ก๊ทธ๋จ์ ์ ์ฌํ๊ณ ๋จ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๋งํ๋ค.
์ฆ, ํ๋์ ๋ถํ ๋ด๋ถ์์ ๋ฐ์ํ๋ ์ฌ์ฉ๋์ง ์๋ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฐ์ด๋ค.
ex) ๋ฉ๋ชจ๋ฆฌ ์์ ๋ถํ ๊ณต๊ฐ์ด 10,000B๊ฐ ์๊ณ ํ๋ก์ธ์ค A๊ฐ 9,999B๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด 2B๊ฐ ๋จ๊ฒ ๋๋ค. ์ด๋ฌํ ํ์์ ๋ด๋ถ ๋จํธํ๋ผ ํ๋ค.
โจ ์์ถ(Compaction)
์ธ๋ถ ๋จํธํ๋ฅผ ํด์ํ๊ธฐ ์ํด ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ ๊ณต๊ฐ๋ค์ ํ์ชฝ์ผ๋ก ๋ชฐ์, ์์ ๊ณต๊ฐ์ ํ๋ณดํ๋ ๋ฐฉ๋ฒ๋ก ์ด๋ค.
๋จ์ : ์์ ํจ์จ์ด ์ข์ง ์๋ค.
โจ Swapping
๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ํ๋ก์ธ์ค์ ์ฃผ์ ๊ณต๊ฐ ์ ์ฒด๋ฅผ ๋์คํฌ์ ์ค์ ์์ญ์ผ๋ก ์ผ์์ ์ผ๋ก ๋ด๋ ค๋๋ ๊ฒ์ด๋ค. ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๋ฉด ์ดํ์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ถ๋ฌ ๋ค์ผ ์ ์๋ค.
์ฃผ์ํ ์ ์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋์ด ์ฃผ์ ๊ณต๊ฐ์ ๋์คํฌ๋ก ๋ด์ซ๋ ๊ฒ์ด ์๋๋ผ ํน์ ํ ์ด์ ๋ก ์ํ์ค์ธ ํ๋ก์ธ์ค์ ์ฃผ์๊ณต๊ฐ์ ์ผ์์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์์ ๋์คํฌ๋ก ๋ด๋ ค๋์ ๊ฒ์ ์๋ฏธํ๋ค.
์ค์์ธ : ๋์คํฌ -> ๋ฉ๋ชจ๋ฆฌ
์ค์ ์์ : ๋ฉ๋ชจ๋ฆฌ -> ๋์คํฌ
โจ ์ฐ์ ํ ๋น ๋ฐฉ์
๊ฐ๊ฐ์ ํ๋ก์ธ์ค๋ฅผ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์์ ์ธ ๊ณต๊ฐ์ ์ฌ๋ฆฌ๋ ๋ฐฉ์
๊ณ ์ ๋ถํ ๋ฐฉ์
๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฃผ์ด์ง ๊ฐ์๋งํผ์ ์๊ตฌ์ ์ธ ๋ถํ ๋ก ๋ฏธ๋ฆฌ ๋๋๊ณ ๊ฐ ๋ถํ ์ ํ๋์ ํ๋ก์ธ์ค๋ฅผ ์ ์ฌํ์ฌ ์คํ์ํค๋ ๋ฐฉ์
๋จํธํ ๋ฌธ์ ๋ฐ์
๊ฐ๋ณ ๋ถํ ๋ฐฉ์
๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋๋ ํ๋ก๊ทธ๋จ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ถํ ์ ํฌ๊ธฐ, ๊ฐ์๊ฐ ๋์ ์ผ๋ก ๋ณํ๋ ๋ฐฉ์
์ธ๋ถ ๋จํธํ ๋ฐ์
โจ ๋ถ์ฐ์ ํ ๋น ๋ฐฉ์
ํ๋์ ํ๋ก์ธ์ค๋ฅผ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ฌ ์์ญ์ ๋ถ์ฐํ์ฌ ์ ์ฌํ๋ ๋ฐฉ์
ํ์ด์ง
ํ๋ก์ธ์ค๋ฅผ ๋์ผํ ํฌ๊ธฐ์ ํ์ด์ง๋ก ๋๋๋ค.
๋ด๋ถ ๋จํธํ ๋ฌธ์
์ธ๊ทธ๋ฉํ ์ด์
ํ๋ก์ธ์ค๋ฅผ ์๋ก ๋ค๋ฅธ ํฌ๊ธฐ์ ๋ ผ๋ฆฌ์ ๋ธ๋ก ๋จ์์ธ ์ธ๊ทธ๋ฉํ ์ด์ ์ผ๋ก ๋๋๋ค.
์ธ๋ถ ๋จํธํ ๋ฌธ์
ํ์ผ ์์คํ
์ปดํจํฐ์์ ํ์ผ์ด๋ ์๋ฃ๋ฅผ ์ฝ๊ฒ ๋ฐ๊ฒฌํ ์ ์๋๋ก, ์ ์ง ๋ฐ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ ์ฅ๋งค์ฒด์๋ ์๋ง์ ํ์ผ์ด ์๊ธฐ ๋๋ฌธ์, ์ด๋ฐ ํ์ผ๋ค์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋งํ๋ค.
โจ ํน์ง
์ปค๋ ์์ญ์์ ๋์
ํ์ผ CRUD ๊ธฐ๋ฅ์ ์ํํ ์ํํ๊ธฐ ์ํ ๋ชฉ์
๊ณ์ธต์ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง
๋์คํฌ ํํฐ์ ๋ณ๋ก ํ๋์ฉ ๋ ์ ์์
โจ ์ญํ
ํ์ผ ๊ด๋ฆฌ
๋ณด์กฐ ์ ์ฅ์ ๊ด๋ฆฌ
ํ์ผ ๋ฌด๊ฒฐ์ฑ ๋ฉ์ปค๋์ฆ
์ ๊ทผ ๋ฐฉ๋ฒ ์ ๊ณต
โจ ๊ฐ๋ฐ ๋ชฉ์
ํ๋๋์คํฌ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์๋์ฐจ๋ฅผ ์ค์ด๊ธฐ ์ํจ
ํ์ผ ๊ด๋ฆฌ
ํ๋๋์คํฌ ์ฉ๋ ํจ์จ์ ์ด์ฉ
โจ ๊ตฌ์กฐ
๋ฉํ ์์ญ : ๋ฐ์ดํฐ ์์ญ์ ๊ธฐ๋ก๋ ํ์ผ์ ์ด๋ฆ, ์์น, ํฌ๊ธฐ, ์๊ฐ์ ๋ณด, ์ญ์ ์ ๋ฌด ๋ฑ์ ํ์ผ ์ ๋ณด
๋ฐ์ดํฐ ์์ญ : ํ์ผ์ ๋ฐ์ดํฐ
โจ ์ ๊ทผ ๋ฐฉ๋ฒ
์์ฐจ ์ ๊ทผ(Sequential Access)
๊ฐ์ฅ ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ๋ฒ์ผ๋ก, ๋๋ถ๋ถ ์ฐ์ฐ์ read์ write
์ง์ ์ ๊ทผ(Direct Access)
ํน๋ณํ ์์์์ด, ๋น ๋ฅด๊ฒ ๋ ์ฝ๋๋ฅผ read, write ๊ฐ๋ฅ
๊ธฐํ ์ ๊ทผ
์ง์ ์ ๊ทผ ํ์ผ์ ๊ธฐ๋ฐํ์ฌ ์์ธ ๊ตฌ์ถ
โจ ๋๋ ํฐ๋ฆฌ์ ๋์คํฌ ๊ตฌ์กฐ
1๋จ๊ณ ๋๋ ํฐ๋ฆฌ
๊ฐ์ฅ ๊ฐ๋จํ ๊ตฌ์กฐ
ํ์ผ๋ค์ ์๋ก ์ ์ผํ ์ด๋ฆ์ ๊ฐ์ง. ์๋ก ๋ค๋ฅธ ์ฌ์ฉ์๋ผ๋ ๊ฐ์ ์ด๋ฆ ์ฌ์ฉ ๋ถ๊ฐ
2๋จ๊ณ ๋๋ ํฐ๋ฆฌ
์ฌ์ฉ์์๊ฒ ๊ฐ๋ณ์ ์ธ ๋๋ ํฐ๋ฆฌ ๋ง๋ค์ด์ค
UFD : ์์ ๋ง์ ์ฌ์ฉ์ ํ์ผ ๋๋ ํฐ๋ฆฌ
MFD : ์ฌ์ฉ์์ ์ด๋ฆ๊ณผ ๊ณ์ ๋ฒํธ๋ก ์์ธ๋์ด ์๋ ๋๋ ํฐ๋ฆฌ
ํธ๋ฆฌ ๊ตฌ์กฐ ๋๋ ํฐ๋ฆฌ
2๋จ๊ณ ๊ตฌ์กฐ ํ์ฅ๋ ๋ค๋จ๊ณ ํธ๋ฆฌ ๊ตฌ์กฐ
ํ ๋นํธ๋ฅผ ํ์ฉํ์ฌ, ์ผ๋ฐ ํ์ผ(0)์ธ์ง ๋๋ ํฐ๋ฆฌ ํ์ผ(1) ๊ตฌ๋ถ
๊ทธ๋ํ ๊ตฌ์กฐ ๋๋ ํฐ๋ฆฌ
์ํ์ด ๋ฐ์ํ์ง ์๋๋ก ํ์ ๋๋ ํฐ๋ฆฌ๊ฐ ์๋ ํ์ผ์ ๋ํ ๋งํฌ๋ง ํ์ฉํ๊ฑฐ๋, ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ด์ฉํด ์ ์ฒด ํ์ผ ์์คํ ์ ์ํํ๊ณ ์ ๊ทผ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ์ ํ์
๋งํฌ๊ฐ ์์ผ๋ฉด ์ฐํํ์ฌ ์ํ์ ํผํ ์ ์์
IPC(Inter Process Communication)
ํ๋ก์ธ์ค๋ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ค. ์ด๋ ๋ค๋ฅธ ํ๋ก์ธ์ค์๊ฒ ์ํฅ์ ๋ฐ์ง ์๋๋ค๋ ๋ป์ด๊ธฐ๋ ํ๋ค. (์ค๋ ๋๋ ํ๋ก์ธ์ค ์์์ ์์์ ๊ณต์ ํ๋ฏ๋ก ์ํฅ์ ๋ฐ๋๋ค.)
์ด์ฒ๋ผ
๋ ๋ฆฝ์ ์ธ ๊ณต๊ฐ์ ๊ฐ์ง ํ๋ก์ธ์ค๊ฐ ํต์ ์ ์ฌ์ฉ๋๋ ๊ธฐ๋ฒ์ด IPC ํต์
์ด๋ค.ํ๋ก์ธ์ค๋ ์ปค๋์ด ์ ๊ณตํ๋ IPC ์ค๋น๋ฅผ ์ด์ฉํด ํ๋ก์ธ์ค๊ฐ ํต์ ์ ํ ์ ์๊ฒ ๋๋ค.
Last updated