์ด์์ฒด์ ๊ธฐ์ด
1. ๋ณ์๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ์์ญ์ ๋ํด์ ์ค๋ช ํด๋ณด์๋ผ.
๋ฉ๋ชจ๋ฆฌ ์์ญ์ code bata heap stack์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ์ด ์์๋๋ก ๋ฎ์ ์ฃผ์์์ ๋์ ์ฃผ์๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฅํฉ๋๋ค. stack์์ญ ๋นผ๊ณ ๋ชจ๋ ๋ฐํ์์์ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๋ฉฐ stack์์ญ์ ์ปดํ์ผ ํ์์ ํฌ๊ฐ๊ฐ ๊ฒฐ์ ๋ฉ๋๋ค.
code์์ญ์ ์คํ๋ ๋ช ๋ น์ด๊ฐ ๋ค์ด๊ฐ๋ ๊ตฌ์ญ์ ๋๋ค. ์ ํฌ๊ฐ ์์ฑํ ์์ค ์ฝ๋๊ฐ ๋ค์ด๊ฐ๊ณ ์์๋ํ ์ด๊ณณ์ ๋ค์ด๊ฐ๋๋ค. ๋ฌผ๋ก ์ปดํ์ผ ๋ ๊ธฐ๊ณ์ด๊ฐ ๋ค์ด๊ฐ ๊ฒ์ด๋ฉฐ ํ๋ก๊ทธ๋จ์ด ๋๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ ์ ์ฌ๋์ด ์์ต๋๋ค.
bata์์ญ์ ์ ์ญ๋ณ์ ๋๋ static๋ฑ์ด ์ง์ ๋๋ ๊ตฌ์ญ์ ๋๋ค. ์ด ๋ํ ํ๋ก๊ทธ๋จ์ด ๋๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ๊ณ์ ์ ์ฌ ๋ฉ๋๋ค.
heap์์ญ์ malloc์ด๋ new๋ก ๋์ ํ ๋น ๋ฐ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ค์ด๊ฐ๋ ๊ตฌ์ญ์ ๋๋ค. ํ์์ ์ํด ๋์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ ํ ๋นํ๊ณ ํ ๋ ์์นํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ผ๋ก ๋์ ๋ฐ์ดํฐ ์์ญ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๊ฐ์ ์ํด์๋ง ์ฐธ์กฐ๋๊ณ ์ฌ์ฉ๋๋ ์์ญ์ ๋๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ์์์ ์๋๋ก ํ์ฅ๋ฉ๋๋ค.
stack์์ญ์ heap์์ญ๊ณผ ๋ค๋ฅด๊ฒ ์๋์ ์๋ก ํ์ฅ๋๋ฉฐ ์ง์ญ๋ณ์, ๋งค๊ฐ๋ณ์, ๋ฆฌํด๊ฐ๋ฑ์ด ์ ์ฅ๋ฉ๋๋ค. ํจ์ ํธ์ถ์ ์์ฑ๋๊ณ ์ข ๋ฃ๋๋ฉด ์์คํ ์ ๋ฐํํ๊ฒ ๋ฉ๋๋ค. ๋ฐํ์ ์์๋ ์คํ ์ฌ์ด์ฆ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
2. ํ๋ก๊ทธ๋จ์ ๋น๋ ๊ณผ์ ์ ๋ํด์ ์ค๋ช ํด์ฃผ์๊ฒ ์ด์?
์ปดํ์ผํ๋ ๋น๋๊ณผ์ ์ ํ๋ก์ธ์ฑ ์ปดํ์ผ ์ด์ ๋ธ๋ง ๋งํฌ๋ก ์ด 4๋จ๊ณ์ ๋๋ค.
ํ๋ก์ธ์ฑ์ ์ ์ฒ๋ฆฌ ๋จ๊ณ๋ผ๊ณ ํ๋ฉฐ ์ผ๋ช ๋งคํฌ๋ก ํ๋ก์ธ์๋ผ๊ณ ํฉ๋๋ค. ์ ์ฒ๋ฆฌ๊ธฐ๋ C++์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ ์์ค๋ฅผ ๋ฌธ๋ฒ์ ์ผ๋ก ํด์ํ๊ณ ํ๊ฐํฉ๋๋ค. ์ฃผ์์ผ๋ก ๋์ด์๋ ๋ฌธ์ฅ์ ์ ๊ฑฐํ๊ณ #include # define typedef using์ ๊ฐ์ ํค์๋์ ๋ฐ๋ผ ํ์ํ ํ์ผ์ ์ฝ๊ณ ์ค์ ์ปดํ์ผ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ก๊ทธ๋จ ์์ค๋ก ๋ง๋๋ ์์ ์ ์ํํฉ๋๋ค.
์ปดํ์ผ ๋จ๊ณ๋ ์ปดํ์ผ๋ฌ๊ฐ ํ๋ก๊ทธ๋จ ์์ค๋ฅผ ์ด์ ๋ธ๋ฌ์ฝ๋๋ก ๋ง๋ญ๋๋ค. ์ด์ ๋ธ๋ก ์ฝ๋๋ ์คํ์ด ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ ์ฝ๋๋ก ๋ง๋ค๊ธฐ ์ ์ ๊ธฐ๊ณ์ด๋ผ๊ณ ํ๋ ๊ฐ์ฅ ๋ฎ์ ๋จ๊ณ์ ์์ค์ฝ๋๋ฅผ ๋งํฉ๋๋ค.
์ด์ ๋ธ๋ง ๋จ๊ณ๋ ์ด์ ๋ธ๋ฌ์ ์ํ์ฌ ์ค๋ธ์ ํธ ์ฝ๋ ๋๋ ๋ชจ๋์ด๋ผ๊ณ ๋ถ๋ฅด๋ ์คํ์ด ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ ํ์ผ์ ์ค๊ฐ ๋จ๊ณ์์ ์กดํดํ๋ ํ์ผ๋ก ๋ง๋ค์ด ์ง๋๋ค. ์ค๋ธ์ ํธ ์ฝ๋๋ ๋งํฌ ๊ณผ์ ์ ํ์ํ ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ ๊ฒ์ด ํน์ง์ ๋๋ค
๋งํฌ ๋จ๊ณ๋ ๋ง์ปค๊ฐ ์์์ ์์ฑํ ์ค๋ธ์ ํธ ์ฝ๋์ Cํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ C++ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ๋์ ์คํ๊ฐ๋ฅํ ํ๋ก๊ทธ๋จ์ ๋ง๋ญ๋๋ค.
์ด๋ ๊ฒ ๋ง๋ค์ด์ง ๋ฆฌ๋ ์ค ํ๋ก๊ทธ๋จ์ ์ปค๋์ ๋ก๋๊ฐ ์๊ตฌํ๋ Excutable and Linking Format ์ฆ ELFํฌ๋งท์ ๋ง์ฃผ์ด ์ ์ฅ๋๊ณ ๋ฐ๋ฉด ์๋์ฐ๋ Common object File Format์ด๋ผ๋ COFF๋ผ๋ ํฌ๋งท์ ์ฌ์ฉํ์ฌ ์ ์ฅํฉ๋๋ค.
3. ์๊ณ์์ญ์ ๋ฌด์์ธ๊ฐ์?
๋ ์ด์์ ์ฐ๋ ๋๊ฐ ๋์์ ์คํ๋ ๊ฒฝ์ฐ ์๊ธธ ์ ์๋ ๋์ ์ ๊ทผ ์ ์ด๋ฅผ ๋ฐ์์ํฌ์ ์๋ ์ฝ๋๋ธ๋ก์ ๋๋ค.
๋์ ์ ๊ทผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์๊ณ์ญ์ญ์ด๋ผ๊ณ ํ๋๊ฒ ์๋๋ผ ๋์ ์ ๊ทผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ์ฐ๋ฆฌ๊ฐ ์ง ์ฝ๋ ๋ธ๋ก์ ๋งํฉ๋๋ค.
์๊ณ์์ญ์ ํด๊ฒฐ๋ฐฉ๋ฒ:
์๊ณ์์ญ์ ๋ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋๊ธฐํ ๊ธฐ๋ฒ
- ํน์ ์๊ณ ์์ญ์ ๋ํ ํค๋ฅผ ๊ฐ์ ธ์ผ๋ง ์๊ณ์์ญ์ ์ ๊ทผํ๋๋ก ํ๋ค.
- ์ด๋ฏธ ์ด ํจ์๋ฅผ ๋ค๋ฅธ ์ฐ๋ ๋๊ฐ ํธ์ถํ์ฌ ํด๋น ์๊ณ์์ญ์ ์ง์ ํ์๋ค๋ฉด ๋ค๋ฆ๊ฒ ์ง์ ํ๋ ค๋ ์ฐ๋ ๋๋ ํธ์ถ๋ ์๊ฐ ๋ธ๋กํน๋์ด ๊ธฐ๋ค๋ฆฌ๊ฒ ๋๋ค.
4. ๋ฐ๋๋ฝ์ ๋ํด์ ๋งํด์ฃผ์ธ์.
๊ต์ฐฉ ์ํ๋ผ๊ณ ๋ ํ๋ฉฐ ํ์ ๋ ์์์ ์ฌ๋ฌ ๊ณณ์์ ์ฌ์ฉํ๋ ค๊ณ ํ ๋ ๋ฐ์ํฉ๋๋ค. ๋ฉํฐ ํ๋ก๊ทธ๋๋ฐ ํ๊ฒฝ์์ ํ์ ๋ ์์์ ์ฌ์ฉํ๋ ค๊ณ ์๋ก ๊ฒฝ์ฌํ๋ ์ํฉ์ด ๋ฐ์ํ ์ ์๋ค. ์ด๋ค ํ๋ก์ธ์ค๊ฐ ์์์ ์์ฒญํ์ ๋ ๊ทธ ์์์ ๊ทธ ์์์ ์ฌ์ฉํ ์ ์๋ ์ํฉ์ด ๋ฐ์ํ ์ ์๊ณ ๊ทธ๋๋ ํ๋ก์ธ์ค๊ฐ ๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ๋๋ค. ๋๊ธฐ ์ํ๋ก ๋ค์ด๊ฐ ํ๋ก์ธ์ค๋ค์ด ์คํ ์ํ๋ก ๋ณ๊ฒฝ๋ ์ ์์ ๋ ์ด๋ฌํ ์ํฉ์ ๊ต์ฐฉ์ํ๋ผ๊ณ ํฉ๋๋ค.
๋ฐ์ ์กฐ๊ฑด: ์ํธ ๋ฐฐ์ , ์ ์ ๋๊ธฐ, ๋น์ ์ , ์ํ ๋๊ธฐ๋ก ๋ค๊ฐ์ง ์กฐ๊ฑด์ด ๋์์ ์ฑ๋ฆฝํ ๋ ๋ฐ์ํฉ๋๋ค.
์ํธ ๋ฐฐ์ -> ์์์ ํ ๋ฒ์ ํ ํ๋ก์ธ์ค๋ง์ด ์ฌ์ฉํ ์ ์์ด์ผํ๋ค.
์ ์ ๋๊ธฐ-> ์ต์ํ ํ๋์ ์์์ ์ ์ ํ๊ณ ์์ผ๋ฉด์ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋์ด ์ฌ์ฉํ๊ณ ์๋ ์์์ ์ถ๊ฐ๋ก ์ ์ ํ๊ธฐ ์ํด ๋๊ธฐํ๋ ํ๋ก์ธ์ค๊ฐ ์์ด์ผํ๋ค.
๋น์ ์ -> ๋ค๋ฅธ ํ๋ก์ธ์ค์ ํ ๋น๋ ์์์ ์ฌ์ฉ์ด ๋ ๋ ๋๊น์ง ๊ฐ์ ๋ก ๋นผ์์ ์ ์์ด์ผ ํ๋ค.
์ํ ๋๊ธฐ(ํํ ๋๊ธฐ)-> ํ๋ก์ธ์ค์ ์งํฉ์์ p0์ p1์ด ์ ์ ํ ์์์ ๋๊ธฐํ๊ณ p1์ p2๊ฐ ์ ์ ํ ์์์ ๋๊ธฐํ๊ณ pn์ p0์ด ์ ์ ํ ์์์ ์๊ตฌํด์ผ ํ๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ: ์๋ฐฉ, ํํผ, ํ๋ณต, ๋ฌด์ 4๊ฐ์ง๊ฐ ์์ต๋๋ค.
์๋ฐฉ์ ๋ง ๊ทธ๋๋ก ๊ต์ฐฉ์ํ ๋ฐ์์กฐ๊ฑด ์ค ํ๋๋ง ์ด์์ผ๋ก ํด๊ฒฐํ์ฌ ๋ฐ๋๋ฝ์ ๋ฐ์์ํค์ง ์์ต๋๋ค.
5. ์ธ๋งํฌ์ด ๋ฎคํ ์ค์ ๋ํด์ ๊ฐ๊ฐ ์ค๋ช ํ๊ณ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
์ธ๋งํฌ์ด: ๊ณต์ ๋ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋ ๊ฒ
๋ฎคํ ์ค: ๊ณต์ ๋ ์์์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ์ฐ๋ ๋๊ฐ ์ ๊ทผํ๋ ๊ฒ์ ๋ง๋ ๊ฒ
6. ํํธํ ๋ฌธ์ ๋? ํํธํ ๋ฌธ์ ๋ ๊ธฐ๊ธฐ์ ์ฑ ๊ตฌ๋ ํ๊ฒฝ์ด ์ ๊ฐ๊ฐ ๋ถ์ด๋์ด ์๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ํ์ ์ธ ์๋ก๋ ์๋๋ก์ด๋๋ ์คํ์์ค์ด๊ธฐ ๋๋ฌธ์ ์๋ง์ ์ ์กฐ์ฌ์์ ์๋๋ก์ด๋ ๊ธฐ๋ฐ์ผ๋ก ๊ธฐ๊ธฐ ๊ฐ๋ฐ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๊ธฐ๋ ์ ๊ฐ๊ธฐ ๋ฅ์ customizeํ์ฌ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ์ฌํด์ง๋๋ค. ๋ฐ๋ผ์ ํ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋๋ผ๋ ์ด๋ฌํ osํํธํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ผ๋ํด์ผ ํฉ๋๋ค.
7. Critical Section์ด๋?
๋ค์ค ํ๋ก๊ทธ๋๋ฐ ์ด์์ฒด์ ์์ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ฉด์ ์ํ๋ ๋ ๊ฐ ํ๋ก์ธ์ค์์ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์์ธ์ค ํ๋ ํ๋ก๊ทธ๋จ ์ฝ๋ ๋ถ๋ถ์ ๊ฐ๋ฆฌํค๋ ๋ง์ ๋๋ค.
8. ๊ฒฝ์์กฐ๊ฑด์ด๋?
๋ช ๋ น์ด์ ์คํ ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ํ์์ ๋งํฉ๋๋ค.
9. ๋ฝ์ด๋?
์๊ณ์์ญ์ ๋ํ ์ํธ ๋ฐฐ์ ๋ฅผ ๋ณด์ฅํ๋ ๊ธฐ๋ฒ ์ค ํ๋ ํ๋์ ์ฐ๋ ๋๋ง ๋ฝ์ ์ป์ผ๋ฉด ๋๋จธ์ง ์ฐ๋ ๋๋ ๋ฝ์ ์ป์ ๋๊น์ง ๋ฆฌํดํ์ง ์์ต๋๋ค.
10. ์ฐ๋ ๋์ ํ๋ก์ธ์ค์ ์ฐจ์ด๋?
ํ๋ก์ธ์ค๋ ์คํ์ค์ธ ํ๋ก๊ทธ๋จ ์ค๋ ๋๋ ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๋ ํ๋ฆ์ ๋งํฉ๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ ๋๋ ํ๋์ ํ๋ก์ธ์ค ๋ด์ ์ฌ๋ฌ ๊ฐ ์ผ ์ ์์ต๋๋ค.
ํ๋ก์ธ์ค๋ ๊ณ ์ ์ ์์์ ํ ๋น ๋ฐ๊ณ ์ค๋ ๋๋ ํ๋์ ํ๋ก์ธ์ค ๋ด์์ ์คํ๋๊ธฐ ๋๋ฌธ์ ์คํ์ ์ ์ธํ ๋ชจ๋ ์์์ ๊ณต์ ํ๊ณ ํ๋ก์ธ์ค๋ PCB๋ฅผ ๊ฐ์ง๊ณ ์ค๋ ๋๋ TCB๋ฅผ ๊ฐ์ต๋๋ค.
11. ์บ์ ๋ฉ๋ชจ๋ฆฌ๋?
CPU๋ด์ ์กด์ฌํ๋ ์ฉ๋์ ์์ง๋ง ์ก์ธ์ค ์๋๊ฐ ๋น ๋ฅธ ๊ธฐ์ต์ฅ์น
์ ํ์ํ๊ฐ? ์ฃผ ๊ธฐ์ต์ฅ์น์ ์์ธ์ค ์๋๊ฐ CPU์ ๋นํด 4~10๋ฐฐ ๋๋ ๊ทธ ์ด์์ผ๋ก ๋๋ฆฝ๋๋ค. ์บ์์ ๋์ ์ผ๋ก ๋ณ๋ชฉํ์์ ์ํํ์์ต๋๋ค.
ํน์ง์? ์ฃผ๊ธฐ์ต์ฅ์น์ CPU์ฌ์ด์์ ๋์์ํ๊ณ ์บ์์ ๊ด๋ จ๋ ๋์์ ๋ชจ๋ ํ๋์จ์ด๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. ๋ธ๋ก์ ์ฃผ๊ธฐ์ต์ฅ์น์ ๋ฐ์ดํฐ ์ ์ก ๋จ์์ด๊ณ ๋ผ์ธ์ ์บ์์ ์ ์ก ๋จ์์ ๋๋ค.
์บ์์ ๋์์? CPU๊ฐ ๊ธฐ์ต์ฅ์น๋ฅผ ์์ธ์ค ํ๋ ค๊ณ ์ฃผ์๋ฅผ ์์ฑํฉ๋๋ค. ๋ง์ผ CPU๊ฐ ์์ฒญํ ๋ฐ์ดํฐ๊ฐ ์บ์์์ ์กด์ฌํ๋ค๋ฉด hit๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ CPU๋ ์บ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ๋ฐ๋ฉด CPU๊ฐ ์์ฒญํ ๋ฐ์ดํฐ๊ฐ ์บ์ ์์ ์กด์ฌํ์ง ์๋๋ค๋ฉด miss ์ฃผ๊ธฐ์ต์ฅ์น์์ CPU๊ฐ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ๋ฐ์ดํฐ ๋ธ๋ก ํ ์บ์์์ ํด๋น ๋จ์ด๋ก CPU๋ก ์ ๋ฌํฉ๋๋ค.
๊ทธ๋ํฝ์ค ๊ธฐ์ด
1. ํฌ์๋ ๋๋๋ง๊ณผ ๋ํผ๋ ๋๋๋ง์ ์ฐจ์ด์ ๋ํด์ ์ค๋ช ํ์ธ์.
ํฌ์๋ ๋๋๋ง์ 3D๊ณต๊ฐ์์ ์กด์ฌํ๋ ํด๋ฆฌ๊ณค์ ํฝ์ ํํ์ฌ ๊ทธ ํฝ์ ๋ง๋ค ์์ด๋ฉ๊ณผ ๋ผ์ดํ ์ฐ์ฐ์ ๋ํ๋ ๋ฐฉ์์ ๋๋ค. ํด์๋๊ฐ ์ฌ๋ผ๊ฐ๋ ์๊ตฌํ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ํผ๋๋ณด๋ค ์ ์ง๋ง ๋ผ์ดํ ์ฐ์ฐ์ด ๋๋ฆฌ๊ณ , ์ฌ๋ฌ ์ค๋ธ์ ํธ๋ก ๋ณต์กํ ํ๋ฉด์ ๊ตฌ์ฑํ๊ฑฐ๋ ํด๋ฆฌ๊ณค์ด ๋ง์ ๋ชจ๋ธ์ ๋ ๋๋ง ๊ฑธ๊ธฐ ๋ถ๋ฆฌํ ๋ฐฉ์์ ๋๋ค. ๊ทธ๋ฆผ์ ์ฒ๋ฆฌ๊ฐ ์ด๋ ต๊ณ , ํ๋ฉด์ ๊น์ด๊ฐ์ ์ด์ฉํ ํฌ์คํธ ํ๋ก์ธ์ฑ์ ๋ฐ๋ก ์ฒ๋ฆฌํด์ฃผ์ด์ผ ํฉ๋๋ค.
๋ํผ๋ ๋ ๋๋ง์ ํ ํ๋ฉด์ ์๋ง์ ๋ผ์ดํ ํจ๊ณผ๋ฅผ ๋ฃ๊ณ ์ถ์ด์ ๋ง๋ ๋ ๋๋ง ๊ธฐ๋ฒ์ ๋๋ค. ์ค์๊ฐ์ผ๋ก ๋ผ์ดํ ์ ๋ฐ์ ํ๋ ์์ด๋๋ฅผ ์ฐ๋ ๊ฒ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ํผ๋ ๋ ๋๋ง์ ๋๋ค. ๊ตฌํ๋ฐฉ์์ ํด๋ฆฌ๊ณค์ ํฝ์ ํํ์ฌ ํฌํ ์ต์ ๋ ์ด์ด์ฒ๋ผ ์ ๋ณด๋ฅผ ๋๋์ด ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํฉ๋๋ค. ์ฌ๊ธฐ์์ ๊ฐ์ข ์์ด๋์ ๋ผ์ดํ ํจ๊ณผ๋ฅผ ๊ฑฐ์ฒ ํ๋ฉด์ ๋ณด์ฌ์ค๋๋ค. ๋์ ๋ผ์ดํ , ๊ทธ๋ฆผ์๋ ์์ฝ๊ฒ ๊ทธ๋ ค์ง๋๋ค. ํ๋ฉด์ ๊น์ด๊ฐ์ ์ด์ฉํด ํน์ ํจ๊ณผ ๊ฐ์ ๊ฒ์ ๋ง๋ญ๋๋ค. ๋จ์ ์ ๋ค์ ๊ทธ๋ ค์ง๋ ์ค๋ธ์ ํธ ์ ๋ณด๊ฐ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ์์ ์๋ฉธ๋๊ธฐ ๋๋ฌธ์ ์ํ๊ฐ ๋น ์ง๋ ์ค๋ธ์ ํธ๋ฅผ ํํํ ์ ์์ต๋๋ค. ์๊ตฌํ๋ ํ๋์จ์ด ์ฌ์์ด ํฌ์๋ ๋ ๋๋ง ๋ณด๋ค ๋๊ณ ํด์๋๊ฐ ์ฌ๋ผ๊ฐ์๋ก ์๊ตฌํ๋ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋ฉ๋๋ค.
forward rendering | deferred rendering |
ํด๋น ๋ผ์ดํธ์ ์ํฅ์ ๋ฐ์ง ์์๋ ๋น์ ์ฐ์ฐ ํ๋ฉด์ ๋ ๋๋ง ๋์ง ์๋ ๋ฉด๋ ์ธ์ด๋ฉ ์ฐ์ฐ ๋ฉํฐ ๋ผ์ดํธ ์ํฉ์์ ๊ด๋ฆฌ ์ด๋ ค์ ๊ทธ๋ฆผ์์์ ํตํฉ์ด ์ด๋ ค์ ๋ผ์ดํธ ๊ฐ์*๋ผ์ดํธ ์ํฅ๋ฐ์ ์ค๋ธ์ ํธ ์ |
๋ฐฐ์น๊ฐ ๊ฐ๋จํ๊ณ ์์ง์์ ๊ด๋ฆฌ๊ฐ ์ฌ์ ์๋ง์ ์์ ๋์ ๋ผ์ดํ ์ฌ์ฉ์ด ๊ฐ๋ฅ ์ผ์ข ์ ํฌ์คํธ ํ๋ก์ธ์ฑ ์ฒ๋ฌ ์ํ 3d ๊ณ์ฐ์ 2d๊ณ์ฐ์ผ๋ก ๋ณํ์ํด ๋ผ์ดํธ ๊ณ์ฐ์ด ์ ํ ์์ด ์์ฑ์ฐ์ ๋ ๋๋ง ๋ผ์ดํ ๊ณ์ฐ์ ๋จผ์ ํ์ง ์๊ณ ๋ฏธ๋ฃจ์๋ค๊ฐ ์คํํ๊ธฐ ๋๋ฌธ์ ์ง์ฐ์ ฐ์ด๋ฉ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค ๋ผ์ดํธ ๊ฐ์* ๋ผ์ดํธ์ ์ํฅ๋ฐ๋ ํฝ์ ๊ฐ์ |
2. ๊ทธ๋ํฝ์ค ํ์ดํ๋ผ์ธ์ ๋ํด์ ์ด์ผ๊ธฐํ์ธ์.
๋ ๋๋ง ํ์ดํ๋ผ์ธ์ GPU๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์์ค๋ฅผ 2D์ด๋ฏธ์ง๋ก ๋ ๋๋งํ๋ ๊ณผ์ ์ ๋งํฉ๋๋ค. ํ์ดํ๋ผ์ธ์ ์ฌ๋ฌ ๊ฐ์ ํ์ดํ๋ผ์ธ ๋จ๊ณ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์ ๋ ์์ด๋ 5.0์ผ๋ก ์ด์ผ๊ธฐํ๊ฒ ์ต๋๋ค.
ํ์ดํ๋ผ์ธ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ๋์ ์๋ ๊ณ ์ ํ์ดํ๋ผ์ธ ๋จ๊ณ IA(์ ๋ ฅ ์กฐ๋ฆฝ๊ธฐ ๋จ๊ณ), RS(๋ ์คํฐ๋ผ์ด์ ๋จ๊ณ), OM(์์ํ ์ถ๋ ฅ ๋จ๊ณ) ST(์คํธ๋ฆผ ์ถ๋ ฅ๋จ๊ณ) TS(ํ ์ ๋ ์ด์ ๋จ๊ณ)๊ฐ ์์ต๋๋ค.
ํ๋ก๊ทธ๋๋จธ๊ฐ ์์ ํ ์ ์๋ ๋จ๊ณ๋ ์ ์ ์์ด๋, ๋๋ฉ์ธ ์์ด๋, ํ ์์ด๋, ๋๋ฉ์ธ ์์ด๋, ๊ธฐํ ์์ด๋๊ฐ ์์ต๋๋ค.
์ ๋ ฅ ์กฐ๋ฆฝ๊ธฐ | ๋ ์คํฐ๋ผ์ด์ | ์ถ๋ ฅ๋ณํฉ๊ธฐ |
์์ฉ ํ๋ก๊ทธ๋จ์์ ์ ๊ณตํ๋ ์ ์ ๋ฒํผ์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํ์ดํ๋ผ์ธ์์ ์ฌ์ฉํ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ก ์กฐ๋ฆฝํ๋ ๋จ๊ณ์ ๋๋ค. | ๋ ์คํฐ์ด๋ฏธ์ง๋ก ๋ณํํ๋ ๋จ๊ณ๋ก ๋์คํฐ๋ผ์ด์ ์ด์ ์ ํ๋ ๋์ ๊ฐ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ ๊ตฌ์ฑํ๋ ์ ์ ์ ํฝ์ ๋ก ๋ณํํฉ๋๋ค. ์๊ทผํฌ์๋๋๊ธฐ, ์นด๋ฉ๋ผ ์ ๋์ฒด๋ฅผ ๋ฒ์ด๋๋ ์ ๋ค์ ํด๋ฆฌํํ๊ณ ํ๋ฆฌ๋ฏธํฐ๋ธ๋ฅผ 2์ฐจ์ ๋ทฐํฌํธ๋ก ๋งคํํ๋ฉฐ ํ๋ฆฌ๋ฏธํฐ๋ธ์ ๋ชจ๋ ํฝ์ ๋ค์ ๋ํด์ ํฝ์ ์์ด๋๋ฅผ ํธ์ถํฉ๋๋ค. | ์ถ๋ ฅ๋ณํฉ๊ธฐ๋จ๊ณ๋ ์ต์ข
์ ์ผ๋ก ํฝ์
์ ์์์ ์์ฑํ์ฌ ๋ ๋ํ๊ฒ์ผ๋ก ์ถ๋ ฅํ๋ ๋จ๊ณ์
๋๋ค. ํ์ดํ๋ผ์ธ์ ์ํ์ ๋ณด ํฝ์
์์ด๋๊ฐ ์์ฑํ ํฝ์
์์ ๋ ํฐํ๊ฒ์ ๋ด์ฉ ๊ทธ๋ฆฌ๊ณ ๋์ค์คํ
์ค ๋ฒํผ์ ๋ด์ฉ๋ค์ ์กฐํฉํ์ฌ ์ถ๋ ฅํ ์์์ ๊ฒฐ์ ํฉ๋๋ค. ์ด๊ณณ์์ ๋์ค์คํ ์ค๊ณผ ๋ธ๋๋ฉ์ด ์ผ์ด๋ฉ๋๋ค. |
'๐๐ปโโ๏ธ pinko > โฝ ๊ฒ์ํ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ํ๋ ๊ฒ ๋ณด๋ค ๋ซ๊ฒ ์ง
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!