์ปดํ์ผ
์ปดํจํฐ๋ 0๊ณผ 1๋ก๋ง ๋ชจ๋ ๋ช
๋ น์ ์ดํดํ๊ณ ์คํํ๋ค.
์ฐ๋ฆฌ๊ฐ ๋ฌด์ธ๊ฐ๋ฅผ ์๊ตฌํ๋ค ํ๋๋ผ๋ ์ปดํจํฐ๋ ์ด๊ฒ์ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ์ด์ง์ฝ๋๋ก ํด์ํ๋ค.
๊ทธ๋ฐ๋ฐ ๊ณผ์ฐ ์ด๋ค ๊ธฐ๋ฅ์ผ๋ก 0๊ณผ 1๋ก ํด์ํ ์ ์๋ ๊ฑธ๊น!?
๊ทธ ๊ธฐ๋ฅ์ ๋ฐ๋ก ์ปดํ์ผ์ด๋ผ๊ณ ํ๋ค.
์ฆ ๊ฐ๋จํ ๋งํด์ '๋ฒ์ญ๊ธฐ(ํต์ญ์ฌ)'๋ผ๊ณ ํด์ํด๋ ๋ฌด๊ดํ๋ค.
- ์ฌ๋์ด ์ดํดํ๋ ์ธ์ด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ์ธ์ด๋ก ๋ฐ๊พธ์ด ์ฃผ๋ ๊ณผ์ .
- ์์์ฝ๋์์ ๋ชฉ์ ์ฝ๋(๋ชฉ์ ํ์ผ)๋ก ๋ฐ๊พธ์ด ์ฃผ๋ ๊ฒ์ด ์ปดํ์ผ์ด๊ณ ๋ชฉ์ ํ์ผ์ ์คํ ํ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ์ด ๋งํฌ.
- ์์์ฝ๋๋ ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ฝ๋, ๋ชฉ์ ์ฝ๋๋ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก ๋ฒ์ญํ ์ฝ๋.
- ์ปดํ์ผ๊ณผ ๋งํฌ์ ๊ธฐ๋ฅ์ ํ๋ ๊ฒ์ด ์ปดํ์ผ๋ฌ์ด๋ค.
์ดํด๋ฅผ ์ํด ์๋ ์ฌ์ง ํ๋ ๋ ์ฒจ๋ถ ํฉ๋๋ค.
์ถ๊ฐ๋ก, Compiler๋ Interpreter, Assembler์ ํจ๊ป Language Processors์ ํ๋์ด๋ค.
ํฐ ํ์์๋ ๋น์ทํ ์ญํ ์ ํ์ง๋ง ๊ฐ๊ฐ์ ์ฐจ์ด๊ฐ ์กฐ๊ธ์ฉ ์๊ธฐ์,
๊ทธ ์ฐจ์ด๋ฅผ ์์๋ณด๋๋ก ํ๊ฒ ๋ค.
์์ ์ค๋ช
ํ ๊ฒ ์ฒ๋ผ compiler๋ ์์ค์ฝ๋๋ฅผ object code(๊ฐ์ฒด ์ฝ๋)๋ก ๋ณํํ๋ ํ๋ก๊ทธ๋จ์ด๋ค.
๋๋ถ๋ถ์ ๊ณ ๊ธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ ์ปดํ์ผ๋ฌ๋ฅผ ํฌํจํ๋ค๊ณ ํ๋ค.
์ปดํ์ผ๋ฌ๋ ์์ค์ฝ๋ ์ ์ฒด๋ฅผ ๋ณด๊ณ -> ํด์ -> ์ฌํธ์ฑ ํ๋ ๋ฐฉ์์ผ๋ก ์๋ํ๋ค๊ณ ํ๋ค.
์ด๋ ๋ฏ ์ ์ฒด๋ฅผ ๋ณด๊ณ ์์
์ ํ๋ฏ๋ก ์คํ๋๊ธฐ๊น์ง ์๊ฐ์ด ์ข ํ์ํ๋ค.
๊ทธ์ ๋ฐ๋ฉด์ ์ธํฐํ๋ฆฌํฐ๋ ํ๋ก๊ทธ๋จ ์ ์ฒด๋ฅผ ๋ณด์ง ์๊ณ ๊ฐ ๋ผ์ธ์ ์ฐ์ํด์ ,
๋ถ์ -> ์คํํ๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ์ฆ์ ์คํํ ์ ์๋ค.
ํ์ง๋ง ์คํ๋๋ ์์ ์๊ฐ์ด ๋ค๋ฅผ ๋ฟ,
์ค์ง์ ์ผ๋ก compiler๊ฐ interpreter๋ณด๋ค ์ ์ฒด ์คํ๋๋ ์๊ฐ์ ํจ์ฌ ๋น ๋ฅด๋ค.
์ธํฐํ๋ฆฌํฐ ?
์ธํฐํ๋ฆฌํฐ(interpreter)๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์์ค ์ฝ๋๋ฅผ ๋ฐ๋ก ์คํํ๋ ์ปดํจํฐ ํ๋ก๊ทธ๋จ ๋๋ ํ๊ฒฝ์ ๋งํ๋ค. ์์ ์ฝ๋๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ์ปดํ์ผ๋ฌ์ ๋๋น๋๋ค. ์ธํฐํ๋ฆฌํฐ๋ ๋ค์์ ๊ณผ์ ๊ฐ์ด๋ฐ ์ ์ด๋ ํ ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ฐ์ง ํ๋ก๊ทธ๋จ์ด๋ค.
- ์์ค ์ฝ๋๋ฅผ ์ง์ ์คํํ๋ค.
- ์์ค ์ฝ๋๋ฅผ ํจ์จ์ ์ธ ๋ค๋ฅธ ์ค๊ฐ ์ฝ๋๋ก ๋ณํํ๊ณ , ๋ณํํ ๊ฒ์ ๋ฐ๋ก ์คํํ๋ค
- ์ธํฐํ๋ฆฌํฐ ์์คํ
์ ์ผ๋ถ์ธ ์ปดํ์ผ๋ฌ๊ฐ ๋ง๋ , ๋ฏธ๋ฆฌ ์ปดํ์ผ๋ ์ ์ฅ ์ฝ๋์ ์คํ์ ํธ์ถํ๋ค.
์ธํฐํ๋ฆฌํฐ๋ ๊ณ ๊ธ ์ธ์ด๋ก ์์ฑ๋ ์์์ฝ๋ ๋ช
๋ น์ด๋ค์ ํ๋ฒ์ ํ ์ค์ฉ ์ฝ์ด๋ค์ฌ์ ์คํํ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ๋ค์ ์คํํ๋ ๋ฐ์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ ํ๋ ๊ฒ์ด๊ณ , ๋ค๋ฅธ ํ๋๋ ํ๋ก๊ทธ๋จ์ ์ธํฐํ๋ฆฌํฐ์ ํต๊ณผ์ํค๋ ๋ฐฉ๋ฒ์ด๋ค. ์ธํฐํ๋ฆฌํฐ๋ ๊ณ ๊ธ ๋ช
๋ น์ด๋ค์ ์ค๊ฐ ํํ๋ก ๋ฒ์ญํ ๋ค์, ๊ทธ๊ฒ์ ์คํํ๋ค. ์ด์๋ ๋์กฐ์ ์ผ๋ก, ์ปดํ์ผ๋ฌ๋ ๊ณ ๊ธ ๋ช
๋ น์ด๋ค์ ์ง์ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ค.
์ด์
๋ธ๋ฌ?
์ด์
๋ธ๋ฌ(assembler)๋ ์ด์
๋ธ๋ฆฌ์ด๋ฅผ ๊ธฐ๊ณ์ด ํํ์ ์ค๋ธ์ ํธ ์ฝ๋๋ก ํด์ํด ์ฃผ๋ ์ปดํจํฐ ์ธ์ด ๋ฒ์ญ ํ๋ก๊ทธ๋จ์ ๋งํ๋ค. ์ด์
๋ธ๋ฌ๋ ๊ธฐ๋ณธ ์ปดํจํฐ ๋ช
๋ น์ด๋ค์, ์ปดํจํฐ ํ๋ก์ธ์๊ฐ ๊ธฐ๋ณธ ์ฐ์ฐ์ ์ํํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ ๋นํธ ํจํด์ผ๋ก ๋ณํ์ํค๋ ํ๋ก๊ทธ๋จ์ด๋ค.
๋๋ณด๊ธฐ
๊ฐ๋จํ๊ฒ ์ด ์
์ ์ฐจ์ด์ ์ ์ค๋ช
ํ์๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์ธํ ๋ค์ด๊ฐ๋ฉด ๋๋ฌด ๊น์ ๋ถ๋ถ์ด๋ฏ๋ก, ๊ฐ๋จํ๊ฒ ๊ฐ๊ฐ์ด ์๋ฏธํ๋ ๋ฐ์ ํน์ง ์ ๋๋ง ๊ธฐ์ตํ์๋ฉด ์ข ๋ ์ ์ฉํ ๊ฒ์
๋๋ค.
์ถ์ฒ : https://saeatechnote.tistory.com/5
๋ง์ง๋ง์ผ๋ก, ์๋ ์ฌ์ง์ ๋ณด๋ฉด ์กฐ๊ธ๋ ์ดํดํ๊ธฐ ์ฉ์ดํ ๊ฒ์ด๋ค.
์ฆ ์๋์ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ ๋์ด ์ฌ์ฉ๋๋ ๊ฒ์ด๋ค.
๊ธฐ๊ณ๊ฐ ์ดํดํ ์ ์๊ณ ์คํ์ด ๋๊ธฐ ๊น์ง๋ ์ด์ ๊ฐ์ ์์๋ฅผ ๊ฑฐ์น๊ณ , ์ปดํ์ผ ๋ถ๋ถ์ ์ด์
๋ธ๋ฌ, ์ธํฐํ๋ฆฌํฐ ๋ฑ
์ธ์ด ํ๋ก์ธ์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๋ค.
๋ค์ ํฌ์คํ
์ ๋งํฌ์ ๋ํด ์ค๋ช
ํ๊ฒ ๋ค.
lucete1230-cyberpolice.tistory.com/156