๐ ํ๋ถ์๋ ๊ฐ์ฅ ๋ง์ด ๋ค์๋ ์ปดํจํฐ๊ตฌ์กฐ, ๋์๋ฐฉ๋ฒ ๋ฑ์ ๋ํด์ ํ์ต์ ํ๋ ๋ ์ด๋ค...!! ์ด๋ก ์ ์ธ ๋ถ๋ถ์ด๋ ๊ธฐ์ ๋ฉด์ ์์ ์ถฉ๋ถํ ๋์ฌ ์ ์์๊ฑฐ๋ผ ์๊ฐํ๋ ์ ๋ฆฌ๋ฅผ ๊ผผ๊ผผํ ํด๋ณด์!
๐ ์ค๋ ํ์ตํ ๋ด์ฉ
์ปดํจํฐ ๊ตฌ์กฐ
- ํ๋์จ์ด์ ์ํํธ์จ์ด๊ฐ ํฉ์ณ์ง ํํ
- ํ๋์จ์ด
- ์ ์ ํ๋ก ๋ฐ ๊ธฐ๊ณ ์ฅ์น๋ก ๋์ด ์์ด ์ ์ถ๋ ฅ ์ฅ์น, ์ค์์ฒ๋ฆฌ์ฅ์น(CPU), ๊ธฐ์ต์ฅ์น ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ํํธ์จ์ด
- ํ๋์จ์ด๋ฅผ ์ ์ดํ๋ฉฐ ์์ ์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
์ปดํจํฐ์ ๊ธฐ๋ณธ ๊ตฌ์ฑ ์์
- ์
๋ ฅ์ฅ์น
- ์ปดํจํฐ๊ฐ ์ฒ๋ฆฌํ ์ ์๋ ํํ๋ก ๋ฐ์ดํฐ์ ๋ช ๋ น์ ๋ฐ์๋ค์ด๋ ๋ฌผ๋ฆฌ์ ์ธ ์ฅ์น
- ํค๋ณด๋, ๋ง์ฐ์ค, ์ค์บ๋, ํ๋ธ๋ซ ๋ฑ ์ ๋ ฅํ ์ ์๋ ์ฅ์น
- ์ถ๋ ฅ ์ฅ์น
- ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋์ด ์ดํดํ ์ ์๋ ํํ๋ก ์ถ๋ ฅํ๋ ๋ฌผ๋ฆฌ์ ์ธ ์ฅ์น
- ๋ชจ๋ํฐ, ํ๋ฆฐํฐ ๋ฑ ์ถ๋ ฅํ ์ ์๋ ์ฅ์น
- ์ค์ ์ฒ๋ฆฌ ์ฅ์น(CPU)
- ์ฐ์ /๋ ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น(ALU, Arithmetic Logic Unit), ์ ์ด ์ฅ์น, ๋ ์ง์คํฐ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ฐ์ : ๋ง์ ์ ์ํ
- ์ ์ด ์ฅ์น: ํ๋ก๊ทธ๋จ์ ๋ฐ๋ผ ๋ช ๋ น๊ณผ ์ ์ด ์ ํธ๋ฅผ ์์ฑํ์ฌ ๊ฐ์ข ์ฅ์น์ ๋์์ ์ ์ดํ๋ ๊ฒ์ด๋ค.
- ๋ ์ง์คํฐ: CPU์ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ๋ก์ CPU์์ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ์์ ์ผ๋ก ์ ์ฅํ๋ ์ฅ์์ด๋ค.
- ์ ์ฅ ์ฅ์น
- ๋ฐ์ดํฐ๋ ํ๋ก๊ทธ๋จ์ ๋ณด๊ดํ๊ธฐ ์ํ ์ผ์ฐจ ๊ธฐ์ต ์ฅ์น์ธ ์ฃผ ๊ธฐ์ต ์ฅ์น(Memory)์ ์ฃผ ๊ธฐ์ต ์ฅ์น๋ฅผ ๋ณด์กฐํ๊ธฐ ์ํ ๋์คํฌ์ CD ๊ฐ์ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น๊ฐ ์กด์ฌํ๋ค.
- ํ๋ก๊ทธ๋จ ์ํ์ ์ํด ํ์ํ ์ ๋ณด์ ๋นํด CPU ๋ด์ ๊ตฌ๋น๋์ด ์๋ ๋ ์ง์คํฐ์ ์ฉ๋์ด ์๊ธฐ ๋๋ฌธ์, ์ฃผ ๊ธฐ์ต ์ฅ์น๋ ์ฃผ๋ก ์ ๋ณด๋ฅผ ์ ์ฅํด ๋์๋ค๊ฐ ํ์ํ ๋ ์ฝ์ด๋ค์ด๋ ์ ์ฅ์๋ก ์ฌ์ฉ๋๋ค.
- ์ฃผ๊ธฐ์ต์ฅ์น (RAM, ROM)
์ค์ ์ฒ๋ฆฌ ์ฅ์น(CPU)
- ์ค์ ์ฒ๋ฆฌ ์ฅ์น๋ฅผ ํตํด์ ์ฐ์ฐ์ ์ํํ๊ฒ ๋๋ค. (ํฐ ๋ ธ์ด๋ง ๊ตฌ์กฐ)
- ๊ฐ์ข ์ฐ์ฐ์ ์ํํ๊ณ ๊ธฐ์ต์ฅ์น์ ๊ธฐ์ต๋์ด ์๋ ๋ช ๋ น์ด๋ค์ ์ํํ๋ ์ปดํจํฐ ์์คํ ์ ์ด๋ฃจ๋ ํต์ฌ ๋ถํ์ด๋ค.
CPU์ ๊ตฌ์กฐ
- ์ฐ์ /๋
ผ๋ฆฌ ์ฐ์ฐ ์ฅ์น(ALU, Arithmetic Logic Unit)
- ์ฐ์ ์ ์ธ ์ฐ์ฐ๊ณผ ๋ ผ๋ฆฌ์ ์ธ ์ฐ์ฐ์ ๋ด๋นํ๋ ์ฅ์น๋ก ๊ฐ์ฐ๊ธฐ, ๋ณด์๊ธฐ, ๋์ฐ๊ธฐ, ๊ธฐ์ต ๋ ์ง์คํฐ, ๋ฐ์ดํฐ ๋ ์ง์คํฐ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋๋ค.
- ์บ์๋ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ์ฝ์ด ์จ ๋ฐ์ดํฐ๋ ๋ ์ง์คํฐ๋ผ๋ CPU ์ ์ฉ์ ๊ธฐ์ต์ฅ์์ ์ ์ฅ๋๋ฉฐ, ALU๋ ๋ ์ง์คํฐ์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ์ฌ ๋ง์ , ๊ณฑ์ ๋ฑ๊ณผ ๊ฐ์ ์ฐ์ ์ฐ์ฐ์ ์ํํ๋ค.
- ๋ถ๋ ์์ซ ์ฐ์ฐ์ฅ์น(FPU)์ ์ ์์ฐ์ฐ์ฅ์น, ๋ ผ๋ฆฌ์ฐ์ฐ(AND, OR ๋ฑ)์ฅ์น ๋ฑ์ด ์๋ค.
- ์ ์ด์ฅ์น(CU, Control Unit)
- CPU๊ฐ ์์ ๋ฐ ์ฃผ๋ณ๊ธฐ๊ธฐ๋ค์ ์ปจํธ๋กคํ๋ ์ฅ์น๋ก ํ๋ก๊ทธ๋จ์ ์ํ ์์๋ฅผ ์ ์ดํ๋ ํ๋ก๊ทธ๋จ ๊ณ์๊ธฐ(Program Counter)์ด๋ค.
- ํ์ฌ ์ํ์ค์ธ ๋ช ๋ น์ด์ ๋ด์ฉ์ ์์ ๊ธฐ์ตํ๋ ๋ช ๋ น ๋ ์ง์คํฐ, ๋ช ๋ น ๋ ์ง์คํฐ์ ์๋ก๋ ๋ช ๋ น์ ํด๋ ํ์ฌ ์ํ๋ ์ฅ์น์ ์ ์ด์ ํธ๋ฅผ ๋ณด๋ด๋ ๋ช ๋ นํด๋ ๊ธฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- ๋ ์ง์คํฐ
- ์ค์ ์ฒ๋ฆฌ ์ฅ์น ๋ด๋ถ์ ์๋ ๊ธฐ์ต์ฅ์น์ด๋ค.
- ์ฃผ๋ก ์ฐ์ ์ฐ์ฐ ๋ ผ๋ฆฌ์ฅ์น์ ์ํด ์ฌ์ฉ๋๋ ๋ฒ์ฉ ๋ ์ง์คํฐ์ PC ๋ฑ ํน์ ๋ชฉ์ ์ ์ฌ์ฉ๋๋ ์ ์ฉ ๋ ์ง์คํฐ๋ก ๊ตฌ๋ถ๋๋ค.
- ๋ ์ง์คํฐ์ ์ข
๋ฅ
- IR (Instruction Register): ํ์ฌ ์ํ ์ค์ ์๋ ๋ช ๋ น์ด ๋ถํธ๋ฅผ ์ ์ฅํ๊ณ ์๋ ๋ ์ง์คํฐ
- PC (Program Counter): ๋ช ๋ น์ด ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ ์ง์คํฐ
- AC (Accumulator): ์ฐ์ ๋ฐ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์์๋ก ๊ธฐ์ตํ๋ ๋ ์ง์คํฐ
CPU์ ๊ธฐ๋ฅ
- ๋ช ๋ น์ด ์ธ์ถ ๋ฐ ํด๋ ์ ๋ชจ๋ ๋ช ๋ น์ด๋ค์ ๋ํ์ฌ ๊ณตํต์ ์ผ๋ก ์ํํ๋ฉฐ ๊ธฐ์ต ์ฅ์น๋ก๋ถํฐ ๋ช ๋ น์ด๋ฅผ ์ฝ์ด์จ๋ค.
- ๋ฐ์ดํฐ ์ธ์ถ ๋ฐ ์ฒ๋ฆฌ, ์ฐ๊ธฐ์ ๊ฐ์ ๊ฒ๋ค์ ๋ช ๋ น์ด์ ๋ฐ๋ผ ํ์ํ ๋๋ง ์ํํ๋ค.
- ๋ช ๋ น์ด ๋ฐ ๋ช ๋ น์ด ์ํ ๊ณผ์ ๊ณผ ์ฒ๋ฆฌ ๋ฐฉ์์ด CPU์ ์ค์ํ ๋ถ๋ถ์ด๋ค.
๋ช ๋ น์ด
- ์์คํ ์ด ํน์ ๋์์ ์ํ์ํค๋ ์์ ๋จ์์ด๋ค.
- ๋์์ฝ๋(Op-code, Operational Code)
- ๊ฐ ๋ช ๋ น์ด์ ์คํ ๋์์ ๊ตฌ๋ถํ์ฌ ํํํ๋ค.
- ์คํผ๋๋ (Operand)
- ๋ช ๋ น์ด์ ์คํ์ ํ์ํ ์๋ฃ๋ ์ค์ ์๋ฃ์ ์ ์ฅ ์์น๋ฅผ ์๋ฏธํ๋ค.
๋ช ๋ น์ด ์ํ ๊ณผ์
- ์ฝ๊ธฐ(FI, Fetch Instruction): ๋ฉ๋ชจ๋ฆฌ์์ ๋ช ๋ น์ ๊ฐ์ ธ์จ๋ค.
- ํด์(DI, Decode Instruction): ๋ช ๋ น์ ํด์ํ๋ค.
- ์คํ(EI, Execute Instruction): ๋ช ๋ น์ ์ํํ๋ค.
- ๊ธฐ๋ก (WB, Write Back): ์ํํ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ๋ค.
๋ช ๋ น์ด ์ฒ๋ฆฌ ๋ฐฉ์
RISC์ CISC๋ฐฉ์์ด ์๋ค.
RISC(Reduced Instruction Set Computer)
- ์ปดํจํฐ ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ช ๋ น์ด ์ธํธ๋ฅผ ๋จ์ํ ์์ผ์ ์ฒ๋ฆฌํ๋ ํํ์ ๊ตฌ์กฐ์ด๋ค.
- ํ๋์ ์ฌ์ดํด๋ก ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ Load / Store ๋ช ๋ น๋ง ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ด๋ค.
- ํ์ดํ๋ผ์ด๋, ์ํผ์ค์นผ๋ผ์ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.
- ํ์ดํ๋ผ์ด๋: ๋ช ๋ น์ด๋ฅผ ์ฝ์ด ์์ฐจ์ ์ผ๋ก ์คํํ๋ ํ๋ก์ธ์์ ์ ์ฉ๋๋ ๊ธฐ์
- ์ํผ์ค์นผ๋ผ: CPU ๋ด์ ํ์ดํ๋ผ์ธ์ ์ฌ๋ฌ ๊ฐ ๋์ด ๋ช ๋ น์ด๋ฅผ ๋์์ ์คํํ๋ ๊ธฐ์
- ๋ณต์กํ ์ปดํ์ผ๋ฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์๋ค.
CISC(Complex Instruction Set computer)
- ํ๋์ ๊ธฐ๋ฅ์ ํด๋นํ๋ ํ๋์ ๋ช ๋ น์ด ์๋ ๊ฐ๋ ์ด๋ค.
- ์ฌ๋ฌ ์ฌ์ดํด๋ก ๋ช ๋ น์ด๋ฅผ ์ฒ๋ฆฌํ๋ค.
- ๋ง์ ๋ช ๋ น์ด๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ ์ฒ๋ฆฌ ๋ฐฉ์์ด๋ค.
- ํ์ดํ๋ผ์ด๋์ ์ฌ์ฉ์ด ์ด๋ ต๋ค.
- ๋ณต์กํ ๋ง์ดํฌ๋ก ํ๋ก๊ทธ๋จ ๊ตฌ์กฐ๋ฅผ ๊ฐ๊ณ ์๋ค.
Memory
- ์์์ ์ธ ๋ด์ฉ๋ค์ ๊ธฐ์ตํ๋ ์ฅ์น
- ์์คํ ์ด ํ์ฑํ ๋ ์ํ์์ ๊ทธ ๊ฐ์ ๊ธฐ์ตํ๊ณ ์์ง๋ง ์์คํ ์ด ๊บผ์ง๊ฒ ๋๋ฉด ์ง์์ง๋ ํ๋ฐ์ฑ์ด๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฑ๋ฅ
- ๋ฉ๋ชจ๋ฆฌ์ ์๋๋ ๋ฉ๋ก๋ฆฌ๊ฐ CPU์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์๊ฐ์ ๋งํ๋ค. (์์ธ์ค)
- ๋ฆฌํ๋ ์ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์์ธ์ค ์๊ฐ, ์ฌ์ดํด ์๊ฐ ๋ฑ์ด ์๋ค.
๋ฉ๋ชจ๋ฆฌ ์ข ๋ฅ
์ฃผ ๊ธฐ์ต์ฅ์น
- RAM(Random Access Memory)
- ์ปดํจํฐ์ ์ ์์ด ๋์ด์ง๋ฉด ๋ด์ฉ์ด ํ๋ฐ๋์ด ๋ณด์กฐ ์ ์ฅ ์ฅ์น๊ฐ ๋ฐ๋์ ํ์ํ๋ค. (ํ๋ฐ์ฑ)
- RAM์ ํฌ๊ธฐ๋ ํ๋ก๊ทธ๋จ์ ์ํ ์๋์ ์ํฅ์ ์ค๋ค.
- CPU์์ ์ง์ ์ ๊ทผ์ด ๊ฐ๋ฅํ ์ ์ผํ ์ ์ฅ ์ฅ์น์ด๋ค.
- RAM์ ์ข
๋ฅ
- SRAM: ๋ฆฌํ๋ ์ฌ๊ฐ ํ์ ์๊ณ ์ ๋ ฅ ์๋ชจ๊ฐ ์ ์ผ๋ ๋น์ธ๋ค.
- DRAM: ๋ฆฌํ๋ ์ฌ๊ฐ ํ์ํ๊ณ SRAM๋ณด๋ค ์ ๊ฐ์ด๋ฉฐ ๋ง์ด ์ฌ์ฉ๋๋ค.
๋ณด์กฐ ๊ธฐ์ต ์ฅ์น
- ์๊ธฐ ๋์คํฌ
- ์ํ ํ๋ฉด์ ์ฒ ์ ์์ ๋ฐฉํฅ์ผ๋ก 0๊ณผ 1์ ํํํ๋ค. (ํ๋กํผ ๋์คํฌ, ํ๋ ๋์คํฌ)
- ๊ด ๋์คํฌ
- ๋น์ ๋ฐ์ฌ๋ฅผ ์ด์ฉํ์ฌ ์๋ฃ๋ฅผ ์ฝ์ด๋ด๋ ์ ์ฅ ๋งค์ฒด์ด๋ค. (CD, DVD, ๋ธ๋ฃจ๋ ์ด ๋ฑ)
- ํ๋์ ๋ฉ๋ชจ๋ฆฌ
- ์ ์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ง์ฐ๊ณ ์ธ ์ ์๋ ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ๋ก ์ถฉ๊ฒฉ์ ๊ฐํ์ฌ ํด๋์ฉ ๊ธฐ๊ธฐ์ ๋ง์ด ์ฌ์ฉ๋๋ค. (USB, SSD ๋ฑ)
- SSD: ํค๋์ ๊ฐ์ ๊ธฐ๊ณ์ ์ฅ์น๋ ๋น ์ก์ง๋ง ์ ์ ๋ ฅ, ์ ์์, ์ ์ค๋์ด๋ผ๋ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค.
- ์บ์ ๋ฉ๋ชจ๋ฆฌ(Cache Memory)
- CPU ๋ด•์ธ ์กด์ฌํ๋ ๋ฉ๋ชจ๋ฆฌ๋ฉฐ, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ CPU ๊ฐ์ ๋ฐ์ดํฐ ์๋ ํฅ์์ ์ํ ์ค๊ฐ ๋ฒํผ ์ญํ ์ ํ๋ค.
- ๋น ๋ฅธ CPU์ ์ฒ๋ฆฌ ์๋์ ๋๋ฆฐ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์์์ ์๋์ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ๋ ์ญํ ์ ํ๋ค.
์ด์์ฒด์
- ํ๋์จ์ด ์์ ํ๋ก๊ทธ๋จ๋ค์ด ๋์๋๋๋ก ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ๋ ผ๋ฆฌ์ ์ธ ์ผ์ ํ๋ค.
- ์ฌ์ฉ์์ ํ๋์จ์ด, ์์คํ ๋ฆฌ์์ค๋ฅผ ์ ์ดํ๊ณ ํ๋ก๊ทธ๋จ์ ๋ํ ์ผ๋ฐ์ ์๋น์ค๋ฅผ ์ง์ํ๋ ์์คํ ์ํํธ์จ์ด์ด๋ค.
์ด์์ฒด์ ๋ชฉ์ ๋ฐ ๊ธฐ๋ฅ
- ์ฒ๋ฆฌ๋ฅ๋ ฅ ํฅ์, ์ฌ์ฉ ๊ฐ๋ฅ๋ ํฅ์, ์ ๋ขฐ๋ ํฅ์, ๋ฐํ ์๊ฐ ๋จ์ถ ๋ฑ์ ๊ธฐ๋ฅ์ด ์๋ค.
- ํ๋ก์ธ์, ๊ธฐ์ต์ฅ์น, ์ ์ถ๋ ฅ์ฅ์น, ํ์ผ ๋ฐ ์ ๋ณด ๋ฑ์ ์์์ ๊ด๋ฆฌํ๋ค.
- ์์์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํด ์์์ ์ค์ผ์ค๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- ์ค์ผ์ค๋ง: ์ด๋ค ์์์ ๋๊ฐ, ์ธ์ , ์ด๋ค ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ง๋ฅผ ๊ฒฐ์ ํด์ฃผ๋ ๊ฒ์ด๋ค.
- ์ฌ์ฉ์์ ์์คํ ๊ฐ์ ํธ๋ฆฌํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค.
- ์์คํ ์ ๊ฐ์ข ํ๋์จ์ด์ ๋คํธ์ํฌ๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ์ดํ๋ค.
์ด์ ์ฒด์ ์ ์์คํ ์์ ๊ด๋ฆฌ
- ํ๋ก์ธ์ค ๊ด๋ฆฌ(CPU)
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- I/O(์ ์ถ๋ ฅ) ๊ด๋ฆฌ (๋์คํฌ, ๋คํธ์ํฌ ๋ฑ)
์์ฉ ํ๋ก๊ทธ๋จ ๊ด๋ฆฌ
- ์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ๋๊ณ , ์์คํ ์์์ ์ฌ์ฉํ ์ ์๋๋ก ๊ถํ๊ณผ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌํ๋ค.
ํ๋ก์ธ์ค
- ํ๋ก๊ทธ๋จ์ด ์คํ ์ค์ธ ์ํ๋ก ํน์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ๋ก๊ทธ๋จ์ ์ฝ๋๊ฐ ์ ์ฌ๋๊ณ CPU๊ฐ ํด๋น ๋ช ๋ น์ด๋ฅผ ํ๋์ฉ ์ํํ๊ณ ์๋ ์ํ๋ฅผ ์๋ฏธํ๋ค.
ํ๋ก์ธ์ค ๊ตฌ์ฑ ์์
- ์ ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ ๊ด๋ฆฌ (Virtual Address Descriptors)
- ํธ๋ค ํ ์ด๋ธ (Handle Table)
- ๋ ๋ฆฝ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ
ํ๋ก์ธ์ค ํน์ง
- ์์ ์์ ์ ๋จ์
- ๊ฐ๊ฐ์ ํ๋ก์ธ์ค๋ ์์ ์ ์คํ ์ด๋ฏธ์ง ๋ก๋์ ์คํ์ ํ์ํ ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ง๊ณ ์์ด์ผํ๋ค.
- ๋์คํจ์นญ์ ๋จ์
- ํ๋ก์ธ์ค๋ ํ๋์ ํ๋ก๊ทธ๋จ์ด ์ด์์ฒด์ ๋ก๋ถํฐ CPU์ ์์์ ์ผ์ ๊ธฐ๊ฐ ๋์ ํ ๋น ๋ฐ์ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๊ฒ์ด๋ฉฐ, ์ด์์ฒด์ ๋ ์ฌ๋ฌ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ๋ณ๋ ฌ์ ์ผ๋ก ์คํ๋๊ฒ ํ๊ธฐ ์ํด์ CPU์ ์ฌ์ฉ ์๊ฐ์ ๊ฐ๊ฐ์ ํ๋ก์ธ์ค์ ๊ณจ๊ณ ๋ฃจ ๋๋์ด ์ฃผ์ด์ผ ํ๋ค.
ํ๋ก์ธ์ค ์ํ
- ์คํ (Run): ํ๋ก์ธ์ค๊ฐ ํ๋ก์ธ์๋ฅผ ์ฐจ์งํ์ฌ ์๋น์ค๋ฅผ ๋ฐ๊ณ ์๋ ์ํ
- ์ค๋น (Ready): ์คํ๋ ์ ์๋๋ก ์ค๋น๋๋ ์ํ
- ๋๊ธฐ (Waiting): CPU์ ์ฌ์ฉ์ด ์๋๋ผ ์ ์ถ๋ ฅ์ ์ฌ๊ฑด์ ๊ธฐ๋ค๋ฆฌ๋ ์ํ
ํ๋ก์ธ์
- ํ๋์จ์ด์ ์ธ ์ธก๋ฉด: ์ปดํจํฐ ๋ด์์ ํ๋ก๊ทธ๋จ์ ์ํํ๋ ํ๋์จ์ด ์ ๋
- ์ํํธ์จ์ด์ ์ธ ์ธก๋ฉด: ๋ฐ์ดํฐ ํฌ๋งท์ ๋ณํํ๋ ์ญํ ์ ์ํํ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์คํ
์ค๋ ๋
- ๋ช ๋ น์ด๊ฐ CPU๋ฅผ ํตํด์ ์ํ๋๋ ๊ฐ์ฒด์ ๋จ์์ด๋ค.
- ์ฌ๋ฌ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์ํํ์ฌ ์ฒ๋ฆฌํ๋ ค๊ณ ํ ๋ ์ฌ์ฉํ๊ฒ ๋๋ค.
์ค๋ ๋์ ๊ตฌ์ฑ์์
- ๊ฐ์ CPU: ์ธํฐํ๋ฆฌํฐ, ์ปดํ์ผ๋ฌ์ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ ๊ฐ์ ์ฝ๋
- ์ํ ์ฝ๋: Thread Class์ ๊ตฌํ๋์ด ์๋ run() Method ์ฝ๋
- ์ฒ๋ฆฌ ๋ฐ์ดํฐ: Thread์์ ์ฒ๋ฆฌํ๋ ๋ฐ์ดํฐ
์ค๋ ๋์ ํน์ง
- ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ํ๋ฆ์ ๋จ์์ด๋ค.
- ํ๋์ ์ค๋ ๋๋ ์์ํด์ ์ข ๋ฃํ ๋๊น์ง ํ๋ฒ์ ํ๋์ฉ ๋ช ๋ น๋ค์ ์ํํ๋ค.
- ๊ฐ ์ค๋ ๋๋ง๋ค call stack์ด ์กด์ฌํ๋ฉฐ, ๋๋จธ์ง Code, Data, Heap ์์ญ์ ์ค๋ ๋ ๋ผ๋ฆฌ ๊ณต์ ํ๋ค.
- ๋ค๋ฅธ ์ค๋ ๋์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ํ๋ค.
์ฑ๊ธ ์ค๋ ๋(Single-Thread)
- ํ๋ก์ธ์ค๊ฐ ๋จ์ผ ์ค๋ ๋๋ก ๋์ํ๋ ๋ฐฉ์
- ์ฅ์
- ์์ ์ ๊ทผ์ ๋ํ ๋๊ธฐํ๋ฅผ ์ ๊ฒฝ์ฐ์ง ์์๋ ๋๋ค.
- ๋ฌธ๋งฅ ๊ตํ ์์ ๋ํ ์๊ตฌํ์ง ์๋๋ค.
- ํ๋ก๊ทธ๋๋ฐ ๋์ด๋๊ฐ ์ฝ๊ณ , CPU ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒ ์ฌ์ฉํ๋ค.
- ๋จ์
- ์ฌ๋ฌ ๊ฐ์ CPU๋ฅผ ํ์ฉํ์ง ๋ชปํ๋ค.
- ์ฐ์ฐ๋์ด ๋ง์ ์์ ์ ํ๋ ๊ฒฝ์ฐ, ๊ทธ ์์ ์ด ์๋ฃ๋์ด์ผ ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์๋ค.
- ์ฑ๊ธ ์ค๋ ๋ ๋ชจ๋ธ์ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ๋ชปํ๋ ๊ฒฝ์ฐ ๋ฉ์ถ๊ฒ ๋๋ค.
๋ฉํฐ ์ค๋ ๋(Multi-Thread)
- ํ๋์ ํ๋ก์ธ์ค ๋ด์์ ๋ ์ด์์ ์ค๋ ๋๊ฐ ๋์์ ์์ ์ ์ํํ๋ ๋ฐฉ์
- ์์คํ ์์์ ํ์ฉ ๊ทน๋ํ ๋ฐ ์ฒ๋ฆฌ๋์ ์ฆ๋ํ ์ ์์ด ๋จ์ผ ํ๋ก์ธ์ค ์์คํ ์ ํจ์จ์ฑ์ ๋์ผ ์ ์๋ค.
- ์ฅ์
- ์์ ์ ๋ถ๋ฆฌํด์ ์ํํ๋ฏ๋ก ์ค์๊ฐ์ผ๋ก ์ฌ์ฉ์์๊ฒ ์๋ตํ ์ ์๋ค.
- ํ ํ๋ก์ธ์ค๋ฅผ ์ฌ๋ฌ ํ๋ก์ธ์์์ ์ํํ ์ ์์ด ํจ์จ์ ์ด๋ค.
- ๋จ์
- ์ฃผ์ ๊น์ ์ค๊ณ๊ฐ ํ์ํ๋ฉฐ ๋๋ฒ๊น ์ด ๊น๋ค๋กญ๋ค.
- ๋จ์ผ ํ๋ก์ธ์ค ์์คํ ์ ๊ฒฝ์ฐ ํจ๊ณผ๋ฅผ ๊ธฐ๋ํ๊ธฐ ์ด๋ ต๋ค.
- ํ๋์ ์ค๋ ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ์ ์ฒด ํ๋ก์ธ์ค๊ฐ ์ํฅ์ ๋ฐ๊ฒ ๋๋ ์์ ๊ณต์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
- ๋ฌธ๋งฅ ๊ตํ ์์ ์ ์๊ตฌํ๋ค.
๋ฌธ์์ด
- ์ ๋์ฝ๋
- ์ ๋์ฝ๋ ํํ๊ฐ ์ ์ ํ๋ ์ ์ธ๊ณ์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ปดํจํฐ์์ ์ผ๊ด๋๊ฒ ํํํ๊ณ ๋ค๋ฃฐ ์ ์๋๋ก ์ค๊ณ๋ ์ฐ์ ํ์ค์ด๋ค.
- ISO 10646 ๋ฌธ์ ์งํฉ, ๋ฌธ์ ์ธ์ฝ๋ฉ, ๋ฌธ์ ์ ๋ณด ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋ฌธ์๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํ ์๊ณ ๋ฆฌ์ฆ ๋ฑ์ ํฌํจํ๊ณ ์๋ค.
- ASCII๋ฅผ ํ์ฅํ ํํ์ด๋ค.
- ASCII
- ์๋ฌธ ์ํ๋ฒณ์ ์ฌ์ฉํ๋ ๋ํ์ ์ธ ๋ฌธ์ ์ธ์ฝ๋ฉ์ผ๋ก 7๋นํธ๋ก ๋ชจ๋ ์์ด ์ํ๋ฒณ์ ํํํ ์ ์๋ค.
- 52๊ฐ์ ์๋ฌธ ์ํ๋ฒณ ๋์๋ฌธ์, 10๊ฐ์ ์ซ์, 32๊ฐ์ ํน์ ๋ฌธ์, ํ๋์ ๊ณต๋ฐฑ ๋ฌธ์๋ฅผ ํฌํจํ๋ค.
- UTF-8 (๊ฐ๋ณ ๊ธธ์ด ์ธ์ฝ๋ฉ)
- ์ ๋์ฝ๋ ํ ๋ฌธ์๋ฅผ ๋ํ๋ด๊ธฐ ์ํด 1 byte(=8 bits)์์ 4 byte๊น์ง ์ฌ์ฉํ๋ค.
- ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์ก๋๋ ํ ์คํธ๋ ์ฃผ๋ก UTF-8๋ก ์ธ์ฝ๋ฉ๋๋ค.
- ๋ฐ์ดํธ ์์๊ฐ ์ ํด์ ธ ์๋ค.
- UTF-16
- ์ฝ๋ ๊ทธ๋๋ก ๋ฐ์ดํธ๋ก ํํ ๊ฐ๋ฅํ๋ฉฐ, ๋ฐ์ดํธ ์์๊ฐ ๋ค์ํ๋ค.
๊ทธ๋ํฝ
- ๋นํธ๋งต
- ์น ์์์ ๋์งํธ ์ด๋ฏธ์ง๋ฅผ ์ ์ฅํ๋ ๋ฐ ๊ฐ์ฅ ๋ง์ด ์ฐ์ด๋ ์ด๋ฏธ์ง ํ์ผ ํฌ๋งท ํ์
- ๋์คํฐ ๊ทธ๋ํฝ (์ ๋ฐฉ์)์ด๋ผ๊ณ ํ๋ค.
- ์ด๋ฏธ์ง์ ๊ฐ ์ ๋ค์ ๊ฒฉ์ํ์ ํฝ์ ๋จ์๋ก ๊ตฌ์ฑ๋๋ฉฐ, ํ ์ง์ญ์ ์ฐจ์งํ๋ ์ ์ ์์น์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ฐ์ ๊ฐ๋๋ค.
- ํ๋๋ฅผ ํ๋ฉด ๊ณ๋จํ์, ๊นจ์งํ์์ด ๋ฐ์ํ๋ค.
- ์ปดํจํฐ์๊ฒ ๋ถ๋ด์ ๋ ์ฃผ๋ ๊ตฌ์กฐ๋ก ๋์ด ์๋ค.
- ๋ฒกํฐ
- ์ด๋ฏธ์ง๋ฅผ ์ํ์ ์ธ ๊ณต์์ ์ฌ์ฉํ์ฌ ํํํ๋ค.
- ํ๋๋ฅผ ํด๋ ๊ณ๋จํ์, ๊นจ์งํ์์ด ๋ฐ์ํ์ง ์๋๋ค.
- ์ปดํจํฐ์๊ฒ ๋ถ๋ด์ ๊ฐํ๋ ๋ฐฉ์์ด๋ฏ๋ก ์ฃผ๋ก ๋ํ, ๊ธ์ ๋ฑ์ ๊ทธ๋ฆฌ๋ ์์ ์ ์ฌ์ฉ๋๋ค.
- ์ฌ์ด์ฆ๋ฅผ ํค์๋ ์ฉ๋์๋ ๋ณํ๊ฐ ์๋ค.
๊ฐ๋น์ง ์ปฌ๋ ์
- ํ๋ก๊ทธ๋จ์์ ๋ ์ด์ ์ฌ์ฉํ์ง ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์ ๋ฆฌํ๋ ๊ฒ์ด๋ค.
- ๊ฐ๋น์ง ์ปฌ๋ ์ ๊ธฐ๋ฅ์ ๊ฐ์ง ์ธ์ด๋ก๋ JAVA, C#, JavaScript ๋ฑ์ด ์๋ค.
๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๋ํ์ ์ธ ๋ฐฉ๋ฒ
- ํธ๋ ์ด์ฑ: ํ๊ฐ์ฒด์ flag๋ฅผ๋๊ณ , ๊ฐ๋น์ง ์ปฌ๋ ์ ์ฌ์ดํด๋ง๋ค flag์ ํ์ ํ ์ญ์ ํ๋ mark and sweep ๋ฐฉ๋ฒ์ด๋ค.
- ๋ ํผ๋ฐ์ค ์นด์ดํ : ํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๋ ๋ณ์์ ์๋ฅผ ์ถ์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์น ์๋น์ค์์์ ์บ์
๋ง์ ์๊ฐ์ด๋ ์ฐ์ฐ์ด ํ์ํ ์์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด๋๋ ๊ฒ์ ์๋ฏธํ๋ค.
์บ์์ ๋ฐ์ดํฐ๋ ์ผ๋ฐ์ ์ผ๋ก RAM๊ณผ ๊ฐ์ด ๋น ๋ฅด๊ฒ ์ก์ธ์คํ ์ ์๋ ํ๋์จ์ด์ ์ ์ฅ๋๋ฉฐ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์์ ํจ๊ป ์ฌ์ฉ๋ ์ ์๋ค.
๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ๊ณ์ธต์ ์ก์ธ์คํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ ๋๋ฆฐ ์์ ์ ์๊ตฌ๋ฅผ ์ค์ด๊ณ ๋ฐ์ดํฐ ๊ฒ์์ ์ฑ๋ฅ์ ๋์ธ๋ค.
์บ์์ ์ฅ์
- ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๊ฐ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น์ฉ ์ ๊ฐ
- ๋ฐฑ์๋ ๋ถํ ๊ฐ์
- ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํซ์คํ ์ ๊ฑฐ
- ์ฝ๊ธฐ ์ฒ๋ฆฌ๋ ์ฆ๊ฐ
์บ์ ์ฌ์ฉ์ ์์
- ํด๋ผ์ด์ธํธ: HTTP ์บ์ ํค๋, ๋ธ๋ผ์ฐ์
- ๋คํธ์ํฌ: DNS ์๋ฒ, HTTP ์บ์ ํค๋, CDN, ๋ฆฌ๋ฒ์ค ํ๋ก์
- ์๋ฒ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค: ํค-๊ฐ ๋ฐ์ดํฐ ์คํ ์ด, ๋ก์ปฌ ์บ์
๐ ์ถ๊ฐ๋ก ๊ณต๋ถํ ๋ด์ฉ
[udemy] React ์๋ฒฝ ๊ฐ์ด๋ ๊ฐ์ ๋ณด๊ธฐ (๋งค์ผ ์กฐ๊ธ์ฉ ์ด๋ผ๋ ๊พธ์คํ ๋ฃ๊ธฐ)
Study์๊ณผ ํจ๊ป ์งํ์ค์ธ ํ๋ก์ ํธ ๊ตฌํ
๐ ์ค์ํ ๋ด์ฉ
- ์ปดํจํฐ ๊ตฌ์กฐ
- ์ค์ ์ฒ๋ฆฌ์ฅ์น
- ์ด์ ์ฒด์
- ํ๋ฌ์ธ์ค
- ์ค๋ ๋
- ์บ์
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
22.08.03_TIL (0) | 2022.08.03 |
---|---|
22.08.02_TIL (0) | 2022.08.02 |
22.07.28_TIL (0) | 2022.07.28 |
22.07.27_TIL (0) | 2022.07.27 |
22.07.26_TIL (0) | 2022.07.26 |