์์คํ ์ฝ
์์คํ ์ฝ์ ์ด์์ฒด์ ์ ์ํด ์ฌ์ฉ ๊ฐ๋ฅํ๊ฒ ๋ ์๋น์ค์ ๋ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ํน์ ์ ์์ค ์์ (์๋ฅผ ๋ค๋ฉด ํ๋์จ์ด๋ฅผ ์ง์ ์ ๊ทผํด์ผ ํ๋ ์์ )์ ์ด์ ๋ธ๋ฆฌ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์์ฑ๋์ด์ผ ํ๋๋ผ๋ ์ด๋ฌํ ํธ์ถ์ ์ผ๋ฐ์ ์ผ๋ก C์ C++ ์ธ์ด๋ก ์์ฑ๋ ํจ์ ํํ๋ก ์ ๊ณต๋ฉ๋๋ค.
(1) ์์
์ด์์ฒด์ ๊ฐ ์ด๋ป๊ฒ ์์คํ ์ฝ์ ์ฌ์ฉํ ์ ์๊ฒ ๋ง๋๋์ง์ ๋ํด ๋ ผ์ํ๊ธฐ ์ ์ ์์คํ ์ฝ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง๋ฅผ ์ค๋ช ํ๋ ์๋ฅผ ํ๋ฒ ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ํ ํ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ ๋ค๋ฅธ ํ์ผ๋ก ๋ณต์ฌํ๋ ๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. ํ๋ก๊ทธ๋จ์ด ํ์๋ก ํ๋ ์ฒซ ๋ฒ์งธ ์ ๋ ฅ์ ๋ ๊ฐ์ ํ์ผ, ์ฆ ์ ๋ ฅ ํ์ผ๊ณผ ์ถ๋ ฅ ํ์ผ์ ์ด๋ฆ์ผ ๊ฒ์ ๋๋ค. ์ด ์ด๋ฆ๋ค์ ์ด์์ฒด์ ์ค๊ณ์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ง์ ํ ์ ์์ต๋๋ค. ํ ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ช ๋ น์ ์ผ๋ถ๋ก ๋ ํ์ผ์ ์ด๋ฆ์ ์ ๋ฌํ๋ ๊ฒ์ ๋๋ค.(์: UNIX cp ๋ช ๋ น)
cp in.txt out.txt
์ด ๋ช ๋ น์ ์ ๋ ฅ ํ์ผ in.txt๋ฅผ ์ถ๋ ฅ ํ์ผ out.txt์ ๋ณต์ฌํ๋ค์ ๋๋ค. ๋ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ์์๊ฒ ์ด๋ฆ์ ์์ฒญํ๋ ๊ฒ์ ๋๋ค. ๋ํํ ์์คํ ์์ ์ด ๋ฐฉ๋ฒ์ ์ผ๋ จ์ ์์คํ ์ฝ์ด ํ์ํฉ๋๋ค. ๋จผ์ ํ๋ฉด์ ํ๋กฌํํธ ๋ฉ์์ง๋ฅผ ์์ฑํ ๋ค์ ํค๋ณด๋์์ ๋ ํ์ผ์ ์ด๋ฆ์ ์ง์ ํ๋ ๋ฌธ์๋ฅผ ์ฝ์ต๋๋ค. ๋ง์ฐ์ค ๊ธฐ๋ฐ ๋ฐ ์์ด์ฝ ๊ธฐ๋ฐ ์์คํ ์์ ํ์ผ ์ด๋ฆ ๋ฉ๋ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ฐฝ์ ํ์๋๋๋ฐ ์ฌ์ฉ์๋ ๋ง์ฐ์ค๋ฅผ ์ด์ฉํ์ฌ ์์ค ์ด๋ฆ์ ์ ํํ ์ ์์ผ๋ฉฐ ๋์ ์ด๋ฆ์ ์ง์ ํ ์ ์๋ ์ฐฝ์ ์ด ์ ์์ต๋๋ค. ์ด ์ผ๋ จ์ ์์ ์ ์ํด์๋ ๋ง์ I/O ์์คํ ์ฝ์ด ํ์ํฉ๋๋ค.
์ผ๋จ ๋ ๊ฐ์ ํ์ผ ์ด๋ฆ์ด ์ป์ด์ง๋ฉด, ํ๋ก๊ทธ๋จ์ ๋ฐ๋์ ์ ๋ ฅ ํ์ผ์ ์คํํ๊ณ ์ถ๋ ฅ ํ์ผ์ ์์ฑํ ํ ์คํํฉ๋๋ค. ๊ฐ๊ฐ์ ์ด๋ฌํ ์ฐ์ฐ์ ๋ ๋ค๋ฅธ ์์คํ ์ฝ์ ํ์๋ก ํ๋ฉฐ, ๊ฐ ์์คํ ์ฝ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ์ฒ๋ฆฌ๋์ด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ก๊ทธ๋จ์ด ์ ๋ ฅ ํ์ผ์ ์คํํ๋ ค๊ณ ํ ๋, ๊ทธ ์ด๋ฆ์ ๊ฐ๋ ํ์ผ์ด ์กด์ฌํ์ง ์๊ฑฐ๋ ๊ทธ ํ์ผ์ ๋ํ ์ ๊ทผ์ด ๊ธ์ง๋์ด ์๋ ๊ฒ์ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ํ๋ก๊ทธ๋จ์ ์๋ฌ ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๊ณ (๋ ๋ค๋ฅธ ์ผ๋ จ์ ์์คํ ์ฝ), ๊ทธ๋ฆฌ๊ณ ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ(๋ ๋ค๋ฅธ ์์คํ ์ฝ)ํฉ๋๋ค. ๋ง์ฝ ์ ๋ ฅ ํ์ผ์ด ์กด์ฌํ๋ฉด ์๋ก์ด ์ถ๋ ฅ ํ์ผ์ ์์ฑํด์ผ ํฉ๋๋ค. ์ด๋ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ง ์ถ๋ ฅ ํ์ผ์ด ์ด๋ฏธ ์กด์ฌํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ํฉ์ ํ๋ก๊ทธ๋จ์ ์ค๋จ(abort)(ํ๋์ ์์ค์ ์ฝ)ํ๊ฒ ํ๊ฑฐ๋, ๋๋ ๊ธฐ์กด์ ํ์ผ์ ์ญ์ (๋ค๋ฅธ ์์คํ ์ฝ) ํ ํ, ์๋ก์ด ํ์ผ์ ์์ฑํ ์๋ ์์ต๋๋ค. ๋ํํ ์์คํ ์์ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ๊ธฐ์กด์ ํ์ผ์ ๋์ฒดํ ๊ฒ์ธ์ง, ํน์ ํ๋ก๊ทธ๋จ์ ์ค๋จํ ๊ฒ์ธ์ง๋ฅผ ์ฌ์ฉ์์๊ฒ ๋ฌผ์ด๋ณด๋(ํ๋กฌํํธ ๋ฉ์์ง์ ์ถ๋ ฅ๊ณผ ํฐ๋ฏธ๋๋ก๋ถํฐ ์๋ต์ ์ฝ๊ธฐ ์ํ ์ผ๋ จ์ ์์คํ ์ฝ)๊ฒ์ ๋๋ค.
์ด์ ๋ ๊ฐ์ ํ์ผ์ด ์ค๋น๋๋ฉด, ์ ๋ ฅ ํ์ผ๋ก๋ถํฐ ์ฝ์ด์(ํ๋์ ์์คํ ์ฝ), ์ถ๋ ฅ ํ์ผ์ ๊ธฐ๋ก(๋ ๋ค๋ฅธ ์์คํ ์ฝ) ํ๋ ๋ฃจํ์ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค. ๊ฐ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ ๊ฐ๋ฅํ ์ฌ๋ฌ ๊ฐ์ง ์ค๋ฅ ์ํฉ์ ์ ๋ณด๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. ์ ๋ ฅ์์, ํ๋ก๊ทธ๋จ์ด ํ์ผ์ ๋์ ๋๋ฌํ๊ฑฐ๋ ์ฝ๊ธฐ ์ค์ ํ๋์จ์ด ์ค๋ฅ(์ด๋ฅผํ ๋ฉด ํจ๋ฆฌํฐ ์ค๋ฅ)๊ฐ ๋ฐ์ํ ์๋ ์์ต๋๋ค. ์ฐ๊ธฐ ์ฐ์ฐ ์ ์ถ๋ ฅ ์ฅ์น์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ์ง ์ค๋ฅ๋ค(์๋ฅผ ๋ค์ด, ๋์คํฌ ๊ณต๊ฐ์ ๋ถ์กฑ)์ด ๋ฐ์ํ ์๋ ์์ต๋๋ค.
(2) ์์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค(Application Programming Interface)
๊ฐ๋จํ ํ๋ก๊ทธ๋จ์ด๋ผ๋ ์ด์์ฒด์ ์ ๊ธฐ๋ฅ์ ์์ฃผ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์ข ์ข ์ด๋น ์์ฒ ๊ฐ์ ์์คํ ์ฝ์ ์ํํ๊ฒ ๋ฉ๋๋ค. ์ฌ์ฉ์ ๋๋ถ๋ถ์, ์ด๋ฌํ ์ ๋์ ์์ธ๋ฅผ ๊ฒฐ์ฝ ์์ง ๋ชปํฉ๋๋ค. ๋๋ถ๋ถ์ ์์ฉ ๊ฐ๋ฐ์๋ค์ ์์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค(application programming interface, API)์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์ค๊ณํฉ๋๋ค. API๋ ๊ฐ ํจ์์ ์ ๋ฌ๋์ด์ผ ํ ๋งค๊ฐ๋ณ์๋ค๊ณผ ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ธฐ๋ํ ์ ์๋ ๋ฐํ ๊ฐ์ ํฌํจํ์ฌ ์์ฉ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ํจ์์ ์งํฉ์ ๋ช ์ํฉ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ฅ ํํ ์ธ ๊ฐ์ง API๋ Windows ์์คํ ์ ์ํ Windows API, POSIX ๊ธฐ๋ฐ ์์คํ ์ ์ํ POSIX API(๊ฑฐ์ ๋ชจ๋ ๋ฒ์ ์ UNIX, Linux, ๋ฐ Mac OS X๋ฅผ ํฌํจํฉ๋๋ค)์ Java ๊ฐ์ ๊ธฐ๊ณ์์ ์คํ๋ ์ ์๋ ๋ชจ๋ ํ๋ก๊ทธ๋จ์ ์ํ Java API์ ๋๋ค. ํ๋ก๊ทธ๋๋จธ๋ ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ์ฝ๋์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํ์ฌ API๋ฅผ ํ์ฉํฉ๋๋ค. UNIX์ Linux ์์คํ ์์ C์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ์ํด์ ์ ๊ณต๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ libc๋ผ๊ณ ๋ถ๋ฆฝ๋๋ค. ๋ชจ๋ ์ด์์ฒด์ ๋ ๊ณ ์ ์ ์์คํ ์ฝ ์ด๋ฆ์ ๊ฐ์ง๋๋ค.
API๋ฅผ ๊ตฌ์ฑํ๋ ํจ์๋ค์ ํต์ ์์ฉ ํ๋ก๊ทธ๋๋จธ๋ฅผ ๋์ ํ์ฌ ์ค์ ์์คํ ์ฝ์ ํธ์ถํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด Windows ํจ์ CreateProcess()(๋น์ฐํ๊ฒ ์๋ก์ด ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค)๋ ์ค์ ๋ก Windows ์ปค๋์ NTCreateProcess() ์์คํ ์ฝ์ ๋ถ๋ฆ ๋๋ค.
์ ์์ฉ ํ๋ก๊ทธ๋๋จธ๋ ์ค์ ์์คํ ์ฝ์ ๋ถ๋ฅด๋ ๊ฒ๋ณด๋ค API์ ๋ฐ๋ผ ํ๋ก๊ทธ๋ฐ์ ํ๋ ๊ฒ์ ์ ํธํ ๊น์? ๊ทธ๋ ๊ฒ ํ๋ ๋ฐ์๋ ๋ช ๊ฐ์ง ์ด์ ๊ฐ ์์ต๋๋ค. ํ ๊ฐ์ง ์ด์ ์ ํ๋ก๊ทธ๋จ์ ํธํ์ฑ๊ณผ ๊ด๋ จ ์์ต๋๋ค. API์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๋ ์์ฉ ํ๋ก๊ทธ๋๋จธ๋ ์์ ์ ํ๋ก๊ทธ๋จ์ด ๊ฐ์ API๋ฅผ ์ง์ํ๋ ์ด๋ ์์คํ ์์๊ฑด ์ปดํ์ผ๋๊ณ ์คํ๋๋ค๋ ๊ฒ์ ๊ธฐ๋ํ ์ ์์ต๋๋ค(ํ์ค์ ์ผ๋ก๋ ์ปดํจํฐ ๊ตฌ์กฐ์ ์ฐจ์ด ๋๋ฌธ์ ๋ณด์ด๋ ๊ฒ๋ณด๋ค ์ฝ์ง๋ ์์ต๋๋ค). ๊ฒ๋ค๊ฐ ์ค์ ์์คํ ์ฝ์ ์ข ์ข ์ข ๋ ์์ธํ ๋ช ์ธ๊ฐ ํ์ํ๊ณ ํ๋ก๊ทธ๋จ์์์ ์์ ํ๊ธฐ๊ฐ ์์ฉ ํ๋ก๊ทธ๋๋จธ์๊ฒ ๊ฐ์ฉํ API๋ณด๋ค ๋ ์ด๋ ต์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ APIํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ๊ณผ ์ปค๋๊ณผ ๊ด๋ จ๋ ์์คํ ์ฝ์ ํธ์ถํ๋ ๊ฒ์๋ ๊ฐํ ์๊ด๊ด๊ณ๊ฐ ์กด์ฌํฉ๋๋ค. ์ฌ์ค ๋๋ถ๋ถ์ POSIX์ Windows API๋ UNIX, Linux ๋ฐ Windows ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ๊ณ ์ ์ ์์คํ ์ฝ๊ณผ ์ ์ฌํฉ๋๋ค.
์์คํ ์ฝ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์์ด ์ค์ํ ๋ ๋ค๋ฅธ ์์๋ ์คํ์๊ฐ ํ๊ฒฝ(RTE)์ ๋๋ค. ์ปดํ์ผ๋ฌ ๋๋ ์ธํฐํ๋ฆฌํฐ๋ฅผ ํฌํจํ์ฌ ํน์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์์ฑ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ์ ์ฒด ์ํํธ์จ์ด ์ ํ๊ตฐ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ๋ก๋์ ๊ฐ์ ๋ค๋ฅธ ์ํํธ์จ์ด๋ฅผ ํจ๊ป ๊ฐ๋ฆฌํต๋๋ค. RTE๋ ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ์์คํ ์ฝ์ ๋ํ ์ฐ๊ฒฐ๊ณ ๋ฆฌ ์ญํ ์ ํ๋ ์์คํ ์ฝ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ์์คํ ์ฝ ์ธํฐํ์ด์ค๋ APIํจ์์ ํธ์ถ์ ๊ฐ๋ก์ฑ์ด ํ์ํ ์ด์์ฒด์ ์์คํ ์ฝ์ ๋ถ๋ฆ ๋๋ค. ํต์ ๊ฐ ์์คํ ์ฝ์๋ ๋ฒํธ๊ฐ ํ ๋น๋๊ณ ์์คํ ์ฝ ์ธํฐํ์ด์ค๋ ์ด ๋ฒํธ์ ๋ฐ๋ผ ์์ธ๋๋ ํ ์ด๋ธ์ ์ ์งํฉ๋๋ค. ์์คํ ์ฝ ์ธํฐํ์ด์ค๋ ์๋ํ๋ ์์คํ ์ฝ์ ๋ถ๋ฅด๊ณ ์์คํ ์ฝ์ ์ํํ ๋ฐํ ๊ฐ์ ๋๋ ค์ค๋๋ค.
ํธ์ถ์๋ ์์คํ ์ฝ์ด ์ด๋ป๊ฒ ๊ตฌํ๋๊ณ ์คํ ์ค ๋ฌด์จ ์์ ์ ํ๋์ง ์๋ฌด๊ฒ๋ ์ ํ์๊ฐ ์์ต๋๋ค. ํธ์ถ์๋ ๋จ์ง API๋ฅผ ์ค์ํ๊ณ ์์คํ ์ฝ์ ๊ฒฐ๊ณผ๋ก์จ ์ด์์ฒด์ ๊ฐ ๋ฌด์์ ํ ๊ฒ์ธ์ง๋ง ์ดํดํ๋ฉด ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด์์ฒด์ ์ธํฐํ์ด์ค์ ๋ํ ๋๋ถ๋ถ์ ์์ธํ ๋ด์ฉ์ API์ ์ํด ํ๋ก๊ทธ๋๋จธ๋ก๋ถํฐ ์จ๊ฒจ์ง๊ณ RTE์ ์ํด ๊ด๋ฆฌ๋ฉ๋๋ค. API, ์์คํ ์ฝ, ์ด์์ฒด์ ์ ๊ด๊ณ๊ฐ ์๋ ์ด๋ฏธ์ง์ ๋ํ๋ ์์ต๋๋ค. ์๋ ๊ทธ๋ฆผ์ ์ฌ์ฉ์ ์์ฉ์ด open() ์์คํ ์ฝ์ ๋ถ๋ ์ ๋ ์ด์์ฒด์ ๊ฐ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ๋์ง๋ฅผ ์ค๋ช ํ๊ณ ์์ต๋๋ค.
์์คํ ์ฝ์ ์ฌ์ฉ๋๋ ์ปดํจํฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฐ์ํฉ๋๋ค. ์ข ์ข , ๋จ์ํ ์ํ๋ ์์คํ ์ฝ์ด ๋ฌด์์ธ์ง๋ณด๋ค ๋ ๋ง์ ์ ๋ณด๊ฐ ์๊ตฌ๋ ์๋ ์์ต๋๋ค. ํ์ํ ์ ๋ณด์ ์ ํ๊ณผ ์์ ํน์ ์ด์์ฒด์ ์ ํธ์ถ์ ๋ฐ๋ผ ๋ค์ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ ๋ ฅ์ ๋ฐ์๋ค์ด๊ธฐ ์ํด, ์ ๋ ฅ์(source)์ผ๋ก ์ฌ์ฉ๋ ํ์ผ์ด๋ ์ฅ์น์ ํจ๊ป ์ฝ์ด ๋ค์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋ฉ๋ชจ๋ฆฌ ๋ฒํผ์ ์ฃผ์์ ๊ธธ์ด๋ฅผ ๋ช ์ํ ํ์๊ฐ ์์ต๋๋ค. ๋ฌผ๋ก ์ฅ์น๋ ํ์ผ ๊ทธ๋ฆฌ๊ณ ๊ธธ์ด๋ ์์คํ ์ฝ์ ์๋ฌต์ (Implicit) ์ผ ์ ์์ต๋๋ค.
์ด์์ฒด์ ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด์ ์ธ ๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ ์ง์คํฐ ๋ด์ ์ ๋ฌํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ค ๊ฒฝ์ฐ๋ ๋ ์ง์คํฐ๋ณด๋ค ๋ ๋ง์ ๋งค๊ฐ๋ณ์๊ฐ ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ์ ๋งค๊ฐ๋ณ์๋ ๋ฉ๋ชจ๋ฆฌ ๋ด์ ๋ธ๋ก์ด๋ ํ ์ด๋ธ์ ์ ์ฅ๋๊ณ , ๋ธ๋ก์ ์ฃผ์๊ฐ ๋ ์ง์คํฐ ๋ด์ ๋งค๊ฐ๋ณ์๋ก ์๋์ ์ด๋ฏธ์ง์ ๊ฐ์ด ์ ๋ฌ๋ฉ๋๋ค.
Linux๋ ์ด๋ฌํ ์ ๊ทผ๋ฒ์ ์กฐํฉํ์ฌ ์ฌ์ฉํฉ๋๋ค. 5๊ฐ ์ดํ์ ๋งค๊ฐ๋ณ์๊ฐ ์์ผ๋ฉด ๋ ์ง์คํฐ๊ฐ ์ฌ์ฉ๋๊ณ , ๋งค๊ฐ๋ณ์์ ๊ฐ์๊ฐ 5๊ฐ๋ฅผ ๋์ผ๋ฉด ๋ธ๋ก ๋ฐฉ๋ฒ์ด ์ฌ์ฉ๋ฉ๋๋ค. ๋งค๊ฐ๋ณ์๋ ํ๋ก๊ทธ๋จ์ ์ํด ์คํ์ push ๋ ์ ์๊ณ , ์ด์์ฒด์ ์ ์ํด pop ๋ ์๋ ์์ต๋๋ค. ์ผ๋ถ ์ด์์ฒด์ ๋ ๋ธ๋ก์ด๋ ์คํ ๋ฐฉ๋ฒ์ ์ ํธํ๋๋ฐ, ์ด๋ค ์ ๊ทผ๋ฒ์ ์ ๋ฌ๋๋ ๋งค๊ฐ๋ณ์๋ค์ ๊ฐ์๋ ๊ธธ์ด๋ฅผ ์ ํํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
(3) ์์คํ ์ฝ์ ์ ํ(Types of Systems Calls)
์์คํ ์ฝ์ ๋ค์ฏ ๊ฐ์ง์ ์ค์ํ ๋ฒ์ฃผ, ์ฆ ํ๋ก์ธ์ค ์ ์ด, ํ์ผ ์กฐ์, ์ฅ์น ์กฐ์, ์ ๋ณด ์ ์ง ๋ณด์์ ํต์ ๊ณผ ๋ณดํธ ๋ฑ์ผ๋ก ๋ฌถ์ ์ ์์ต๋๋ค.
'ComputerScience ๐ > ์ด์์ฒด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[OS] ํ๋ก์ธ์ค ๊ฐ ํต์ (Interprocess Communication, IPC) (0) | 2022.02.10 |
---|---|
[OS] ํ๋ก์ธ์ค์ ๊ฐ๋ (Process Concept) (0) | 2022.02.08 |
[OS] macOS, iOS ์ Android ์ด์์ฒด์ (0) | 2022.02.06 |
[OS] ์ฌ์ฉ์์ ์ด์์ฒด์ ์ธํฐํ์ด์ค(User and Operating-System Interface) (0) | 2022.02.03 |
[OS] ๋ถ์ฐ์์คํ (Distributed Systems) ์๋ก (0) | 2022.02.02 |
[OS] ๊ฐ์ํ(Virtualization) ์๋ก (0) | 2022.02.02 |
๋๊ธ