์ด์์ฒด์ ๊ธฐ๋ณธ ๊ฐ๋
์ด์์ฒด์ (OS, Operating System)๋?
์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ์์คํ ์ ์ ์ดํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ฉด์ ์คํํ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํ๊ณ ์ ์ดํ๋ ์์คํ ์ํํธ์จ์ด๋ก, ์ปดํจํฐ ํ๋์จ์ด ๋ฐ๋ก ์์ ์ค์น๋จ
ํ๋ก๊ทธ๋จ์ ์คํ
- ํ๋ก๊ทธ๋จ: ์คํ ์ ์ file system ์์ ํ์ผ ํํ๋ก ์ ์ฅ๋์ด ์์
- ํ๋ก์ธ์ค: ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋จ
์ปดํจํฐ ์์คํ ๊ตฌ์กฐ

CPU(Central Processing Unit)
CPU๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋งค clock cycle๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์์ ๊ธฐ๊ณ์ด๋ก ๋ ๋ช ๋ น์ด๋ฅผ ์ฝ์ด์ ์์ ์ํ
Interrupt line
CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์์ ๋ช ๋ น์ ์ฝ์ด์ ์คํํ ๋, ๋ง์ฝ ๋์ค์ ํค๋ณด๋ ์ ๋ ฅ์ด ๋ค์ด์ค๊ฑฐ๋ ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ์์ฒญ์ด ์ค๋ ๋ฑ I/O ์ฅ์น์ ์ ํธ๊ฐ ๋ค์ด์จ๋ค๋ฉด CPU์ ์ด๋ฅผ ์ ๋ฌํด์ผ ํ๊ณ , ๋ฐ๋๋ก CPU๊ฐ I/O ์ฅ์น์ ์ผ์ ์ํฌ ์๋ ์์ด์ผ ํจ
CPU๋ ์ฐ์ฐ ์๋๊ฐ I/O ์ฅ์น๋ณด๋ค ํจ์ฌ ๋ ๋น ๋ฅด์ง๋ง, ํ ๋ฒ์ ํ๋์ ์์ ๋ฐ์ ์ํํ ์ ์์. ๋ฐ๋ผ์, ํ๋ก๊ทธ๋จ์ด ์คํ๋ ๋ I/O ์ฒ๋ฆฌ ๋ฑ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ์์ ์ด ์์ผ๋ฉด ํ๋ก๊ทธ๋จ์ ์ผ์ ์ ์ง์ํด → ์ธํฐ๋ฝํธ(Interrupt)
์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋์ง๋ฅผ ๊ฐ์งํ๋ ์์๊ฐ Interrupt line์. CPU์ ํ๋์ ๋ช ๋ น์ด๋ฅผ ์คํํ ๋๋ง๋ค ์ธํฐ๋ฝํธ ๋ผ์ธ์ ํ์ธํ๋ฉฐ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํจ
modebit
ํ์ฌ CPU์ ์ ์ด๊ถ์ด ์ด์์ฒด์ ์ ์๋์ง, ์๋๋ฉด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์๋์ง ๊ตฌ๋ถํ๊ฒ ํด์ฃผ๋ ์ญํ ๋ก, modebit๊ฐ 0์ด๋ฉด OS, 1์ด๋ฉด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด CPU์์ ์คํ๋๊ณ ์๋ ๊ฒ
registers
CPU ์์ ์๋ ๋งค์ฐ ๋น ๋ฅธ ์์๊ธฐ์ต์ฅ์น๋ก, CPU์ ์ง์ ์ฐ๊ฒฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ ์๋๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํจ์ฌ ๋น ๋ฆ
PC(Program Counter)๋ผ๋ ๋ ์ง์คํฐ๊ฐ ๋ค์ ๋ฒ์ ์คํํด์ผ ํ ๋ช
๋ น์ด๊ฐ ๋ด๊ธด ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ด, CPU๋ ์ด ๋ ์ง์คํฐ์ ๋ด๊ธด ์ฃผ์์์ ๋ช
๋ น์ด๋ฅผ ๋ฐ์์์ ์คํํจ
Timer
ํ์ด๋จธ๋ ํ๋์ ํ๋ก๊ทธ๋จ์ด ๋ฌดํ๋ฃจํ ๋ฑ์ผ๋ก CPU๋ฅผ ๋ ์ ํ๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ปดํจํฐ์ ์กด์ฌํ๋ ํ๋์จ์ด ์ฅ์น
์ฒ์ ์ปดํจํฐ๋ฅผ ์ผ๋ฉด OS๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ๊ณ , ์ด OS๋ ๊ฐ๊ฐ์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ๋๊ฒจ์ค. ์ด๋, ํ์ด๋จธ์ ์ผ์ ์๊ฐ์ ์ธํ ํ ํ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ๋๊ฒจ์ค์ผ๋ก์จ ํ๋ก๊ทธ๋จ์ด CPU๋ฅผ ๋ ์ ํ๋ ๊ฒ์ ๋ง์
CPU๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ํ์ด๋จธ์ ์ง์ ํ ์๊ฐ์ด ๋๋๋ฉด, ํ์ด๋จธ๋ ํ์ด๋จธ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ์ ์๊ฐ์ด ๋๋ฌ์์ ์๋ ค์ค. CPU๋ ํ์ด๋จธ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์ผ๋ฉด ํ๋ก๊ทธ๋จ ์คํ์ ์ค๋จํ๊ณ , CPU์ ์ ์ด๊ถ์ ์๋์ผ๋ก ๋ค์ OS์๊ฒ ๋์ด๊ฐ. OS๋ ๋ค์ CPU๋ฅผ ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ ๋๊ฒจ์ฃผ๊ณ (ํ์ด๋จธ ๊ฑธ๊ณ ๋๊ฒจ์ค), ํ์ด๋จธ ์๊ฐ์ด ๋๋๋ฉด ๋ค์ CPU ์ ์ด๊ถ์ด OS์ ๋์ด์ค๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉด์ CPU๊ฐ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๊ฒ ๋จ
Memory
CPU์ ์์ ๊ณต๊ฐ์ผ๋ก, ๋ฐ์ดํฐ๋ ์ํ, ๋ช ๋ น์ด ๋ฑ์ ๊ธฐ๋กํ๋ ์ฅ์น
CPU๋ ๋งค clock cycle๋ง๋ค ๋ฉ๋ชจ๋ฆฌ์์ ๊ธฐ๊ณ์ด๋ฅผ ์ฝ์ด์ ์์ ์ ์คํํจ. ๋ฉ๋ชจ๋ฆฌ๋ I/O ์ฅ์น์ ๊ฐ์ ์ฅ์น์ ์ผ์ข ์ด๊ธฐ ๋๋ฌธ์ ์ ๋ด memory controller๋ฅผ ๊ฐ์ง.
์์น์ ์ผ๋ก ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์๋ CPU๋ง ์ ๊ทผ ๊ฐ๋ฅํจ. I/O ์ฅ์น๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ๊ฐ ์ฅ์น์ ๋ฐ๋ก ์กด์ฌํ๋ local buffer์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์์ ์ ์ํํจ. ๋ค๋ง DMA Controller๋ผ๋ ์ฅ์น๋ ๋๋ฌด ๋ง์ ์ธํฐ๋ฝํธ ๋ฐ์์ ๋ง๊ธฐ ์ํด CPU์ ํจ๊ป ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์์.
์ด๋, CPU์ DMA Controller๊ฐ ๋์์ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ฉด ๋ฐ์ดํฐ ์ผ๊ด์ฑ์ด ๊นจ์ง๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๊ธฐ ๋๋ฌธ์ memory controller๊ฐ ์ ๊ทผ ์์ ๋ฑ์ ์กฐ์จํด ํ ๋ฒ์ ํ๋์ ์ฅ์น๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์๋๋ก ํจ.
I/O Device
์ปดํจํฐ์ ๋ณ๊ฐ์ ์ฅ์น๋ก, ํค๋ณด๋, ๋ง์ฐ์ค, ํ๋ฆฐํฐ, ๋ชจ๋ํฐ, ํ๋๋์คํฌ ๋ฑ์ด ํฌํจ๋จ. ํ๋๋์คํฌ์ ๊ฒฝ์ฐ ์ฃผ๋ก ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ผ๊ณ ๋ถ๋ฅด์ง๋ง, ์ปดํจํฐ์ ๋ฉ๋ชจ๋ฆฌ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฆฌ๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ์์ ๋ฐ์ดํธ๋ฅด ๊ฐ์ ธ์ค๋ ์์ ๋๋ฌธ์ I/O Device๋ผ๊ณ ๋ณผ ์ ์์.
Device Controller
๊ฐ I/O ์ฅ์น์ ๋ถ์ด์ ํด๋น ์ฅ์น๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ๋ดํ๋ ์ผ์ข ์ ์์ CPU๋ก, ์๋ฅผ ๋ค๋ฉด ๋์คํฌ์ ํค๋๊ฐ ์ด๋ป๊ฒ ์์ง์ผ์ง ์ปจํธ๋กคํ๋ ๊ฒ์ด ๋์คํฌ์ device controller์ ์ญํ
Local Buffer
์ปดํจํฐ์ CPU์ ์์
๊ณต๊ฐ์ธ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ฏ์ด, ๊ฐ I/O ์ฅ์น์๋ device controller์ ์์
๊ณต๊ฐ์ด ํ์ํจ. ์ด ๊ฐ ์ฅ์น์ ์์
๊ณต๊ฐ์ lcoal buffer๋ผ๊ณ ๋ถ๋ฆ
I/O ์ฅ์น์์ ๋ฐ์ํ ๋ฐ์ดํฐ๊ฐ local buffer์ ์ ์ฅ๋จ. local buffer์ ์์
๋ด์ฉ์ด ์์ด๋ฉด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๊ณ , CPU๊ฐ local buffer์ ๋ด์ฉ์ ์ฝ์ด์ ์์ ์ ์์
๊ณต๊ฐ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ณต์ฌํด์ด
DMA(Direct Memory Access) Controller
๋ง์ ์ธํฐ๋ฝํธ์ ์ํ CPU ๋ถํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ์ฅ์น๋ก, ๊ธฐ์กด์๋ I/O ์ฅ์น์์ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด CPU๊ฐ ํ๋ ์ผ์ ์ค๋จํ๊ณ I/O ์ฅ์น์ local buffer์ ๋ด์ฉ์ ์์ ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๊ฐ์ ธ์์ ์์ ์ ์ํํด์ผ ํ์.
DMA Controller๋ CPU๋ฅผ ๋์ ํด I/O ์ฅ์น์ local buffer์ ๋ด์ฉ์ด ์์ด๋ฉด ์ด ๋ด์ฉ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ณต์ฌํด์ฃผ๊ณ , ์ด ์์ ์ด ๋๋๋ฉด CPU์ ํ ๋ฒ๋ง ์ธํฐ๋ฝํธ ๊ฑธ์ด ์์ ์ด ๋๋ฌ์์ ์๋ฆผ
์ด์์ฒด์ ์ ๊ตฌ์กฐ

- ์ธํฐํ์ด์ค: ์๋ก ๋ค๋ฅธ ์์คํ
์์๋ค์ด ์ํธ์์ฉํ ์ ์๊ฒ ๋์์ฃผ๋ ๋งค๊ฐ์ฒด
User ↔๏ธ OS, OS ↔๏ธ HW์ ์ํธ์์ฉ
ex) CLI(๋ช ๋ น์ด ์ธํฐํ์ด์ค), GUI(๊ทธ๋ํฝ ์ ์ ์ธํฐํ์ด์ค) - ์์คํ
์ฝ: ์์ฉ ํ๋ก๊ทธ๋จ์ด OS์ ๊ธฐ๋ฅ์ ํธ์ถํ ๋ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค๋ก, ์์ฉ ํ๋ก๊ทธ๋จ์ด OS์ ์ง์ ์ ๊ทผ์ ๋ฐฉ์งํจ
ex) read(): ํ์ผ ์ฝ๊ธฐ, fork(): ํ๋ก์ธ์ค ์์ฑ - ์ปค๋: ์ด์์ฒด์ ์ ํต์ฌ ์์๋ก, HW์ ์ง์ ์ํธ์์ฉํ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ, CPU, IO, ํ์ผ ์์คํ ๋ฑ์ ๊ด๋ฆฌํ๋ SW
- ๋๋ผ์ด๋ฒ:HW์ OS ๊ฐ์ ์ํํธ์จ์ด ์ธํฐํ์ด์ค ์ญํ ๋ก, ๊ฐ ํ๋์จ์ด ์ฅ์น๋ ์ด์์ฒด์ ์ ์๋ก ๋ค๋ฅด๊ฒ ์๋ํ ์ ์๊ธฐ ๋๋ฌธ์, ๋๋ผ์ด๋ฒ๋ ์ด๋ค ์ฅ์น๊ฐ ์ด์์ฒด์ ์ ํธํ๋๋๋ก ํด์ค
ex) ํ๋ฆฐํธ ๋๋ผ์ด๋ฒ, ๊ทธ๋ํฝ ์นด๋ ๋๋ผ์ด๋ฒ
์ด์์ฒด์ ์ ์ญํ
- ์ปดํจํฐ ์์คํ
์ ์์(ํ๋ก์ธ์ค, ๋ฉ๋ชจ๋ฆฌ, I/O ์ฅ์น ๋ฑ)์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํจ
์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ๋ช ์ผ ๊ฒฝ์ฐ ๊ฐ ์ฌ์ฉ์ ๊ฐ ํํ์ฑ ์๊ฒ ์์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ถ๋ฐฐํจ
โ CPU๊ด๋ฆฌ: CPU ์ค์ผ์ค๋ง
๋ฉ๋ชจ๋ฆฌ์๋ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ด ๋ค์ ์ ์ฌ๋ ์ ์์ง๋ง, CPU๊ฐ ์ด๋ค ๋ชจ๋๋ฅผ ๋์์ ์คํํ ์ ์๋ค. ์ด์์ฒด์ ๋ ์คํ ์ค์ธ ๋ชจ๋ ํ๋ก๊ทธ๋จ๋ค์ด ๊ณต์ ํ๊ณ ํฉ๋ฆฌ์ ์ผ๋ก CPU๋ฅผ ํ ๋น๋ฐ๋๋ก CPU์ ํ ๋น ์์์ ์ฌ์ฉ ์๊ฐ ๊ฒฐ์ ํ๋ค.
โก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ: ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ
์๋กญ๊ฒ ์คํ๋๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌํ๊ณ , ์ข ๋ฃ๋ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ญ์ ํ๋ค. ์ฆ, ๋์์ ๋ญ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ ์ฉ๋์ด ์๋๋ก ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ค.
โข ํ์ผ/๋๋ ํฐ๋ฆฌ ๊ด๋ฆฌ: ํ์ผ ์์คํ
๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ํ์ผ ์์คํ ์ ํ์ฉํ๋ค. ํ์ผ ์์คํ ์ ๋ณด์กฐ๊ธฐ์ต์ฅ์น ๋ด์ ์ ๋ณด๋ฅผ ํ์ผ ๋ฐ ํด๋ ๋จ์๋ก ์ ๊ทผ๊ณผ ๊ด๋ฆฌํ ์ ์๋๋ก ๋ง๋๋ ์ด์์ฒด์ ๋ด๋ถ ํ๋ก๊ทธ๋จ์ด๋ค. - ํ๋ก์ธ์ค ๋ฐ ์ค๋ ๋ ๊ด๋ฆฌ
'์คํ ์ค์ธ ํ๋ก๊ทธ๋จ'์ ๋์์ ํ๋ก์ธ์ค๋ผ๊ณ ํ๊ณ , ์ด ํ๋ก์ธ์ค๋ฅผ ์ด๋ฃจ๋ ์คํ์ ๋จ์๋ฅผ ์ค๋ ๋๋ผ๊ณ ํ๋ค. ๋ฉ๋ชจ๋ฆฌ์๋ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์ ์ฌ๋ ์ ์๋๋ฐ, ์ด์์ฒด์ ๋ ์ด ํ๋ก์ธ์ค์ ํ์ํ ์์์ ํ ๋นํ๊ณ , ์ค๋ ๋๋ ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ฐ์ ์์์ ์ด์ฉํด ํ๋ก์ธ์ค์ ์์ ์ ์ํํ๋ค.
- ํ๋ก์ธ์ค๋ฅผ ์ด๋ฃจ๋ ์ค๋ ๋๊ฐ 2๊ฐ ์ด์์ธ ๊ฒฝ์ฐ ๋์ผํ ์์ ์ ๋์์ ์ํํ ์ ์๋ค. - ์ปดํจํฐ ์์คํ
์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ํ๊ฒฝ ์ ๊ณต
ํ๋์จ์ด๋ฅผ ์ฌ์ฉ์๊ฐ ์ง์ ๋ค๋ฃจ์ง ์์๋ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ฉฐ, ์ฌ๋ฌ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ ๋์์ ์คํํ ์ ์๋๋ก ๋ค์ค ์์ (multi tasking) ์ง์ํจ
- ๋ฉํฐํ์คํน(Multitasking): ์ฌ๋ฌ ๊ฐ์ ํ๋ก๊ทธ๋จ์ด ๋์์ ์คํ๋๋ ๋ฐฉ์์ผ๋ก, ํ๋์ CPU์์ ๋์์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๊ฒ์ด ์๋๋ผ, ๊ฐ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์์ฃผ ์งง์ ์๊ฐ์ ๋ฒ๊ฐ์๊ฐ๋ฉด์ ๋ถ๋ฐฐํด์ ๋ง์น ๋์์ ์คํ๋๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํ๋ ๋ฐฉ์
์ด๋ฅผ Multiprogramming(์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์์์ ๊ฐ์กฐ), Time Sharing(CPU์ ์๊ฐ์ ๋ถํ ํด์ ์ด๋ค๋ ๊ฒ์ ๊ฐ์กฐ)์ด๋ผ๊ณ ๋ ํจ
- ๋ฉํฐํ๋ก์ธ์(Multiprocessor): ํ๋์ ์ปดํจํฐ์ CPU(processor)๊ฐ ์ฌ๋ฌ ๊ฐ์์ ์๋ฏธ, ๋ฉํฐ ํ์คํน๊ณผ ์ ํ ๋ค๋ฅธ ์๋ฏธ
์ปค๋์ ์ญํ
์ด์์ฒด์ ์ ๋ชจ๋ ๋ถ๋ถ์ ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๋ ๊ฒ์ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ์ด์์ฒด์ ์ ๊ฐ์ฅ ํต์ฌ์ธ ์ปค๋๋ง์ ๋ฉ๋ชจ๋ฆฌ์ ์์ฃผํจ
๋ฐ๋ผ์, ์ข์ ์๋ฏธ์์ ์ด์์ฒด์ ์ ํต์ฌ์ธ ์ปค๋๋ง์ ์ด์์ฒด์ ๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํจ
- ํ๋ก์ธ์ค ๊ด๋ฆฌ
์ปค๋์ ์ฌ๋ฌ ํ๋ก์ธ์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ , ํ๋ก์ธ์ค ๊ฐ ์ถฉ๋ ์์ด ์์คํ ์์์ ๊ณต์ ํ๊ฒ ๋ถ๋ฐฐํ๊ธฐ ์ํ ๊ด๋ฆฌ
• ํ๋ก์ธ์ค ์ค์ผ์ค๋ง: CPU ์์์ ์ฌ๋ฌ ํ๋ก์ธ์ค์ ํ ๋นํ๋ ๋ฐฉ์์ผ๋ก, ๋ค์ํ ์ค์ผ์ค๋ง ์๊ณ ๋ฆฌ์ฆ(ex: FIFO, RR, SRT ๋ฑ)์ ์ฌ์ฉํด ํจ์จ์ฑ์ ๋์
• ํ๋ก์ธ์ค ๋๊ธฐํ: ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ์์์ ๋์์ ์ฌ์ฉํ์ง ์๋๋ก ์ ์ด(๋ฎคํ ์ค, ์ธ๋งํฌ์ด)
• ํ๋ก์ธ์ค ์์ฑ ๋ฐ ์ข ๋ฃ: ์๋ก์ด ํ๋ก์ธ์ค ์์ฑํ๊ณ , ์์ ์ ์๋ฃํ ํ๋ก์ธ์ค ์ข ๋ฃํ๋ ์์ ์ ๊ด๋ฆฌ\ - ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
์ปค๋์ ์์คํ ์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ(RAM)๋ฅผ ํจ์จ์ ์ผ๋ก ๋ฐฐ๋ถํ๊ณ , ํ๋ก์ธ์ค๋ค์ด ํ์ํ๋งํผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๊ด๋ฆฌ
• ๋ฉ๋ชจ๋ฆฌ ํ ๋น: ๊ฐ ํ๋ก์ธ์ค๊ฐ ์คํ๋๋ ๋์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋น(์ฐ์ ํ ๋น, ํ์ด์ง ํ ๋น, ์ธ๊ทธ๋จผํธ ํ ๋น ๋ฑ)
• ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ: ์ค์ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ๋ณด๋ค ํฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ํ๋ ๋์คํฌ์ ์ผ๋ถ๋ฅผ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ์ฉํด ํ๋ก๊ทธ๋จ์ ์คํํ ์ ์๊ฒ ํจ → ํ์ด์ง๊ณผ ์ธ๊ทธ๋ฉํ ์ด์ ๊ธฐ์ ์ฌ์ฉํด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
• ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ: ๊ฐ ํ๋ก์ธ์ค๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์นจ๋ฒํ์ง ์๋๋ก ๋ณดํธํ๋ ๊ธฐ๋ฅ ์ ๊ณต
• ๋ฉ๋ชจ๋ฆฌ ํด์ : ์ฌ์ฉ์ด ๋๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํด์ ํด ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ ์ ์๊ฒํจ - ์
์ถ๋ ฅ ์ฅ์น ๊ด๋ฆฌ
์ปค๋์ ํ๋์จ์ด ์ฅ์น(๋์คํฌ, ํ๋ฆฐํฐ, ๋คํธ์ํฌ ์ฅ์น ๋ฑ)์์ ๋ฐ์ดํฐ ์ก์์ ์ ๊ด๋ฆฌ
• ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ: ๊ฐ ์ฅ์น์ ๋ง๋ ๋๋ผ์ด๋ฒ๋ฅผ ํตํด ํ๋์จ์ด์์ ์ํธ์์ฉ ๊ด๋ฆฌ
• ์ฅ์น ์ค์ผ์ค๋ง: ์ฌ๋ฌ ์ ์ถ๋ ฅ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฅ์น์ ๋ํ ์ ๊ทผ ์์ ๊ด๋ฆฌ(FCFS, SSTF, SCAN ๋ฑ)
• ๋ฒํผ๋ง: ์ ์ถ๋ ฅ ์ฅ์น์ ์๋ ์ฐจ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ๋ฒํผ๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ ์ก์์ ์ ์ํํ๊ฒ ํจ - ํ์ผ ์์คํ
๊ด๋ฆฌ
์ปค๋์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์ ์ฅํ๊ณ , ํ์ผ์ ๊ด๋ฆฌ
• ํ์ผ์ ์ฅ: ๋ฐ์ดํฐ๋ฅผ ํ์ผ๋ก ์ ์ฅํ๊ณ , ํด๋น ํ์ผ์ ๋์คํฌ์ ์์ ํ๊ฒ ๋ณด๊ดํจ. ํ์ผ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ํตํด ๊ด๋ฆฌ๋๋ฉฐ, ํ์ผ์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด ์ ๊ทผ ๊ฐ๋ฅ
• ํ์ผ ํ ๋น ๋ฐฉ๋ฒ: ๋์คํฌ ์์์ ํ์ผ์ด ์ ์ฅ๋๋ ๋ฐฉ๋ฒ์ ๊ด๋ฆฌ(์ฐ์ ํ ๋น, ๋งํฌ ํ ๋น, ์์ธ ํ ๋น ๋ฑ)
• ํ์ผ ์ ๊ทผ ์ ์ด: ํ์ผ์ ๋ํ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์คํ ๋ฑ์ ๊ถํ์ ์ค์ ํด, ์ฌ์ฉ์๊ฐ ํน์ ํ์ผ์ ์ ๊ทผํ ์ ์๋๋ก ์ ์ด
• ํ์ผ ๋ณต๊ตฌ: ์์คํ ์ถฉ๋ ๋ฑ์ผ๋ก ์ธํ ๋ฐ์ดํฐ ์์ค์ ๋ฐฉ์งํ๊ธฐ ์ํด ํ์ผ ๋ณต๊ตฌ ๋ฐฉ๋ฒ ์ ๊ณต - ๋ณด์ ๋ฐ ๊ถํ ๊ด๋ฆฌ
์ปค๋์ ์์คํ ์์์ ๋ํ ๋ถ๋ฒ์ ์ธ ์ ๊ทผ์ ๋ฐฉ์งํ๊ณ , ์ฌ์ฉ์๊ฐ ์์คํ ์์์ ์ ์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ณด์ ์ ์ง
• ์ฌ์ฉ์ ์ธ์ฆ: ์์คํ ์ ์ ๊ทผํ๋ ค๋ ์ฌ์ฉ์ ํ์ธํ๋ ๋ฐฉ๋ฒ(๋น๋ฐ๋ฒํธ, ์์ฒด ์ธ์, ์ด์ค ์ธ์ฆ ๋ฑ)
• ๊ถํ ๊ด๋ฆฌ: ๊ฐ ์ฌ์ฉ์๋ ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ ์ ์๋ ์์์ ์ ํํจ
• ์ํธํ: ๋ฐ์ดํฐ๋ฅผ ์ํธํํด ๋ถ๋ฒ์ ์ธ ์ ๊ทผ์ผ๋ก๋ถํฐ ๋ณดํธ
• ๋ฐฉํ๋ฒฝ ๋ฐ ์นจ์ ํ์ง ์์คํ : ์ธ๋ถ์ ์ ์์ ์ธ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ , ์์คํ ์ ๋ํ ๊ณต๊ฒฉ์ ํ์งํด ๋ณด์ ๊ฐํ
์ปค๋์ ์ข ๋ฅ

- ๋จ์ผํ ์ปค๋
ํ๋์ ์ปค๋์ด ๊ทธ ์ด์์ฒด์ ์์ ์ผ์ด๋๋ ์ ์ถ๋ ฅ, ๋คํธ์ํฌ, ๋๋ฐ์ด์ค ์ง์ ๋ฑ ๋ชจ๋ ์ผ์ ๋ค ์ฒ๋ฆฌํ๋ ๋ฐฉ์
• ์ฐ์ฐ์ ์ ๊ณตํ๋ ๋ชจ๋์ ๊ฐ์ ์ฃผ์ ๊ณต๊ฐ ์์์ ์คํ์ํค๊ธฐ ๋๋ฌธ์ ์ฝ๋๊ฐ ๋งค์ฐ ์ง์ ๋ ๋๊ฒ, ์กฐ๋ฐํ๊ฒ ์ง์ฌ์ ธ ์์ → ์์ ์ด ์ด๋ ต๊ณ , ํ๋์ ๋ชจ๋๋ง ์ค๋ฅ๊ฐ ์์ด๋ ์์คํ ์ ์ฒด๊ฐ ๋ฉ์ถ ์ ์๋ค๋ ๋ฌธ์ ์กด์ฌ
• ํ์ง๋ง ๊ทธ ํ๋์ ์ฝ๋๊ฐ ์ ๋ขฐํ ๋งํผ ์์ ํ๋ค๋ฉด ์ปดํฌ๋ํธ์ ์ง์ ๋๊ฐ ๋๊ธฐ ๋๋ฌธ์, ์ฒ๋ฆฌ ์๋๊ฐ ๋น ๋ฅด๊ณ , ๋์์ธ์ด ๊น๋ํ๋ค๋ ์ฅ์ ๋ ์์ - ๋ง์ดํฌ๋ก ์ปค๋
๋จ์ผํ ์ปค๋๊ณผ ๋ฌ๋ฆฌ ํ๋์จ์ด ์์ ๋งค์ฐ ๊ฐ๊ฒฐํ ์ถ์ํ๋ง ์ ๊ณตํ๊ณ , ๋ชจ๋๋ฆฌ์ ์ปค๋์ด ์ ๊ณตํ๋ ๋คํธ์ํน ๊ฐ์ ์๋น์ค๋ ์๋ฒ๋ก ๊ตฌํํจ
• ์์ ์ฑ ๋์ด๊ณ ์ปค๋ ํฌ๊ธฐ๋ ์ค์ด๊ณ ๋ณด์๋ ๋์ง๋ง, ์ ๋ฐ์ ์ธ ํผํฌ๋จผ์ค๊ฐ ์ ํ๋จ - ํผํฉํ ์ปค๋
๋ณธ์ง์ ์ผ๋ก ๋ง์ดํฌ๋ก ์ปค๋์ ๋ฐ๋ฅด๋ ์ฌ์ฉ์ ๋ ๋ฒจ(์๋ฒ)์์ ์ฌ์ฉํ๋ฉด ๋๋ฆฐ ์ฝ๋๋ค์ ์ปค๋ ๋ ๋ฒจ์์ ์ฌ์ฉํ๋๋ก ์์ ํ ๊ฒ
๋ฉ๋ชจ๋ฆฌ ์์ญ ๋ด ์ปค๋ ์์ญ๊ณผ ์ฌ์ฉ์ ์์ญ

์ฌ์ฉ์ ํ๋ก๊ทธ๋จ๊ณผ ๋ฌ๋ฆฌ ์ด์์ฒด์ ๋ ๋งค์ฐ ํน๋ณํ ํ๋ก๊ทธ๋จ์ด๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ปค๋ ์์ญ์ด๋ผ๋ ๊ณต๊ฐ์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋๋ค. ์ปค๋ ์์ญ ์ธ์ ์ฌ์ฉ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ์ฌ๋๋ ๊ณต๊ฐ์ ์ฌ์ฉ์ ์์ญ์ด๋ผ๊ณ ํ๋ค.
์ฆ, ์ด์์ฒด์ ์ ๊ธฐ๋ฅ์ ์ ๊ณต๋ฐ๊ธฐ ์ํด์๋ ์ปค๋ ์์ญ์ ์ ์ฌ๋ ์ด์์ฒด์ ์ฝ๋๋ฅผ ์คํํด์ผ ํ๋ค.
์ด์ค๋ชจ๋(์ ์ ๋ชจ๋์ ์ปค๋๋ชจ๋)์ ์ ํ
์ด์ค๋ชจ๋ ์ด์
์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์คํ ์์์ด ์ง์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ , ์ปค๋์ ์ง์ ์ํฅ์ ๋ผ์น ์ ์๋๋ก ๋ฐฉ์งํ๊ธฐ ์ํ ํ๋์จ์ด์ ์ง์ ์ฅ์น → ์์ ์ฑ๊ณผ ๋ณด์์ฑ ๊ฐํ
์ ์ ๋ชจ๋
์ ์ ๋ชจ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ ๋ชจ๋๋ก, ํ๋ก์ธ์ค๊ฐ HW์ ์ง์ ์ ๊ทผํ๊ฑฐ๋ ์์คํ ์์์ ์ ๊ทผํ ์ ์์
- ์ฌ์ฉ์๋ฅผ ์ํ ๋์ ๋ด๋น
- ์์คํ ๋ฐ์ดํฐ์ ์ ํ๋ ์ ๊ทผ๋ง์ด ํ์ฉ๋จ
- ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์คํ ์ฝํ๋ฉด ์ ์ ๋ชจ๋์์ ์ปค๋ ๋ชจ๋๋ก ์ ํ๋จ
- CPU ์ ์ ๋ชจ๋ ํน๊ถ ์์ค์ผ๋ก ์ฝ๋ ์คํ
- ์ ์ ๋ชจ๋์์ ์คํ๋๋ ์ค๋ ๋๋ ์์ ๋ง์ ์ ์ ๋ชจ๋ ์คํ์ ๊ฐ์ง
์ปค๋๋ชจ๋
์ปค๋๋ชจ๋๋ ์ด์์ฒด์ ์ ํต์ฌ ๋ถ๋ถ์ธ ์ปค๋์ด ์คํ๋๋ ๋ชจ๋๋ก, ๋ชจ๋ ์์คํ ์์์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ ๊ฐ์ง. ์ฆ, ์ ์ ๋ชจ๋์ ๋ฌ๋ฆฌ HW ์ ๊ทผ์ด๋ ์์ ์ ๊ทผ ๊ฐ๋ฅ
- ์ํผ๋ฐ์ด์ ๋ชจ๋, ์์คํ ๋ชจ๋๋ก ๋ถ๋ฆผ
- ์ด์์ฒด์ ๋ฅผ ์ํ ๋์ ๋ด๋น
- ์์คํ ์ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผ ๊ฐ๋ฅํ๊ณ , ๋ชจ๋ CPU ๋ช ๋ น ์คํ ๊ฐ๋ฅ
- ์ด์์ฒด์ ์ฝ๋๋ ๋๋ฐ์ด์ค ๋๋ผ์ด๋ฒ ๊ฐ์ ์ปค๋๋ชจ๋ ์ฝ๋ ์คํ
- CPU๋ ์ปค๋๋ชจ๋ ํน๊ถ ์์ค์์ ์ฝ๋ ์คํ
์ ์ ๋ชจ๋ ↔๏ธ ์ปค๋ ๋ชจ๋์ ์ ํ
๋ชจ๋ ์ ํ์ ์์คํ ์ฝ, ์ธํฐ๋ฝํธ ๋ ๊ฐ์ง์ ์ํด ๋ฐ์ํจ
* ์์คํ ์ฝ(์ํํธ์จ์ด ์ธํฐ๋ฝํธ)์ ์ ์ ๋ชจ๋์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ์ ์ปค๋๋ชจ๋์ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ผ๋ก, ์ ์ ๋ชจ๋์์๋ ์ ํ๋ ์ ๊ทผ๊ถํ์ ๊ฐ๊ธฐ ๋๋ฌธ์ ์์คํ ์ฝ์ ์ด์ฉํด ์ปค๋ ๋ชจ๋๋ก ์ ํ ํ ์์์ ์ ๊ทผ ๊ฐ๋ฅ(ex: ์์์ ์ ๊ทผํ๋ ์ ์ถ๋ ฅ ๋ช ๋ น์ด)
* CPU๊ฐ ์ ์ ๋ชจ๋๋ก ์คํ ์ค์ธ์ง, ์ปค๋ ๋ชจ๋๋ก ์คํ ์ค์ธ์ง๋ CPU ์ ํ๋๊ทธ ๋ ์ง์คํฐ ๋ด ์ํผ๋ฐ์ด์ ํ๋๊ทธ๋ฅผ ํตํด ์ ์ ์๋ค.
๋ชจ๋ ๋นํธ
์ปค๋ ๋ชจ๋์ ์ ์ ๋ชจ๋๋ฅผ ๊ตฌ๋ถ์ง๊ธฐ ์ํด ๋ชจ๋ ๋นํธ๋ผ๊ณ ํ๋ ํ๋์ ๋นํธ๊ฐ ์ถ๊ฐ๋จ → ์ปค๋ ๋ชจ๋(0)๊ณผ ์ ์ ๋ชจ๋(1)
• ์์คํ
๋ถํ
์ ํ๋์จ์ด๋ ์ปค๋๋ชจ๋์์ ์์๋๋๋ฐ, ๊ทธ ๋ค์ ์ด์์ฒด์ ๊ฐ ์ ์ฌ๋๊ณ ์ ์ ๋ชจ๋์์ ์ฌ์ฉ์ ํ๋ก์ค์ธ๊ฐ ์์๋๊ฒ ํจ. ํธ๋ฉ์ด๋ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ ๋๋ง๋ค ํ๋์จ์ด๋ ์ปค๋๋ชจ๋๋ก ์ ํํจ
• ์ ์ ๋ชจ๋์์ ๋ถ๋ฒ์ ์ธ ๋ช ๋ น์ ์คํํ๊ฒ ๋๋ฉด, ํ๋์จ์ด๋ ์ด์์ฒด์ ๋ก ํธ๋ฉ์ ๋ฐ์์ํค๊ฒ ๋๋ฉด์ ์ปค๋๋ชจ๋์ ์ ๊ทผํ ์ ์์

- ์์คํ
์ฝ ์์ฒญ(User Mode)
ex) ํ์ผ์ ์ด๊ณ ์ํ ๋ ์ ์ ํ๋ก๊ทธ๋จ์ด open() ํจ์ ํธ์ถ - ๋ชจ๋ ์ ํ(User Mode → Kernel Mode)
์์คํ ์ฝ์ด ํธ์ถ๋๋ฉด, ์ด์์ฒด์ ๋ ์ธํฐ๋ฝํธ๋ฅผ ์ฌ์ฉํด ์ ์ ๋ชจ๋์์ ์ปค๋๋ชจ๋๋ก ์ ํ
์ด๋, CPU๋ ํ์ฌ ๋ชจ๋์ธ ์ ์ ๋ชจ๋์์ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํ๊ณ , ์ ํ ๊ณผ์ ์์ ์ ์ ๋ชจ๋์์์ ์ค๋จ ์ง์ ์ ๊ธฐ์ตํ๊ธฐ ์ํด ํ๋ก์ธ์ค ์ปจํ ์คํธ๊ฐ ์ ์ฅ๋จ - ์ปค๋ ๋ชจ๋์์์ ์ฒ๋ฆฌ(Kernel Mode)
์ปค๋ ๋ชจ๋๋ก ์ ํ๋๋ฉด, ์์คํ ์ฝ์ ์ฒ๋ฆฌํ๋ ์ปค๋์ ์ฝ๋๊ฐ ์คํ๋จ - ๋ชจ๋ ์ ํ(Kernel Mode → User Mode)
์ปค๋์ด ์์ ์ ์ฒ๋ฆฌํ ํ, ๊ฒฐ๊ณผ๋ฅผ ์ ์ ํ๋ก๊ทธ๋จ์ ๋ฐํํจ. ๊ทธ ํ ๋ค์ ์ ์ ๋ชจ๋๋ก ์ ํ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ค์ ์คํ๋จ. ์ด๋, ์ปค๋์ ๊ณผ์ 2์์ ์ ์ฅํด๋ ์ปจํ ์คํธ๋ฅผ ๋ณต์ํด ์ด์ ์ ์ค๋จ๋ ์์น์์ ์คํ์ ์ฌ๊ฐํ ์ ์๊ฒ ํจ - ์์คํ
์ฝ ๋ฐํ(User Mode)
์ ์ ํ๋ก๊ทธ๋จ์ ์ปค๋์ด ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๊ฒ ๋๊ณ , ์ดํ ์ ์ ๋ชจ๋์์ ๋ค์ ์์ ์ ๊ณ์ ์ํํจ
์์คํ ์ฝ
| ๊ตฌ๋ถ | ์์คํ ์ฝ | ์ค๋ช |
| ํ๋ก์ธ์ค ๊ด๋ฆฌ | fork() | ์ ์์ ํ๋ก์ธ์ค ์์ฑ |
| execve() | ํ๋ก์ธ์ค ์คํ(๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๋ก์ด ํ๋ก๊ทธ๋จ์ ๋ด์ฉ์ผ๋ก ๋ฎ์ด์์) | |
| exit() | ํ๋ก์ธ์ค ์ข ๋ฃ | |
| waitpid() | ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃํ ๋๊น์ง ๋๊ธฐ | |
| ํ์ผ ๊ด๋ฆฌ | open() | ํ์ผ ์ด๊ธฐ |
| close() | ํ์ผ ๋ซ๊ธฐ | |
| read() | ํ์ผ ์ฝ๊ธฐ | |
| write() | ํ์ผ ์ฐ๊ธฐ | |
| stat() | ํ์ผ ์ ๋ณด ํ๋ | |
| ๋๋ ํฐ๋ฆฌ ๊ด๋ฆฌ | chdir() | ์์ ๋๋ ํฐ๋ฆฌ ๋ณ๊ฒฝ |
| mkdir() | ๋๋ ํฐ๋ฆฌ ์์ฑ | |
| rmdir() | ๋น์ด์๋ ๋๋ ํฐ๋ฆฌ ์ญ์ | |
| ํ์ผ ์์คํ ๊ด๋ฆฌ | mount() | ํ์ผ ์์คํ ๋ง์ดํธ |
| umount() | ํ์ผ ์์คํ ๋ง์ดํธ ํด์ |
ํ๋ก์ธ์ค ๊ณ์ธต ๊ตฌ์กฐ
fork() ์์คํ ์ฝ์ ํตํด ํ๋ก์ธ์ค๋ ์์คํ ์ฝ์ ํตํด ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ณ , ์์ฑ๋ ํ๋ก์ธ์ค๋ ๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ์ ์๋ค. ๋ง์ ์ด์์ฒด์ ์์ ํ๋ก์ธ์ค๋ค์ ๊ณ์ธต์ ์ผ๋ก ๊ด๋ฆฌ๋๋ค.
์ด๋ ์ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ ํ๋ก์ธ์ค๋ฅผ ๋ถ๋ชจ ํ๋ก์ธ์ค, ๋ถ๋ชจ ํ๋ก์ธ์ค์ ์ํด ์์ฑ๋ ํ๋ก์ธ์ค๋ฅผ ์์ ํ๋ก์ธ์ค๋ผ๊ณ ํ๋ค.
์ฐธ๊ณ ์ฌ์ดํธ
์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ปดํจํฐ ๊ณผํ์ด๋ค.
์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ปดํจํฐ ๊ณผํ์ด๋ค with CS ๊ธฐ์ ๋ฉด์ | ๊ฐ๋ฏผ์ฒ - ๊ต๋ณด๋ฌธ๊ณ
์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ปดํจํฐ ๊ณผํ์ด๋ค with CS ๊ธฐ์ ๋ฉด์ | ๊ธฐ์ ๋ฉด์ ๊ณผ ์ค๋ฌด์ ํ์ํ CS ์ง์, ํ ๊ถ์ผ๋ก ๋๋ด์!ํ๋ก๊ทธ๋จ์ ์คํ ์๋ฆฌ๋ฅผ ์ดํดํ์ง ๋ชปํ ์ฑ ‘์ผ๋จ ์๋๋ง ํ๋๋ก ๋ง๋๋ ๊ฒ’๊ณผ ์
product.kyobobook.co.kr
[์ด์์ฒด์ ] 1. ์ด์์ฒด์ ๊ธฐ๋ณธ ๊ฐ๋ : ์ปค๋, ์์คํ ์ฝ, ์ธํฐ๋ฝํธ, DMA, ๋ฉํฐํ๋ก๊ทธ๋๋ฐ ์์คํ
๐ ์ด์์ฒด์ ์ ์ญํ ๊ณผ ์ปค๋์ ๊ธฐ๋ฅ ์ด์์ฒด์ ๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ปค๋, ์ธํฐํ์ด์ค, ์์คํ ์ฝ, ๋๋ผ์ด๋ฒ์ 4๊ฐ์ง๋ก ํฌ๊ฒ ๋๋์ด์ง ์ ์๋ค. ์ปค๋ ์ปค๋์ ์ด์์ฒด์ ์ ํต์ฌ์์๋ก, HW์ ์ง์
sxunea.tistory.com
[์ด์์ฒด์ ] ์ด์ค ๋์ ๋ชจ๋(Dual-mode Operation)
์ด์ค ๋์ ๋ชจ๋๋? ์ด์์ฒด์ ๋ฅผ ๋ณดํธํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ด๋ค. ์ฌ์ฉ์์ ์ด์์ฒด์ ๋ ์์คํ ์์์ ๊ณต์ ํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์์๊ฒ ์ ํ์ ๋์ง ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ์ฃผ์ ์ด์์ฒด์ ์
dong-co.tistory.com
์ปค๋ (kernel), ์ด์์ฒด์ (operating system) ๋?
1. ์ปค๋ (kernel) ์ด๋? ์ปค๋ (kernel)์ OS์ ์ฌ์ฅ๊ฐ์ ๋ถ๋ถ ํ๋์จ์ด์ ์์์ ์์์ด ํ์ํ ํ๋ก์ธ์ค(ํ๋ก๊ทธ๋จ ์ํ์ํ)์ ๋๋ ์ฃผ๊ณ , ๊ทธ ํ๋ก์ธ์ค๋ฅผ ์ ์ดํ๋ ์์ ๊ด๋ฆฌ์ (task manager), ํ๋ก๊ทธ๋จ์ด
moonsonghada.tistory.com
[์ด์์ฒด์ ] ์ด์์ฒด์ ์ ์ญํ ๊ณผ ๊ตฌ์กฐ, ์ปดํจํฐ ์์คํ ๊ตฌ์กฐ
์ด์์ฒด์ ๋? ์ด์์ฒด์ (OS, Operating System)๋ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ํ์ํ ๋ชจ๋ ์์คํ ์ ์ ์ดํ๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ปดํจํฐ๋ฅผ ์ฌ์ฉํ๋ฉด์ ์คํํ ํ๋ก๊ทธ๋จ์ ๊ด๋ฆฌํ๊ณ ์ ์ดํ๋ ์์คํ ์
udadacoder.tistory.com