Programming/Etc. (2) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ๋ฉํฐํ์คํน(Multi-tasking), ๋ฉํฐํ๋ก์ธ์ฑ(Multi-processing), ๋ฉํฐ์ค๋ ๋ฉ(Multi-threading) โก ํ๋ก๊ทธ๋จ(Program): ์ ์ฅ์์ ์กด์ฌํ๋ ์ฝ๋์ ๋ญ์น๋ก ์คํ์ํ๊ฐ ์๋, ์คํํ๊ธฐ ์ ์ ์ ์ฅ์์ ์ ์ฅ๋ ์ฝ๋์ด๋ค. โก ํ๋ก์ธ์ค(Process): ์ ์ฅ์์ ์กด์ฌํ๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋์ด CPU๊ฐ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ์จ ์ํ์ด๋ค. โก ์ค๋ ๋(Thread): ํ๋ก์ธ์ค ์์ ์๋ ์์ ์คํ๋จ์๋ฅผ ์๋ฏธ์ด๋ค. ์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ก ์๋ฅผ ๋ค์ด๋ณด์. ์๋์์ ๊ธ์๋ฅผ ์ ๋ ฅํ๋ ๋์ ์๋์ผ๋ก ๋ง์ถค๋ฒ ๊ฒ์ฌ๋ฅผ ์ํ ๋ฐ ํ์ผ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์ ์ฅํ๋ค. ์ด ์์ ๋ค์ ๊ฐ๊ฐ์ ์ค๋ ๋์ ์ํด์ ์ด๋ฃจ์ด์ง๋ค. ์ฆ, ์๋๋ผ๋ ํฐ ํ๋ก์ธ์ค ํ๋์ ์ฌ๋ฌ ๊ฐ์ ์ค๋ ๋๊ฐ ๋ชจ์ฌ์๋ ๊ฒ์ด๋ค. ๋ฉํฐํ์คํน(Multi-tasking) โท ํ์คํฌ(Task)๋ ์ด์์ฒด์ ์์ ์ฒ๋ฆฌํ๋ ์์ ๋จ์๋ฅผ ์๋ฏธํ๋๋ฐ, ๊ทธ ์ฌ๋ฌ ์์ ๋จ์๊ฐ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌ๋.. ์ปดํ์ผ๋ฌ(Compiler)์ ์ธํฐํ๋ฆฌํฐ(Interpreter) ์ปดํ์ผ๋ฌ(Compiler) โท ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ์์ ์ํ๋๊ธฐ ์ํด์๋ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ๋ฐ๊พธ์ด ์ฃผ์ด์ผ ํ๋ค. ์ด๋ฌํ ์ผ์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ๋ฌ๋ผ๊ณ ํ๋ค. โท ๋ฒ์ญ๊ณผ ์คํ์ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง, ๋ฒ์ญํ ์ดํ์๋ ์ถ๊ฐ์ ์ธ ๋ฒ์ญ ๊ณผ์ ์ด ํ์ ์์ผ๋ฏ๋ก ์คํ์๋๊ฐ ๋น ๋ฅด๋ค. โท ๋ฌธ๋ฒ์ด ํ๋ฆฌ๋ฉด ์ปดํ์ผ ํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋ ๊ณ , ์ด๋ฅผ ์ปดํ์ผ ์๋ฌ๋ผ๊ณ ํ๋ค. ํ๋ก๊ทธ๋จ ๋จ์๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ธํฐํ๋ฆฌํฐ(Interpreter) โท ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ๋ฌธ์ฅ ๋จ์๋ก ๊ธฐ๊ณ์ด๋ก ํด์ํ์ฌ ์คํํ๋ ํ๋ก๊ทธ๋จ์ ์ธํฐํ๋ฆฌํฐ๋ผ๊ณ ํ๋ค. โท ๋ฌธ์ฅ ๋จ์๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋ฐ์ํ ์ ์๊ณ , ์๋ฌ๊ฐ.. ์ด์ 1 ๋ค์