-
Operating System - Computer System Structure์นดํ ๊ณ ๋ฆฌ ์์ 2021. 3. 12. 22:15
๐Computer System Structure
๐ ์ปดํจํฐ ์์คํ ์ ๊ตฌ์กฐ
์ปดํจํฐ ์์คํ ๊ตฌ์กฐ๋ CPU, ๋ฉ๋ชจ๋ฆฌ์ I/O ์ฅ์น์ธ ๋์คํฌ, ํค๋ณด๋, ๋ง์ฐ์ค, ๋ชจ๋ํฐ, ๋คํธ์ํฌ ์ฅ์น ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ I/O ์ฅ์น ๋ฑ์ ๊ฐ ํ๋์จ์ด ์ฅ์น์๋ ์ปจํธ๋กค๋ฌ๊ฐ ๋ถ์ด์๋ค.
- ์ปจํธ๋กค๋ฌ๋ ์ผ์ข
์ ์์ CPU๋ก์ ๊ฐ ์ฅ์น๋ฅผ ์ ์ดํ๋ค.
- ex) ๋ฉ๋ชจ๋ฆฌ ์ปจํธ๋กค๋ฌ, ๋์คํฌ ์ปจํธ๋กค๋ฌ
- ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ ค๋ฉด ๊ทธ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์์ด์ผ ํ๋ค.
- ์ด์์ฒด์ ์ค ํญ์ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์๋ ๋ถ๋ถ์ ์ ์ฒด ์ด์์ฒด์ ์ค ํต์ฌ์ ์ธ ๋ถ๋ถ์ ํ์ ๋๋ฉฐ, ์ด ๋ถ๋ถ์ ์ปค๋(Kernel)์ด๋ผ๊ณ ํ๋ค.
๐ CPU ์ฐ์ฐ๊ณผ I/O ์ฐ์ฐ
- I/O ์ฅ์น์ ์ฐ์ฐ์ I/O ์ฅ์น ์ปจํธ๋กค๋ฌ๊ฐ ์ํํ๋ค.
- ์ปดํจํฐ ๋ด์์ ์ํ๋๋ ์ฐ์ฐ์ CPU๊ฐ ๋ด๋นํ๋ค.
- ์ ์ถ๋ ฅ ์ฅ์น์ CPU๋ ๋์ ์ํ์ด ๊ฐ๋ฅํ๋ค.
- ๊ฐ ์ฅ์น์ ๋ถ์ด์๋ ์ฅ์น ์ปจํธ๋กค๋ฌ๋ ์ฅ์น๋ก ๋ค์ด๊ฐ๊ณ ๋์ค๋ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ์ฅํ๊ธฐ ์ํ ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด๋ฅผ ๋ก์ปฌ ๋ฒํผ(local buffer)๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- ๋์คํฌ๋ ํค๋ณด๋ ๋ฑ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ๊ฒฝ์ฐ, ์ฐ์ ๋ก์ปฌ๋ฒํผ์ ๋ฐ์ดํฐ๊ฐ ์์๋ก ์ ์ฅ๋ ํ ๋ฉ๋ชจ๋ฆฌ์ ์ ๋ฌ๋๋ค.
- ์๋ฅผ๋ค์ด ํ๋ก๊ทธ๋จ B๊ฐ ์ํ์ค์ ๋์คํฌ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด ์ค๋ผ๋ ๋ช ๋ น์ ๋ด๋ฆฌ๋ฉด, ๋์คํฌ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ์์ ๋ด์ฉ์ ์ฝ์ด๋๋ ค ์ด๋ฅผ ๋ก์ปฌ ๋ฒํผ์ ์ ์ฅํ๋ค.
- ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ฉด CPU๋ ๋ค์ ์ผ์ ์ํํ ์ ์๋ค.
- ์ด๋ ๋ก์ปฌ ๋ฒํผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ์์ ์ด ๋๋๋ฉด ์ฅ์น์ ์๋ ์ปจํธ๋กค๋ฌ๊ฐ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์ ์์ผ CPU์๊ฒ ๋ณด๊ณ ํ๋ค.
- CPU๋ ๋ช ๋ น ํ๋๋ฅผ ์ํํ ๋๋ง๋ค ์ธํฐ๋ฝํธ ๋ผ์ธ์ ํ์ธํ๋ฉฐ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋์ง ํ์ธํ๊ณ , ๋ฐ์ํ์ผ๋ฉด ๋ค์ ๋ช ๋ น์ ์ํํ๊ธฐ ์ ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฅผ ํ๋ค.
๐ ์ธํฐ๋ฝํธ์ ์ผ๋ฐ์ ๊ธฐ๋ฅ
์ธํฐ๋ฝํธ๋ ์ปดํจํฐ ์์ ๋์ค CPU์ ์๋น์ค๊ฐ ํ์ํ ๋ ์ด๋ฅผ ํต๋ณดํ๋ ๊ฒ์ ๋งํ๋ค.
์๋ฅผ๋ค์ด ์ธ๋ถ ์ ์ถ๋ ฅ ์ฅ์น๊ฐ ์์ฒญ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๋ก์ปฌ๋ฒํผ๋ก ์ฎ๊ฒผ์ ๋, ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ CPU์๊ฒ ๋ณด๊ณ ํ๋ค.
์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด CPU ์์ ์์นํ๋ ์ธํฐ๋ฝํธ ๋ผ์ธ์ด ์ธํ ๋๋ค.
CPU๋ ๋งค ์์ ๋ฉ๋ชจ๋ฆฌ์์ ๋ช ๋ น์ ํ๋์ฉ ์ฝ์ด์์ ์ํํ ๋๋ง๋ค ์์ ์ ์์์๋ ์ธํฐ๋ฝํธ ๋ผ์ธ์ ํ์ธํ๋๋ฐ, ์ด๋ ์ธํฐ๋ฝํธ ๋ผ์ธ์ด ์ธํ ๋์ด์์ผ๋ฉด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ ๊ฒ์ ์์ ์ฐจ๋ฆฐ๋ค.
์ด์์ฒด์ ์ปค๋์๋ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์๋ ํด์ผํ ์ผ์ด ๋ฏธ๋ฆฌ ๋ค ํ๋ก๊ทธ๋๋ฐ๋์ด ์๋ค.
์ด์์ฒด์ ์ปค๋ ๋ด์ ์๋ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฃจํด์ ๋ค์ํ ์ธํฐ๋ฝํธ์ ๋ํด ๊ฐ๊ฐ ์ฒ๋ฆฌํด์ผ ํ ์ ๋ฌด๋ค์ ์ ์ํ๊ณ ์๋ค.
์๋ฅผ๋ค์ด ๋์คํฌ ์ปจํธ๋กค๋ฌ๊ฐ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํค๋ฉด, CPU๋ ํ๋์ผ์ ์ ์ ๋ฉ์ถ๊ณ , ์ด ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ์ ๋ ์ํํ๋๋ก ์ ์๋ ์ฝ๋๋ฅผ ์ฐพ์์ ์ํํ๋ค. ์ด๋ฅผ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฃจํด ๋๋ ์ธํฐ๋ฝํธ ํธ๋ค๋ฌ๋ผ๊ณ ํ๋ค.
ํ๋์จ์ด ์ธํฐ๋ฝํธ๋ ํ๋์จ์ด ์ฅ์น ์ปจํธ๋กค๋ฌ๊ฐ CPU์ ์ธํฐ๋ฝํธ ๋ผ์ธ์ ์ธํ ํ์ง๋ง, ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ์ํํธ์จ์ด๊ฐ ์ง์ ์ธํฐ๋ฝํธ ๋ผ์ธ์ ์ธํ ํ๋ค.
์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด CPU๋ ํ๋ ์ผ์ ๋ฉ์ถ๊ณ ์ด์์ฒด์ ์ปค๋์ ์ธํฐ๋ฝํธ ๋ฒกํฐ์์ ํด๋น ์ธํฐ๋ฝํธ์ ๋ํ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ ์ฐพ๋๋ค.
์ธํฐ๋ฝํธ ๋ฒกํฐ๋ ์ธํฐ๋ฝํธ์ ์ธํฐ๋ฝํธ์ ๋ํ ์ฒ๋ฆฌ ๋ฃจํด ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ ์ผ์ข ์ ํ ์ด๋ธ์ด๋ค.
์ธํฐ๋ฝํธ ์ฒ๋ฆฌ ๋ฃจํด์ ํตํด ์ธํฐ๋ฝํธ๋ฅผ ์ฒ๋ฆฌํ๋ฉด, ์๋ ์ํํ๋ ์์ ์ผ๋ก ๋์๊ฐ ์์ ์ ์ํํ๋ค.
ํต์์ ์ผ๋ก ์ธํฐ๋ฝํธ๋ ํ๋์จ์ด ์ธํฐ๋ฝํธ๋ฅผ ์๋ฏธํ๋ค. ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ ํธ๋ฉ(trap)์ด๋ผ๊ณ ๋ถ๋ฆฐ๋ค.
์ํํธ์จ์ด ์ธํฐ๋ฝํธ์ ์๋ก๋ ์์ธ์ํฉ(exceptio)์ด๋ ์์คํ ์ฝ(system call)๋ฑ์ด ์๋ค.
์ธํฐ๋ฝํธ๋ฅผ ์๋์ ๊ฐ์ด ๋ถ๋ฅํด๋ณผ ์ ์๋ค.
์ธ๋ถ ์ธํฐ๋ฝํธ(Hardware Interrupt)
- ์ ์ ์ด์ ์ธํฐ๋ฝํธ(Power fail interrupt) : ์ ์ , ํ์ ์ด์ ๋ฑ
- ๊ธฐ๊ณ ์ฐฉ์ค ์ธํฐ๋ฝํธ(Machine check interrupt) : CPU์ ๊ธฐ๋ฅ์ ์ธ ์ค๋ฅ
- ์ธ๋ถ ์ ํธ ์ธํฐ๋ฝํธ
- ํ์ด๋จธ ์ธํฐ๋ฝํธ
- ํค๋ณด๋๋ก ์ธํฐ๋ฝํธ ํค๋ฅผ ๋๋ฅธ ๊ฒฝ์ฐ(Ctrl + Alt + Del)
- ์ธ๋ถ์ฅ์น๋ก๋ถํฐ ์ธํฐ๋ฝํธ ์์ฒญ์ด ์๋ ๊ฒฝ์ฐ
- ์
์ถ๋ ฅ ์ธํฐ๋ฝํธ(I/O Interrupt)
- ์ ์ถ๋ ฅ์ฅ์น๊ฐ ๋ฐ์ดํฐ ์ ์ก์ ์๊ตฌํ๊ฑฐ๋ ์ ์ก์ด ๋๋ ๋ค์ ๋์์ด ์ํ๋์ด์ผ ํ ๊ฒฝ์ฐ
- ์ ์ถ๋ ฅ ๋ฐ์ดํฐ์ ์ด์์ด ์๋ ๊ฒฝ์ฐ
๋ด๋ถ ์ธํฐ๋ฝํธ(Exception)
- ์๋ชป๋ ๋ช ๋ น์ด๋ ์๋ชป๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ํ๋ฉฐ Trap์ด๋ผ ๋ถ๋ฅธ๋ค.
- ํ๋ก๊ทธ๋จ ๊ฒ์ฌ ์ธํฐ๋ฝํธ
- Division by zero
- Overflow/Underflow
- ๊ธฐํ Exception
S/W ์ธํฐ๋ฝํธ
- System call(Supervisor call) ํธ์ถ์
์ธํฐ๋ฝํธ ๋์ ์ ์ฐจ
๐ ์ธํฐ๋ฝํธ ํธ๋ค๋ง
- ํ๋ก๊ทธ๋จ A๊ฐ ์คํ๋๊ณ ์์ ๋ ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๋ฉด A์ ํ์ฌ ์ํ๋ฅผ ๋จผ์ ์ ์ฅํ๋ค.
- CPU์์ ๋ช ๋ น์ด ์คํ๋ ๋๋ CPU ๋ด๋ถ์ ์๋ ์์ ๊ธฐ์ต์ฅ์น์ธ ๋ ์ง์คํฐ(register)์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๋ฉด์ ์์ ์ ํ๋๋ฐ, ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ๊ธฐ์ ์ ๋ ์ง์คํฐ ์ํ๋ฅผ ์ ์ฅํด์ผํ๋ค.
- ์ด์์ฒด์ ๋ํ๋ก์ธ์ค์ ์ํ๋ฅผ PCB๋ผ๋ ์๋ฃ๊ตฌ์กฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์, ๋ ์คํฐ ๊ฐ, ํ๋์จ์ด ์ํ ๋ฑ์ ์ ์ฅํ๋ค.
๐ ์ ์ถ๋ ฅ ๊ตฌ์กฐ
- ์ ์ถ๋ ฅ(I/O)์ด๋ ์ปดํจํฐ ์์คํ ์ด ์ธ๋ถ I/O ์ฅ์น๋ค๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ฒ์ ๋งํ๋ค.
- ์ ์ถ๋ ฅ ๋ฐฉ์์๋ ๋๊ธฐ์ ์ ์ถ๋ ฅ๊ณผ ๋น๋๊ธฐ์ ์ ์ถ๋ ฅ์ด ์๋ค.
- ๋๊ธฐ์ ์ ์ถ๋ ฅ(synchronous I/O)์ ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์ ์ถ๋ ฅ ์์ฒญ์ ํ์ ๋ ์ ์ถ๋ ฅ ์์ ์ด ์๋ฃ๋ ํ์ ๊ทธ ํ๋ก๊ทธ๋จ์ด ๋ค์ ์์ ์ ์ํํ ์ ์๋ ๋ฐฉ์์ ๋งํ๋ค.
- ๋๊ธฐ์ ์ ์ถ๋ ฅ์ ์์ฒญํ ํ๋ก๊ทธ๋จ์ ์ ์ถ๋ ฅ์ด ์๋ฃ๋ ๋๊น์ง ๋ค์ ๋ช ๋ น์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋์ CPU๊ฐ ๋ญ๋น๋๋ค.
- CPU์ ํจ์จ์ ์ธ ์ฌ์ฉ์ ์ํด ์ ์ถ๋ ฅ์ด ์ํ๋๋ ๋์ ํด๋น ํ๋ก๊ทธ๋จ์ block ์ํค๊ณ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ์๋ํ๋ค.
- ์ด๋ ๊ฒ ๋๋ฉด ๋์์ ๋ค์์ ์ ์ถ๋ ฅ์ด ๋ฐ์ํ ์ ์๋๋ฐ, ๋๊ธฐํ๋ฅผ ํด์ค์ผํ๋ค. ์ฅ์น๋ง๋ค ํ๋ฅผ ๋์ด ์์ฒญ๋ ์์๋๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๋ค.
- ๋น๋๊ธฐ์ ์ ์ถ๋ ฅ(asynchronous I/O)์ ์ ์ถ๋ ฅ ์ฐ์ฐ์ ์์ฒญํ ํ์ ์ฐ์ฐ์ด ๋๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๊ฒ์ด ์๋๋ผ CPU์ ์ ์ด๊ถ์ ์ ์ถ๋ ฅ ์ฐ์ฐ์ ํธ์ถํ ๊ทธ ํ๋ก๊ทธ๋จ์๊ฒ ๊ณง๋ฐ๋ก ๋ถ์ฌํ๋ค. ํ๋ก๊ทธ๋จ์ I/O ์ฐ์ฐ์ด ํ์์๋ ๋ถ๋ถ์ ๋จผ์ ์ํํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก๋ ์ด์์ฒด์ ์๊ฒ ์ ์ถ๋ ฅ์ ์์ฒญํ ๊ฒฝ์ฐ ํด๋น ํ๋ก๊ทธ๋จ์ ์ ์ถ๋ ฅ์ด ์๋ฃ๋ ๋๊น์ง ๊ทธ ํ๋ก๊ทธ๋จ์ block ์ํค๋ ๋๊ธฐ์ ์ ์ถ๋ ฅ์ ์ฌ์ฉํ๋ค.
๐ DMA
- ์ฅ์น์ ์ปจํธ๋กค๋ฌ๊ฐ CPU์๊ฒ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์ํค๋ฉด CPU๋ ์ฅ์น ์ปจํธ๋กค๋ฌ์ ๋ก์ปฌ๋ฒํผ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ฎ๊ธฐ๋ ์ผ์ ํ๋ค.
- ํํธ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์ฐ์ฐ์ด CPU์ ์ํด์๋ง ์ด๋ฃจ์ด์ง ๊ฒฝ์ฐ, ์ ์ถ๋ ฅ ์ฅ์น๊ฐ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ ์ํ ๋๋ง๋ค ์ธํฐ๋ฝํธ์ ์ํด CPU์ ์ ๋ฌด๊ฐ ๋ฐฉํด๋ฅผ ๋ฐ๊ฒ ๋์ด CPU ์ฌ์ฉ์ ํจ์จ์ฑ์ด ๋จ์ด์ง๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
- ์ด๋ฌํ ๋นํจ์จ์ ๊ทน๋ณตํ๊ธฐ ์ํด CPU ์ด์ธ์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด ๊ฐ๋ฅํ ์ฅ์น๋ฅผ ํ ๋ ๋๋๋ฐ, ์ด๋ฅผ DMA๋ผ๊ณ ๋ถ๋ฅธ๋ค.
- DMA๋ ์ผ์ข ์ ์ปจํธ๋กค๋ฌ๋ก์, CPU๊ฐ ์ ์ถ๋ ฅ ์ฅ์น๋ค์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์์ฒญ์ ์ํด ์์ฃผ ์ธํฐ๋ฝํธ ๋นํ๋ ๊ฒ์ ๋ง์์ค๋ค.
- DMA๋ ๋ก์ปฌ๋ฒํผ์์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ค๋ ์์ ์ CPU๊ฐ ๋ด๋นํ๋ ๊ฒ์ด ์๋๋ผ DMA๊ฐ ๋ํํ๋ค.
- DMA๋ ๋ฐ์ดํธ(byte) ๋จ์๊ฐ ์๋๋ผ ๋ธ๋ก(block)์ด๋ผ๋ ํฐ ๋จ์๋ก ๋ฉ๋ชจ๋ฆฌ๋ก ์ ๋ณด๋ฅผ ์ฝ์ด์จ ํ, CPU์๊ฒ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ ํด๋น ์์ ์ ์๋ฃ๋ฅผ ์๋ ค์ค๋ค.
- ์ด์ฒ๋ผ DMA๋ฅผ ์ฌ์ฉํ๋ฉด, CPU์ ๋ฐ์ํ๋ ์ธํฐ๋ฝํธ์ ๋น๋๋ฅผ ์ค์ฌ CPU๋ฅผ ์ข ๋ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ณ ์ ์ถ๋ ฅ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์ํํ ์ ์๊ฒ ๋๋ค.
๐ ์ ์ฅ์ฅ์น์ ๊ตฌ์กฐ
- ์ฃผ๊ธฐ์ต์ฅ์น
- ์ฃผ๊ธฐ์ต์ฅ์น๋ ๋ณดํต ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ์ ์์ด ๋๊ฐ๋ฉด ์ ์ฅ๋์๋ ๋ด์ฉ์ด ๋ชจ๋ ์ฌ๋ผ์ง๋ ํ๋ฐ์ฑ(volatile)์ RAM์ ๋งค์ฒด๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๋ค.
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น๋ ์ ์์ด ๋๊ฐ๋ ์ ์ฅ๋ ๋ด์ฉ์ ๊ธฐ์ตํ ์ ์๋ ๋นํ๋ฐ์ฑ(unvolatile)์ ๋ง๊ทธ๋คํฑ ๋์คํฌ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
- ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ฉ๋๋ ํฌ๊ฒ ๋ ๊ฐ์ง๋ก ๊ตฌ๋ถ๋๋ค.
- ํ์ผ ์์คํ ์ฉ : ์ ์์ด ๋๊ฐ๋ ์ ์งํด์ผํ ์ ๋ณด๊ฐ ์์ผ๋ฉด ๊ทธ๊ฒ์ ํ์ผ ํํ๋ก ๋ณด์กฐ๊ธฐ์ต์ฅ์น์ ์ ์ฅํ๊ธฐ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฅ ๊ณต๊ฐ : ๋ฉ๋ชจ๋ฆฌ๋ ํฌ๊ธฐ๊ฐ ํ์ ๋๊ณ ๋น์ธ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋ค์์ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๋์์ ์ํ๋๋ ํ๋์ ์ปดํจํฐ ํ๊ฒฝ์์๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ๊ฐ ํํ ๋ฐ์ํ๋ค. ์ด ๊ฒฝ์ฐ OS๋ ํ๋ก๊ทธ๋จ ์ํ์ ๋น์ฅ ํ์ํ ๋ถ๋ถ๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ ค๋๊ณ ๊ทธ๋ ์ง ์์ ๋ถ๋ถ์ ๋์คํฌ์ ์ค์์์ญ์ ๋ด๋ ค๋๊ฒ ๋๋ค. ์ด์ฒ๋ผ ๋์คํฌ์ ๋ด๋ ค๋๋ ์ผ์ ์ค์ ์์(swap out)์ํจ๋ค๊ณ ๋งํ๋ค. ์ค์ ์์๋ ๋ถ๋ถ์ด ํ์ํ ๋๋ ๋ค์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ์ฌ๋ฆฐ๋ค.
๐ ์ ์ฅ์ฅ์น์ ๊ณ์ธต๊ตฌ์กฐ
- ์ปดํจํฐ ์์คํ ์ ๊ตฌ์ฑํ๋ ์ ์ฅ ์ฅ์น๋ ๋น ๋ฅธ ์ ์ฅ์ฅ์น๋ถํฐ ๋๋ฆฐ ์ ์ฅ์ฅ์น๊น์ง ๋จ๊ณ์ ์ธ ๊ณ์ธต ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ง๋ค.
- ๋น ๋ฅธ ์ ์ฅ์ฅ์น๋ ๊ฐ๊ฒฉ์ด ๋น์ธ๊ธฐ ๋๋ฌธ์ ์ ์ ์ฉ๋์ ์ฌ์ฉํ๊ณ , ๋๋ฆฐ ์ ์ฅ์ฅ์น๋ ๊ฐ๊ฒฉ์ด ์ ๋ ดํด ๋์ฉ๋์ ์ฌ์ฉํ๋ค.
- ๋ฐ๋ผ์ ๋น์ฅ ํ์ํ ์ ๋ณด๋ฅผ ๋น ๋ฅธ ์ ์ฅ์ฅ์น์ ๋ฃ์ด๋์ด ์ํ ์๋๋ฅผ ๋์ด๊ณ ๊ทธ๋ ์ง ์์ ์ ๋ณด๋ ์๋์ ์ผ๋ก ๋๋ฆฐ ์ ์ฅ์ฅ์น์ ๋ณด๊ดํ๊ฒ๋๋ค.
- ์ ์ฅ์ฅ์น ๊ณ์ธต์ ์ต์์์ CPU ๋ด๋ถ์ ์กด์ฌํ๋ ๋ ์ง์คํฐ(register)๋ถํฐ ์บ์ ๋ฉ๋ชจ๋ฆฌ(cache memory), ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ(main memory) ๋ฑ์ ํ๋ฐ์ฑ ์ ์ฅ์ฅ์น๋ก ๊ตฌ์ฑ๋๋ ๋ถ๋ถ์ด ์์ ๊ณ์ธต์ ์กด์ฌํ๋ฉฐ ์ด ๋ถ๋ถ์ ์ ์ฅ๋๋ ์ ๋ณด๋ ์ ์์ด ๋๊ฐ๋ฉด ๊ทธ ๋ด์ฉ์ด ์ฌ๋ผ์ง๋ค.
- ๋ฐ๋ฉด ํ์ ๊ณ์ธต์ ๊ตฌ์ฑํ๋ ๋นํ๋ฐ์ฑ ์ ์ฅ์ฅ์น๋ค.
- ์์ ์ ์ฅ์ฅ์น๋ ์ ๊ทผ ์๋๊ฐ ์๋ฑํ ๋น ๋ฅด์ง๋ง ์ฉ๋์ ์๋์ ์ผ๋ก ์ ๋ค. ํ์ง๋ง ๋น์ฅ ํ์ํ ์ ๋ณด๋ง์ ์ ๋ณ์ ์ผ๋ก ์ ์ฅํ๋ฉด ํ์์ ์๋ ํฐ ์ฉ๋์ ์ ์ฅ์ฅ์น๋ฅผ ๊ฐ์ง๊ณ ์๋ ๊ฒ๊ณผ ๋น์ทํ ์ฑ๋ฅ ํจ๊ณผ๋ฅผ ๋ผ ์ ์๋ค.
- ์๋ฅผ ๋ค์ด ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ ์ง์คํฐ์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ด์ ์กด์ฌํ๋ฉฐ, ์ฌ๋ฌ ๊ฐ์ง ์บ์ฑ ๊ธฐ๋ฒ์ ์ด์ฉํด ์ ์ ์ฉ๋์ ์บ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ์ด ํฐ ์ฉ๋์ ๊ฐ์ง ๊ฒ์ฒ๋ผ ํจ์จ์ ์ผ๋ก ๋์ํ๋๋ก ๊ด๋ฆฌํ ์ ์๋ค.
- ์บ์ฑ ๊ธฐ๋ฒ์ด๋ ์๋์ ์ผ๋ก ๋๋ฆฐ ์ ์ฅ์ฅ์น์ ์๋ ๋ด์ฉ ์ค ๋น์ฅ ์ฌ์ฉ๋๊ฑฐ๋ ๋น๋ฒํ ์ฌ์ฉ๋ ์ ๋ณด๋ฅผ ๋น ๋ฅธ ์ ์ฅ์ฅ์น์ ์ ๋ณ์ ์ผ๋ก ์ ์ฅํจ์ผ๋ก์จ ๋ ์ ์ฅ์ฅ์น์ ์ฌ์ด์ ์๋๋ฅผ ์์ถฉ ์ํค๋ ๊ฒ์ด๋ค.
- ์ด์ ๊ฐ์ ์บ์ฑ ๊ธฐ๋ฒ์ด ์ ์ ์ฉ๋์ผ๋ก๋ ํจ๊ณผ๋ฅผ ๊ฑฐ๋ ์ ์๋ ๊ฒ์ ์ปดํจํฐ ๋ด์ ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ๋ชจ๋ ๋ถ๋ถ์ด ๊ท ์ผํ๊ฒ ์ฌ์ฉ๋๋ ๊ฒ์ด ์๋๋ผ ์ผ๋ถ๋ถ๋ง์ด ์ง์ค์ ์ผ๋ก ์ฌ์ฉ๋๊ณ ํน์ ๋ถ๋ถ์ ๊ฑฐ์ ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์๋ฅผ ๋ค์ด ํ๋ก๊ทธ๋จ ์ฝ๋ ์ค์๋ ๋ง์ ํ์ ๋์ ๋ฐ๋ณต๋๋ ์ฝ๋์, ํ ๋ฒ ์ํ๋๊ณ ๋๋๋ ๋ถ๋ถ์ด ์์ ์ ์๋ค. ์ด๋ฐ ๊ฒฝ์ฐ ๋ฐ๋ณต๋๋ ์ฝ๋๋ฅผ ๋น ๋ฅธ ์ ์ฅ์ฅ์น์ ์ฌ๋ ค๋์ผ๋ฉด ์ ์ ์ ์ฅ๊ณต๊ฐ๋ง์ผ๋ก๋ ์ ์ฒด ์์คํ ์ ํ๊ท ์ ์ธ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค.
๐ ํ๋์จ์ด ๋ณด์
- ์ฐ๋ฆฌ๊ฐ ํํ ์ฌ์ฉํ๋ ์ด์์ฒด์ ๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๋์์ ์คํ๋ ์ ์๋ ๋ค์ค ํ๋ก๊ทธ๋๋ฐ(multi-programming) ํ๊ฒฝ์์ ๋์ํ๋ค.
- ๊ทธ๋ฌ๋ฏ๋ก ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์คํ์ ๋ฐํดํ๊ฑฐ๋ ํ๋ก๊ทธ๋จ ๊ฐ์ ์ถฉ๋์ ์ผ์ผํค๋ ๋ฌธ์ ๋ฅผ ๋ง๊ธฐ ์ํด ํ๋์จ์ด์ ๋ํ ๊ฐ์ข ๋ณด์ ๊ธฐ๋ฒ์ด ํ์ํ๋ค.
- ํ๋์จ์ด์ ์ธ ๋ณด์์ ์ ์งํ๊ธฐ ์ํด์ ์ด์์ฒด์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ปค๋๋ชจ๋์ ์ฌ์ฉ์๋ชจ๋ ๋ ๊ฐ์ง ๋ชจ๋๋ฅผ ์ง์ํ๋ค.
- ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์ด์ํ ๋ช ๋ น์ ์ํํ์ฌ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ ํ์ผ ์์ญ์ ์นจ๋ฒํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ ์ ์๋ค.
- ๋ฐ๋ผ์ ์ค์ํ ์ ๋ณด์ ์ ๊ทผํด ์ํํ ์ํฉ์ ์ด๋ํ ์ ์๋ ์ฐ์ฐ์ ์ปค๋๋ชจ๋์์๋ง ์คํ๋๋๋ก ํ์ฌ ์ผ๋ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ง์ ์ํํ ๋ช ๋ น์ ์ํํ์ง ๋ชปํ๊ฒ ํ๊ณ , ๊ทธ๋ ์ง ์์ ์ผ๋ฐ์ ์ธ ์ฐ์ฐ๋ง ์ฌ์ฉ์๋ชจ๋์์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ํํ๋๋ก ํต์ ํ์ฌ ๋ณด์์ฑ์ ํ๋ณดํ๊ฒ ๋๋ค.
- ์ปค๋๋ชจ๋๋ ์ด์์ฒด์ ๊ฐ CPU์ ์ ์ด๊ถ์ ๊ฐ์ง๊ณ ์ด์์ฒด์ ์ฝ๋๋ฅผ ์คํํ๋ ๋ชจ๋๋ก์จ, ์ด ๋ชจ๋์์๋ ๋ชจ๋ ์ข ๋ฅ์ ๋ช ๋ น์ ๋ค ์คํํ ์ ์๋ค.
- ๋ฐ๋ฉด ์ฌ์ฉ์ ๋ชจ๋์์๋ ์ผ๋ฐ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ฉฐ ์ ํ์ ์ธ ๋ช ๋ น๋ง ์ํํ ์ ์๋ค.
- ์์คํ ์ ์ค์ํ ์ํฅ์ ๋ฏธ์น๋ ์ฐ์ฐ์ ์ปค๋๋ชจ๋์์๋ง ์คํ ๊ฐ๋ฅํ๋๋ก ํจ์ผ๋ก์จ ํ๋์จ์ด์ ๋ณด์์ ์ ์งํ๋ ๊ฒ์ด๋ค.
- ์ปดํจํฐ ์์คํ ์ CPU ๋ด๋ถ์ ๋ชจ๋๋นํธ(mode bit)๋ฅผ ๋์ด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ํ๋ค. ๋ชจ๋๋นํธ๊ฐ 0์ผ๋ก ์ธํ ๋์ด ์์ผ๋ฉด ์ปค๋๋ชจ๋๋ก์ ๋ชจ๋ ๋ช ๋ น์ ์ํํ ์ ์๊ณ , ๋ชจ๋๋นํธ๊ฐ 1๋ก ์ธํ ๋์ด ์์ผ๋ฉด ์ฌ์ฉ์ ๋ชจ๋๋ก์ ์ ํ๋ ๋ช ๋ น๋ง์ ์ํํ ์ ์๋ค.
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ค๊ฐ ํ๋์จ์ด ์ ๊ทผ ๋ฑ ๋ณด์์ด ํ์ํ ์ค์ํ ๋ช ๋ น์ ์ํํด์ผํ ๊ฒฝ์ฐ, ์์คํ ์ฝ์ ํตํด ์ด์์ฒด์ ๊ฐ ๋์ ํด์ค ๊ฒ์ ์์ฒญํ๋ค. ๊ทธ๋ฌ๋ฉด CPU ์ ์ ์ด๊ถ์ ๋ค์ ์ด์์ฒด์ ๋ก ๋์ด๊ฐ๊ฒ ๋๋ค.
- ์ธํฐ๋ฝํธ๊ฐ ๋ฐ์ํ ๋ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ๋นํธ๋ ์๋์ผ๋ก 0์ด๋๊ณ , ์ด์์ฒด์ ๋ ์๋น์ค์ ํ์ํ ๋ชจ๋ ์ข ๋ฅ์ ๋ช ๋ น์ ๋ค ์ํํ ์ ์๊ฒ๋๋ค. ์์ฒญ๋ ์์ ์ด ๋ชจ๋ ๋๋ ํ์๋ ๋ชจ๋๋นํธ๋ฅผ ๋ค์ 1๋ก๋ง๋ค์ด ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ๋๊ฒจ์ค๋ค.
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๋์คํฌ์ ์ ์ฅ๋ ํ์ผ์ ์์ ๋กญ๊ฒ ์ ๊ทผํ ์ ์๋ค๋ฉด ๋ณด์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์์ ์ ์์ ๊ฐ ์๋ ๋ค๋ฅธ ์ฌ๋์ ํ์ผ์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๋ฐ๋ผ์ ๋ชจ๋ ์ ์ถ๋ ฅ ๋ช ๋ น์ ํน๊ถ๋ช ๋ น์ผ๋ก ๊ท์ ํด์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ง์ ์ ์ถ๋ ฅ์ ํ๋ ๊ฒ์ ์ฐจ๋จํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์ถ๋ ฅ์ด ํ์ํ ๋๋ ์ด์์ฒด์ ์ ์์ฒญํ์ฌ ์ด์์ฒด์ ๊ฐ ์ ์ถ๋ ฅ ๋ช ๋ น์ ๋์ ์ํํ๊ฒ ํ๋ค.
๐ ๋ฉ๋ชจ๋ฆฌ ๋ณด์
- ๋์คํฌ๋ฟ ์๋๋ผ ๋ฉ๋ชจ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ๋ณด์์ด ํ์ํ๋ค. ์ด๋ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋์์ ์ฌ๋ผ๊ฐ์ ์คํ๋๊ธฐ ๋๋ฌธ์ ํ๋์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด๋ ์ด์์ฒด์ ๊ฐ ์์นํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์นจ๋ฒํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์๋ฅผ๋ค์ด ์ด๋ค ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด C ์ธ์ด์ ํฌ์ธํฐ ๋ฑ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ์ฐธ์กฐ ์ฐ์ฐ์ ์๋ชป ์ฌ์ฉํด ๋ค๋ฅธ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ ์ด์์ฒด์ ์ปค๋์ด ์์นํ ์์ญ์ ์ฐธ์กฐํ๋ ค๋ ์๋๋ฅผ ํ ์ ์๋ค. ๋ฐ๋ผ์ ์ ์ด๋ ์ธํฐ๋ฝํธ ๋ฒกํฐ์ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฃจํด์ด ์๋ ๊ณณ์ ๊ฐ๋ณํ ๋ณด์์ด ํ์ํ๋ค.
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฃจํด์ ์ ๊ทผํ๊ฑฐ๋ ๋ณ๊ฒฝํ ์ ์์ ๊ฒฝ์ฐ ์ด์์ฒด์ ๋ง ์ํํ ์ ์๋ ํน๊ถ๋ช ๋ น์ ๋ณด์์ฑ์ด ์นจํด๋๋ ์ด์ํ ๋ช ๋ น์ผ๋ก ๋ณํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 2๊ฐ์ ๋ ์ง์คํฐ๋ฅผ ์ฌ์ฉํด์ ํ๋ก๊ทธ๋จ์ด ์ ๊ทผํ๋ ค๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ถ์ด ํฉ๋ฒ์ ์ธ์ง ์ฒดํฌํจ์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณดํธํ ์ ์๋ค.
- ์ด๋ ์ฌ์ฉ๋๋ 2๊ฐ์ ๋ ์ง์คํฐ๋ ๊ธฐ์ค ๋ ์ง์คํฐ(base register)์ ํ๊ณ ๋ ์ง์คํฐ(limit register)์ด๋ค.
- ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ๊ธฐ์ค ๋ ์ง์คํฐ์ ์๋ ์ฃผ์๋ถํฐ ๊ธฐ์ค ๋ ์ง์คํฐ+ํ๊ณ ๋ ์ง์คํฐ ๊ฐ์ฌ์ด์ ์ฃผ์ ์์ญ์๋ง ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ ๊ทผํ๋ ค๋ ์ฃผ์๊ฐ ์ด ๋ฒ์ ์์ ์์ผ๋ฉด ๋ถ๋ฒ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ์ด๋ฏ๋ก ์์ธ์ํฉ์ด๋ผ๋ ์ผ์ข ์ ์ํํธ์จ์ด ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ CPU์ ์ ์ด๊ถ์ ํด๋น ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ์ด์์ฒด์ ๋ก ์ด์์ํค๊ณ , ์ด์์ฒด์ ๋ ์์ธ์ํฉ์ ๋ฐ์์ํจ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ข ๋ฃ์ํจ๋ค.
- ๊ธฐ์ค ๋ ์ง์คํฐ๋ ์ด๋ค ํ๋ก๊ทธ๋จ์ด ์ํ๋๋ ๋์ ๊ทธ ํ๋ก๊ทธ๋จ์ด ํฉ๋ฒ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ ๊ฐ์ฅ ์ ์ ์ฃผ์๋ฅผ ๋ณด๊ดํ๊ณ ์๊ณ , ํ๊ณ ๋ ์ง์คํฐ๋ ๊ทธ ํ๋ก๊ทธ๋จ์ด ๊ธฐ์ค ๋ ์ง์คํฐ๊ฐ๋ถํฐ ์ ๊ทผํ ์ ์๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ฒ์๋ฅผ ๋ณด๊ดํ๊ณ ์๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ ์ฐ์ฐ์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด CPU๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋์ ์ํํ ์ ์๋ ์ฐ์ฐ์ด๋ฏ๋ก ํน๊ถ๋ช ๋ น์ ์๋๋ค. ๋ค๋ง ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๊ธฐ ์ ์ ํ๋์จ์ด์ ์ผ๋ก ๊ทธ ์ ๊ทผ์ด ํฉ๋ฒ์ ์ธ์ง๋ฅผ ์ฒดํฌํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณดํธํ๊ฒ ๋๋ค. ํ์ง๋ง ๊ธฐ์ค ๋ ์ง์คํฐ์ ํ๊ณ ๋ ์ง์คํฐ์ ๊ฐ์ ์ธํ ํ๋ ์ฐ์ฐ์ ํน๊ถ ๋ช ๋ น์ด๋ค.
๐ CPU ๋ณดํธ
- CPU๊ฐ ํ๋์ ํ๋ก๊ทธ๋จ์ ์ํด ๋ ์ ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ด์์ฒด์ ๋ ํ์ด๋จธ(timer)๋ผ๋ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํ๋ค.
- ํ์ด๋จธ๋ ์ ํด์ง ์๊ฐ์ด ์ง๋๋ฉด ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ ์ด์์ฒด์ ๊ฐ CPU์ ์ ์ด๊ถ์ ํ๋ํ ์ ์๋๋ก ํ๋ ์ญํ ์ ์ํํ๋ค.
- ํ์ด๋จธ์ ์ํด ๋ฐ์๋๋ ์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ฃจํด์ ์ญํ ์ ์ง๊ธ CPU๋ฅผ ์ ์ ํ๊ณ ๋ช ๋ น์ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ CPU๋ฅผ ๋นผ์์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์๊ฒ CPU๋ฅผ ์ด์ํ๋ ๊ฒ์ด๋ค.
- ํ์ด๋จธ๋ ์๋ถํ ์์คํ ์์ ํ์ฌ ์๊ฐ์ ๊ณ์ฐํ๊ธฐ ์ํด์๋ ์ฌ์ฉ๋๋ค.
๐ ์์คํ ์ฝ์ ์ด์ฉํ ์ ์ถ๋ ฅ ์ํ
- ์ ์ถ๋ ฅ์ ๊ด๋ จ๋ ๋ช ๋ น์ ๋ชจ๋ ํน๊ถ ๋ช ๋ น์ด๋ฏ๋ก ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์ง์ ์ํํ ์ ์๋ค. ์ด๋ฌํ ์ ์ถ๋ ฅ ๋ช ๋ น์ ์ด์์ฒด์ ์ฝ๋์ ๊ตฌํ๋์ด ์์ผ๋ฉฐ, ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ ์ง์ ์ ์ถ๋ ฅ์ ์ํํ๋ ๋์ ์ด์์ฒด์ ์๊ฒ ์์คํ ์ฝ์ด๋ผ๋ ์๋น์ค ๋ํ ์์ฒญ์ ํ์ฌ ์ ์ถ๋ ฅ์ ์ํํ๋ค.
- ์์คํ ์ฝ์ ์ผ์ข ์ ์ํํธ์จ์ด์ ์ธ ์ธํฐ๋ฝํธ๋ก์ ์ฌ์ฉ์ ํ๋ก๊ทธ๋จ์ด ์์คํ ์ฝ์ ํ ๊ฒฝ์ฐ ํธ๋ฉ์ด ๋ฐ์ํด CPU์ ์ ์ด๊ถ์ด ์ด์์ฒด์ ๋ก ๋์ด๊ฐ๊ฒ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด์์ฒด์ ๋ ํด๋น ์์คํ ์ฝ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ฃจํด์ผ๋ก ๊ฐ์ ์ ์๋ ๋ช ๋ น์ ์ํํ๋ค.
- ์๋ฅผ ๋ค์ด ์์คํ ์ฝ์ด ๋์คํฌ ์ ์ถ๋ ฅ ์์ฒญ์ด์๋ค๋ฉด, ๋์คํฌ ์ปจํธ๋กค๋ฌ์๊ฒ ์ ์ถ๋ ฅ ์์ฒญ์ ์ํํ๋๋ก ๋ช ๋ นํ๊ณ , ์ถํ์ ๋์คํฌ ์ปจํธ๋กค๋ฌ๊ฐ ์ ์ถ๋ ฅ ์ํ์ ๋ง์น๋ฉด CPU์๊ฒ ์ธํฐ๋ฝํธ๋ฅผ ๋ฐ์์์ผ ์ ์ถ๋ ฅ์ด ์๋ฃ๋์์์ ์๋ ค์ค์ผ๋ก์จ ํด๋น ํ๋ก๊ทธ๋จ์ด ๋ค์ CPU๋ฅผ ํ ๋น ๋ฐ์ ์ ์๋๋ก ํ๋ค.
๐ ์ถ์ฒ & ๋ ์์๋ณด๊ธฐ