์ปดํจํฐ ์์คํ
์ปดํจํฐ ์์คํ ์ ํ๋์จ์ด์ ์์คํ ํ๋ก๊ทธ๋จ(์์คํ ์ํํธ์จ์ด)์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ด๋ค์ด ํจ๊ป ์๋ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ(์์ฉ ์ํํธ์จ์ด)์ ์คํํฉ๋๋ค.
(ํ๋ก๊ทธ๋จ๊ณผ ์ํํธ์จ์ด๋ ๋์ผํ ์๋ฏธ์๋ฉฐ, ์์ผ๋ก ๋ ๋จ์ด๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ฌ์ฉํ์ฌ๋ ์ฐจ์ด๋ ์๋ค๋ ๊ฒ์ ๋ฏธ๋ฆฌ ๋ง์๋๋ฆฝ๋๋ค.)
ํ๋์จ์ด๋ ํ๋ก์ธ์, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ, ์ ์ถ๋ ฅ ์ฅ์น๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์์คํ ์ํํธ์จ์ด๋ ์ปดํ์ผ๋ฌ์ ์ด์์ฒด์ ๋ฑ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
์์ฉ ํ๋ก๊ทธ๋จ์ ๊ณ ๊ธ ์ธ์ด๋ก ์์ฑ๋ฉ๋๋ค.
์ ๋ณด๋ ๋นํธ์ ์ปจํ ์คํธ๋ก ์ด๋ฃจ์ด์ง๋๋ค
์์ค ํ๋ก๊ทธ๋จ์ 0๊ณผ 1๋ก ํ์๋๋ ๋นํธ๋ค๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ํ ์คํธ ๋ฌธ์๋ ๋ฐ์ดํธ๋ก ๋ํ๋ด์ด์ง๋๋ฐ, ๋ฐ์ดํธ๋ 8๋นํธ ๋จ์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋๋ถ๋ถ์ ์ปดํจํฐ ์์คํ ์์ ํ ์คํธ ๋ฌธ์๋ ์์คํค(ASCII) ํ์ค์ ์ฌ์ฉํ์ฌ ํ์ํฉ๋๋ค.
์ค๋ก์ง ์์คํค ๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ง ํ์ผ๋ค์ ํ ์คํธ ํ์ผ์ด๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ, ์ด์ธ ๋ชจ๋ ํ์ผ๋ค์ ๋ฐ์ด๋๋ฆฌ ํ์ผ์ด๋ผ๊ณ ํฉ๋๋ค.
๋ชจ๋ ์ ๋ณด๋ค์ ๋นํธ๋ค๋ก ํ์๋๋ฉฐ, ์ด๋ค์ ์ค๋ก์ง ์ด๋ค์ ๋ฐ๋ผ๋ณด๋ ์ปจํ ์คํธ์ ์ํด์ ์๋ก ๋ค๋ฅด๊ฒ ๊ตฌ๋ถ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ด๋ค ์ผ๋ จ์ ๋ฐ์ดํธ๊ฐ ์ ์, ๋ถ๋์์, ๋ฌธ์์ด ๋๋ ๊ธฐ๊ณ์ด ์ธ์คํธ๋ญ์ (machine instruction)์ ์๋ฏธํ ์ ์๋ ๊ฒ์ ๋๋ค.
ํ๋ก๊ทธ๋จ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํด ๋ค๋ฅธ ํํ๋ก ๋ฒ์ญ๋ฉ๋๋ค.
Hello World๋ฅผ ์ถ๋ ฅํ๋ ๊ฐ๋จํ c ํ๋ก๊ทธ๋จ(hello.c)์ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
hello ํ๋ก๊ทธ๋จ์ ์ธ๊ฐ์ด ๊ณง๋ฐ๋ก ์ดํดํ๊ณ ์ฝ์ ์ ์๋ ๊ณ ๊ธ C ํ๋ก๊ทธ๋จ์ผ๋ก ์์ฑ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ hello.c๋ฅผ ์์คํ ์์ ์คํ์ํค๊ธฐ ์ํด์๋ ๊ฐ ๋ฌธ์ฅ๋ค์ ์ ๊ธ ๊ธฐ๊ณ์ด ์ธ์คํธ๋ญ์ (machine instruction)์ผ๋ก ๋ฒ์ญ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ์ธ์คํธ๋ญ์ ๋ค์ ์คํ๊ฐ๋ฅ ๋ชฉ์ ํ๋ก๊ทธ๋จ(Executable Object Program) ํน์ ์คํ๊ฐ๋ฅ ๋ชฉ์ ํ์ผ์ด๋ผ ๋ถ๋ฆฌ๋ ํํ๋ก ํฉ์ณ์ง๋ฉฐ ๋ฐ์ด๋๋ฆฌ ๋์คํฌ ํ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
์ปดํ์ผ๋ฌ ๋๋ผ์ด๋ฒ๋ ๋ค์ ๋ช ๋ น์ด๋ฅผ ํตํด ์์คํ์ผ์ ๋ชฉ์ ํ์ผ๋ก ๋ฒ์ญํฉ๋๋ค.
gcc -o hello hello.c
์์ ์์์์ GCC ์ปดํ์ผ๋ฌ ๋๋ผ์ด๋ฒ๋ ์์คํ์ผ์ธ hello.c๋ฅผ ์ฝ์ด์ ์คํ๊ฐ๋ฅ ๋ชฉ์ ํ์ผ์ธ hello๋ก ๋ฒ์ญํฉ๋๋ค.
๋ฒ์ญ์ 4๋จ๊ณ๋ฅผ ๊ฑฐ์ณ์ ์คํ๋๋ฉฐ, ๊ฐ๊ฐ์ ๋จ๊ณ๋ ๋ชจ๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ์ํด ์คํ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ฌํ ๋ค ๋จ๊ณ๋ฅผ ์คํํ๋ ํ๋ก๊ทธ๋จ๋ค์ ์ปดํ์ผ ์์คํ ์ด๋ผ ๋ถ๋ฆ ๋๋ค.
์ ์ฒ๋ฆฌ ๋จ๊ณ
์ ์ฒ๋ฆฌ๊ธฐ(cpp)๋ ๋ณธ๋์ C ํ๋ก๊ทธ๋จ์ # ๋ฌธ์๋ก ์์ํ๋ directive(์ง๋ น)์ ๋ฐ๋ผ ์์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ์ฒ๋ฆฌ๊ธฐ๋ #include<stdio.h>๋ฅผ ๋ณด๊ณ stdio.h๋ฅผ ํ๋ก๊ทธ๋จ ๋ฌธ์ฅ์ ์ง์ ์ฝ์ ํฉ๋๋ค.
์ด๋ฌํ ๊ฒฐ๊ณผ ์ผ๋ฐ์ ์ผ๋ก .i๋ก ๋๋๋ ์๋ก์ด C ํ๋ก๊ทธ๋จ์ด ์์ฑ๋ฉ๋๋ค.
์ปดํ์ผ ๋จ๊ณ
์ปดํ์ผ๋ฌ(ccl)๋ ์ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋ hello.i ํ์ผ์ ๋ด์ฉ์ ์ด์ ๋ธ๋ฆฌ์ด๋ก ๋ฒ์ญํ์ฌ ์ด์ ๋ธ๋ฆฌ์ด ํ๋ก๊ทธ๋จ์ธ hello.s๋ฅผ ์์ฑํฉ๋๋ค.
์ด์ ๋ธ๋ฆฌ ๋จ๊ณ
์ดํ ์ด์ ๋ธ๋ฌ(as)๊ฐ hello.s๋ฅผ ๊ธฐ๊ณ์ด ์ธ์คํธ๋ญ์ ์ผ๋ก ๋ฒ์ญํ๊ณ ,
๋ฒ์ญ๋ ํ์ผ๋ค์ ์ฌ๋ฐฐ์น๊ฐ๋ฅ ๋ชฉ์ ํ๋ก๊ทธ๋จ(Relocatable Object Programs)์ ํํ๋ก ๋ฌถ์ด์ hello.o๋ผ๋ ๋ชฉ์ ํ์ผ์ ์ ์ฅํฉ๋๋ค.
๋งํฌ ๋จ๊ณ
hello ํ๋ก๊ทธ๋จ์ ์๋ก ๋ค๋ฉด, C ์ปดํ์ผ๋ฌ์์ ์ ๊ณตํ๋ ํ์ค C ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ค์ด์๋ printf ํจ์๋ฅผ ํธ์ถํฉ๋๋ค.
printf ํจ์๋ ์ด๋ฏธ ์ปดํ์ผ ๋ ๋ณ๋์ ๋ชฉ์ ํ์ผ์ธ printf.o์ ๋ค์ด ์์ผ๋ฉฐ, ์ด ํ์ผ์ hello.o ํ์ผ๊ณผ ์ด๋ค ํํ๋ก๋ ๊ฒฐํฉ๋์ด์ผ ํฉ๋๋ค.
์ด ๊ณผ์ ์ ๋ง์ปค ํ๋ก๊ทธ๋จ(ld)์ด ์ํํฉ๋๋ค.
๊ฒฐ๊ณผ๋ก ์์ฑ๋ hello ํ์ผ์ ์คํ๊ฐ๋ฅ ๋ชฉ์ ํ์ผ(Executable Object Program = ์คํํ์ผ)๋ก ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋์ด ์์คํ ์ ์ํด ์คํ๋ฉ๋๋ค.
ํ๋ก์ธ์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ธ์คํธ๋ญ์ ์ ์ฝ๊ณ ํด์ํฉ๋๋ค.
hello.c ์์ค ํ๋ก๊ทธ๋จ์ ์์์ ์ดํด๋ณธ ์ปดํ์ผ ์์คํ ์ ์ํด hello๋ผ๋ ์คํ๊ฐ๋ฅ ๋ชฉ์ ํ์ผ๋ก ๋ฒ์ญ๋์ด ๋์คํฌ์ ์ ์ฅ๋์์ต๋๋ค.
์ด ์คํํ์ผ์ ์์คํ ์์ ์คํํ๊ธฐ ์ํด์๋ ์(shell)์์ ํด๋น ํ์ผ ์ด๋ฆ์ ์ ๋ ฅํ์ฌ์ผ ํฉ๋๋ค.
linux> ./hello
hello, world
linux>
์์ ๋ช ๋ น์ด ๋ผ์ธ์ ์ ๋ ฅ ๋ฐ์ ๊ทธ ๋ช ๋ น์ ์คํํฉ๋๋ค.
๋ง์ฝ ์์ฒ๋ผ ๋ช ๋ น์ด ๋ผ์ธ์ด ๋ด์ฅ๋ ์ ๋ช ๋ น์ด๊ฐ ์๋ ๊ฒฝ์ฐ ์์ ์ด๋ฅผ ์คํํ์ผ์ ์ด๋ฆ์ผ๋ก ํ๋จํฉ๋๋ค.
์ดํ ์์ ํด๋น ํ์ผ์ ์ฐพ์์ ๋ก๋ฉํ์ฌ ์คํํฉ๋๋ค.
hello ํ๋ก๊ทธ๋จ์ ๋ฉ์ธ์ง๋ฅผ ํ๋ฉด์ ์ถ๋ ฅํ๊ณ ์ข ๋ฃํ์ง๋ง, ์์ ์ดํ ๋ค์ ๋ช ๋ น์ด ๋ผ์ธ์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
์์คํ ์ ํ๋์จ์ด ๊ตฌ์กฐ
hello ํ๋ก๊ทธ๋จ์ ์คํํ ๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๋์ง ์๊ธฐ ์ํด์๋ ์์คํ ์ ํ๋์จ์ด ์กฐ์ง์ ์์์ผํฉ๋๋ค.
ํ๋์จ์ด ์กฐ์ง์ ํฌ๊ฒ 4๊ฐ์ง(๋ฒ์ค, ์ ์ถ๋ ฅ ์ฅ์น, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ, CPU(ํ๋ก์ธ์))๋ก ๋๋ ๋ณผ ์ ์์ต๋๋ค.
๋ฒ์ค(Buses)
ํ๋์จ์ด์ ๊ตฌ์ฑ์์๊ฐ ๋ฐ์ดํธ ์ ๋ณด๋ฅผ ๊ตํํ๋ ํต๋ก์ ๋๋ค.
๋ฒ์ค๋ ์ผ๋ฐ์ ์ผ๋ก ์๋(word)๋ผ๊ณ ํ๋ ๊ณ ์ ํฌ๊ธฐ์ ๋ฐ์ดํธ ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋๋ก ์ค๊ณ๋ฉ๋๋ค.
ํ ๊ฐ์ ์๋๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐ์ดํธ ์๋ ์ปดํจํฐ ์์คํ ๋ง๋ค ๋ค๋ฅด๋ฉฐ,
์ค๋๋ ๋๋ถ๋ถ์ ์ปดํจํฐ๋ค์ 4๋ฐ์ดํธ(32๋นํธ) ํน์ 8๋ฐ์ดํธ(64๋นํธ)์ ์๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ฅ์น
์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ๋ด๋นํฉ๋๋ค.
์์ ๊ทธ๋ฆผ์ 4๊ฐ์ ์ ์ถ๋ ฅ ์ฅ์น(๋ง์ฐ์ค, ํค๋ณด๋, ๋์คํ๋ ์ด, ๋์คํฌ ๋๋ผ์ด๋ธ)๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ,
์คํ๊ฐ๋ฅ ๋ชฉ์ ํ์ผ(์คํ ํ์ผ)์ธ hello ํ๋ก๊ทธ๋จ์ ๋์คํฌ์ ์ ์ฅ๋์ด ์์ต๋๋ค.
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ
๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ ํ๋ก์ธ์๊ฐ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋์ ๋ฐ์ดํฐ์ ํ๋ก๊ทธ๋จ์ ๋ชจ๋ ์ ์ฅํ๋ ์์ ์ ์ฅ์ฅ์น์ ๋๋ค.
CPU(Central Processing Unit) - ํ๋ก์ธ์(Processor)
์ค์์ฒ๋ฆฌ์ฅ์น(CPU), ๊ฐ๋จํ ํ๋ก์ธ์๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ์ธ์คํธ๋ญ์ ๋ค์ ํด๋ (์คํ)ํ๋ ์์ง์ ๋๋ค.
CPU๋ ์ฐ์ ๋ ผ๋ฆฌ์ฐ์ฐ์ฅ์น(ALU)์ ์ ์ด์ฅ์น(Control unit), ๋ ์ง์คํฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
ํ๋ก์ธ์์ ์ค์ฌ์๋ ์๋ ํฌ๊ธฐ์ ์ ์ฅ์ฅ์น(๋ ์ง์คํฐ)์ธ ํ๋ก๊ทธ๋จ ์นด์ดํฐ(PC)๊ฐ ์์ต๋๋ค.
ํ๋ก๊ทธ๋จ ์นด์ดํฐ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๊ณ์ด ์ธ์คํธ๋ญ์ ์ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์์คํ ์ ์ ์์ด ๊ณต๊ธ๋๋ ์๊ฐ๋ถํฐ ์ ์์ด ๋์ด์ง ๋๊น์ง, ํ๋ก์ธ์๋ ํ๋ก๊ทธ๋จ ์นด์ดํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๊ณณ์ ์ธ์คํธ๋ญ์ ์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๊ณ ํ๋ก๊ทธ๋จ ์นด์ดํฐ์ ๊ฐ์ด ๋ค์ ์ธ์คํธ๋ญ์ ์ ์์น๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
์ด๋ฌํ ๋ฐ๋ณต๋๋ ๊ณผ์ ์ ๋ช ๋ น ์ฃผ๊ธฐ(Instruction cycle)๋ผ ํฉ๋๋ค.
๋ช ๋ น ์ฃผ๊ธฐ(Instruction cycle)
๋ช ๋ น ์ฃผ๊ธฐ๋ ๋์ฒด์ ์ผ๋ก fetch, decode, execution, store์ ์ฌ์ดํด์ ๊ฐ์ง๋๋ค.
fetch ๋จ๊ณ์์๋ ํ๋ก์ธ์๊ฐ PC(ํ๋ก๊ทธ๋จ ์นด์ดํฐ)๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ์ธ์คํธ๋ญ์ (๋ช ๋ น์ด)์ ๊ฐ์ ธ์ต๋๋ค.
decode ๋จ๊ณ์์๋ ๊ฐ์ ธ์จ ์ธ์คํธ๋ญ์ ์ ํด์ํ์ฌ ์ ์ด ์ ํธ๋ฅผ ์์ฑํฉ๋๋ค.
execution ๋จ๊ณ์์๋ ๊ฐ์ ธ์จ ์ธ์คํธ๋ญ์ ์ ์คํํฉ๋๋ค.
store ๋จ๊ณ์์๋ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํฉ๋๋ค.
ํ๋ก๊ทธ๋จ์ ์คํ ๊ณผ์
์ง๊ธ๊น์ง ์์๋ณด์๋ ๋ด์ฉ๋ค์ ๋ฐํ์ผ๋ก hello ํ๋ก๊ทธ๋จ์ ์คํ ๊ณผ์ ์ ๋๋ต์ ์ผ๋ก ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฒ์์ ์ ํ๋ก๊ทธ๋จ์ ์์ ์ ์ธ์คํธ๋ญ์ ์ ์คํํ๋ฉด์ ์ฌ์ฉ์๊ฐ ๋ช ๋ น์ ์ ๋ ฅํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค.
./hello๊ฐ ์ ๋ ฅ๋๋ฉด ์ ํ๋ก๊ทธ๋จ์ ๊ฐ๊ฐ์ ๋ฌธ์๋ฅผ ๋ ์ง์คํฐ์ ์ฝ์ด๋๋ฆฐ ํ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํฉ๋๋ค.
ํค๋ณด๋์์ ์ํฐํค๋ฅผ ๋๋ฅด๋ฉด, ์์ ๋ช ๋ น ์ ๋ ฅ์ ๋๋ง์ณค๋ค๋ ๊ฒ์ ์๊ฒ ๋ฉ๋๋ค.
์์์ ์์๋ณธ ๊ฒ๊ณผ ๊ฐ์ด hello๋ ๋ด์ฅ ์ธ์คํธ๋ญ์ ์ด ์๋๋ฏ๋ก, ์์ ๋์คํฌ์์ hello๋ ์ด๋ฆ์ ์คํ ํ์ผ์ ์ฐพ์ ํ์ผ ๋ด์ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ๋ ์ผ๋ จ์ ์ธ์คํธ๋ญ์ ์ ์คํํ์ฌ ์คํ ํ์ผ์ ๋์คํฌ์์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋ํฉ๋๋ค.
์ด๋ ์ง์ ๋ฉ๋ชจ๋ฆฌ ์ ๊ทผ(DMA) ๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ๋ฐ์ดํฐ๋ ํ๋ก์ธ์๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋์คํฌ์์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก ์ง์ ์ด๋ํฉ๋๋ค.
hello ์คํํ์ผ์ ์ฝ๋์ ๋ฐ์ดํฐ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฌ๋ ํ, ํ๋ก์ธ์๋ hello ํ๋ก๊ทธ๋จ์ main ๋ฃจํด์ ๊ธฐ๊ณ์ด ์ธ์คํธ๋ญ์ ์ ์คํํ๊ธฐ ์์ํฉ๋๋ค.
์ด ์ธ์คํธ๋ญ์ ๋ค์ "hello, world\n" ๋ฌธ์์ด์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ๋ก๋ถํฐ ๋ ์ง์คํฐ ํ์ผ๋ก ๋ณต์ฌํ๊ณ , ๊ฑฐ๊ธฐ๋ก๋ถํฐ ๋์คํ๋ ์ด ์ฅ์น๋ก ์ ์กํ์ฌ ํ๋ฉด์ ๊ธ์๋ค์ด ํ์๋ฉ๋๋ค.
์ด์์ฒด์ (Operating System)๋ ํ๋์จ์ด๋ฅผ ๊ด๋ฆฌํฉ๋๋ค
์ด์์ฒด์ ๋ ์์ฉํ๋ก๊ทธ๋จ์ด ํ๋์จ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ํ๋ก๊ทธ๋จ์ผ๋ก,
์ ์ถ๋ ฅ์ฅ์น, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ, ํ๋ก์ธ์, ์ํํธ์จ์ด ์์(ํ์ผ์์คํ , ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฑ)์ ๊ด๋ฆฌํฉ๋๋ค.
์ด์์ฒด์ ๋ฅผ ์ฝ๊ฒ ์๊ฐํ๋ฉด ํ๋์จ์ด์ ์ํํธ์จ์ด ์ฌ์ด์ ์์นํ ์ํํธ์จ์ด ๊ณ์ธต์ผ๋ก ์๊ฐํ ์ ์์ต๋๋ค.
์ด์์ฒด์ ์ ๋ชฉ์ ์
1. ์์ฉํ๋ก๊ทธ๋จ๋ค์ด ํ๋์จ์ด๋ฅผ ์๋ชป ์ฌ์ฉํ๋ ๊ฒ์ ๋ง๋ ๊ฒ๊ณผ,
2. ์์ฉํ๋ก๊ทธ๋จ๋ค์ด ๋จ์ํ๊ณ ๊ท ์ผํ ๋งค์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์ ์์ค ํ๋์จ์ด ์ฅ์น๋ค์ ์กฐ์ํ ์ ์๋๋ก ํ๋ ๊ฒ์ ์์ต๋๋ค.
์ด์์ฒด์ ๋ ์ด ๋๊ฐ์ง ๋ชฉํ๋ฅผ ํ๋์จ์ด ์ถ์ํ๋ฅผ ํตํด ๋ฌ์ฑํฉ๋๋ค.
์ด์์ฒด์ ์ ์ํ ์ถ์ํ๋ก๋ ํ์ผ(Files), ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory), ํ๋ก์ธ์ค(Processes)๊ฐ ์์ต๋๋ค.
ํ์ผ์ ์ ์ถ๋ ฅ์ฅ์น์ ์ถ์ํ์ด๋ฉฐ,
๊ฐ์ ๋ฉ๋ชจ๋ฆฌ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ๋์คํฌ, ์ ์ถ๋ ฅ ์ฅ์น์ ์ถ์ํ,
ํ๋ก์ธ์ค๋ ํ๋ก์ธ์, ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ, ์ ์ถ๋ ฅ์ฅ์น ๋ชจ๋์ ์ถ์ํ์ ๋๋ค.
hello ์์ ๋ฅผ ๋ค์ ์ดํด๋ณด๋ฉด, ์ ํ๋ก๊ทธ๋จ์ด hello ํ๋ก๊ทธ๋จ์ ๋ก๋ํ๊ณ ์คํํ์ ๋์ hello ํ๋ก๊ทธ๋จ์ด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ ๋, ํ๋ก๊ทธ๋จ์ด ํค๋ณด๋๋ ๋์คํ๋ ์ด, ๋์คํฌ๋ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ง์ ์ ๊ทผํ์ง ์์์ต๋๋ค.
ํ๋ก๊ทธ๋จ์ ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ์๋น์ค๋ฅผ ํ์ฉํ์ฌ ํ๋์จ์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
'๐ฅ Computer Science > ์์คํ ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์์คํ ํ๋ก๊ทธ๋๋ฐ] ์ด์ ๋ธ๋ฆฌ์ด[2] - ์กฐ๊ฑด๋ฌธ (2) | 2022.10.12 |
---|---|
[์์คํ ํ๋ก๊ทธ๋๋ฐ] ์ด์ ๋ธ๋ฆฌ์ด [1] (2) | 2022.10.10 |
[์์คํ ํ๋ก๊ทธ๋๋ฐ] - 2022๋ ๋ Datalab (0) | 2022.10.04 |
[์์คํ ํ๋ก๊ทธ๋๋ฐ] ์์์ ํํ (๋ถ๋์์์ ) (0) | 2022.10.02 |
[์์คํ ํ๋ก๊ทธ๋๋ฐ] ์ ์์ ํํ (0) | 2022.09.17 |