์ด์์ฒด์ ์ ๋ํด ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์
๋๋ค.
์ด์์ฒด์ (OS, Operating System)๋ ์ปดํจํฐ ํ๋์จ์ด์ ์ฌ์ฉ์ ๊ฐ์ ์ธํฐํ์ด์ค๋ก ๊ธฐ๋ฅํ๋ ์ํํธ์จ์ด์ ๋๋ค. ์ปดํจํฐ ์์คํ ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ํํธ์จ์ด๋ก์, ์์คํ ๋ฆฌ์์ค ๊ด๋ฆฌ, ํ์ผ ๊ด๋ฆฌ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ ๊ณต, ๊ทธ๋ฆฌ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ฐ ํ์ํ ๊ธฐ๋ณธ์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ด์์ฒด์ ์ ๊ธฐ๋ฅ๊ณผ ์ญํ
- ๋ฆฌ์์ค ๊ด๋ฆฌ: ์ด์์ฒด์ ์ ๊ฐ์ฅ ์ค์ํ ๊ธฐ๋ฅ ์ค ํ๋๋ ์ปดํจํฐ ๋ฆฌ์์ค(ํ๋์จ์ด)์ ๊ด๋ฆฌ์ ๋๋ค. ์ด๋ CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ๊ณต๊ฐ, ํ๋ฆฐํฐ ๋ฑ์ ์์์ ํจ์จ์ ์ผ๋ก ํ ๋นํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
- ํ์ผ ์์คํ ๊ด๋ฆฌ: ์ด์์ฒด์ ๋ ํ์ผ ์์คํ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ ๊ทผํฉ๋๋ค. ์ฌ์ฉ์์ ํ๋ก๊ทธ๋จ์ด ํ์ผ์ ์ฝ๊ฒ ์ ์ฅ, ์ฐพ๊ธฐ, ์ด๋, ๋ณต์ฌํ ์ ์๋๋ก ๊ด๋ฆฌํฉ๋๋ค.
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ ๊ณต: GUI(Graphical User Interface) ๋๋ CLI(Command Line Interface)๋ฅผ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ์ ์ํธ์์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
- ํ๋ก์ธ์ค ๊ด๋ฆฌ: ์ด์์ฒด์ ๋ ์คํ ์ค์ธ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ ๋ฉํฐํ์คํน, ํ๋ก์ธ์ค ์ฌ์ด์ ์ฐ์ ์์ ์ค์ , CPU ์๊ฐ ํ ๋น ๋ฑ์ ํฌํจํฉ๋๋ค.
- ๋คํธ์ํฌ ๊ด๋ฆฌ: ๋คํธ์ํฌ๋ฅผ ํตํ ๋ฐ์ดํฐ์ ๊ตํ๊ณผ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ฐ์ดํฐ ์ ์ก, ๋คํธ์ํฌ ๋ณด์ ๋ฐ ์ฐ๊ฒฐ ๊ด๋ฆฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
- ๋ณด์: ์ด์์ฒด์ ๋ ์์คํ ๋ณด์์ ์ ์งํ๋ ๋ฐ ํ์์ ์ธ ์ญํ ์ ํฉ๋๋ค. ์ด๋ ๋ฌด๋จ ์ ๊ทผ ๋ฐฉ์ง, ๋ฐ์ดํฐ ์ํธํ, ๋ฐ์ด๋ฌ์ค๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
๋ํ์ ์ธ ์ด์์ฒด์ ์์
- Windows: ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ฐ์ธ์ฉ ์ปดํจํฐ ์ด์์ฒด์ ์ค ํ๋์ ๋๋ค. ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค์ ๊ด๋ฒ์ํ ์์ฉ ํ๋ก๊ทธ๋จ ์ง์์ด ํน์ง์ ๋๋ค.
- macOS: Apple์ Mac ์ปดํจํฐ์์ ์ฌ์ฉ๋๋ ์ด์์ฒด์ ๋ก, ์์ ์ฑ๊ณผ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋์์ธ์ผ๋ก ์ ์๋ ค์ ธ ์์ต๋๋ค.
- Linux: ์คํ ์์ค ์ด์์ฒด์ ๋ก, ์๋ฒ์ ํด๋ผ์ฐ๋ ์ปดํจํ ํ๊ฒฝ์์ ๋๋ฆฌ ์ฌ์ฉ๋ฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์์คํ ์ ๋ง์ถค ์ค์ ํ ์ ์๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
- UNIX: ๋๊ท๋ชจ ์๋ฒ ์์คํ ๊ณผ ์ํฌ์คํ ์ด์ ์์ ์ฃผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์์ ์ฑ๊ณผ ๋ฉํฐ ์ฌ์ฉ์ ์ง์์ด ํน์ง์ ๋๋ค.
์ด์์ฒด์ ๋ ์ปดํจํฐ ํ๋์จ์ด์ ์ํํธ์จ์ด์ ๋ค๋ฆฌ ์ญํ ์ ํ๋ฉด์, ๋ชจ๋ ์ปดํจํ ํ๋์ ๊ธฐ์ด๋ฅผ ํ์ฑํฉ๋๋ค.
์ ์ด์์ฒด์ ์ค Linux์ ํน์ง์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
Linux์ ํน์ง
- ์คํ ์์ค: Linux๋ ์คํ ์์ค ์ด์์ฒด์ ์ ๋๋ค. ์ด๋ ์์ค ์ฝ๋๊ฐ ๊ณต๊ฐ๋์ด ์์ด ๋๊ตฌ๋ ์์ , ๋ฐฐํฌ, ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๋ก ์ธํด ์ฌ์ฉ์๋ ์์คํ ์ ์์ ์ ํ์์ ๋ง๊ฒ ๋ง์ถค ์ค์ ํ ์ ์์ต๋๋ค.
- ์ ์ฐ์ฑ๊ณผ ๋ง์ถคํ: Linux๋ ๋งค์ฐ ์ ์ฐํ๋ฉฐ, ์ฌ์ฉ์๊ฐ ์์คํ ์ ์์ ์ ์๊ตฌ์ ๋ง๊ฒ ๋ง์ถค ์ค์ ํ ์ ์์ต๋๋ค. ๋ค์ํ ๋ฐฐํฌํ์ด ์์ผ๋ฉฐ, ๊ฐ ๋ฐฐํฌํ์ ๋ค๋ฅธ ํ๊ฒฝ๊ณผ ์๊ตฌ ์ฌํญ์ ๋ง๊ฒ ์ค๊ณ๋์์ต๋๋ค.
- ๋ฌด๋ฃ ์ฌ์ฉ ๊ฐ๋ฅ: ๋๋ถ๋ถ์ Linux ๋ฐฐํฌํ์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๋น์ฉ ํจ์จ์ ์ธ ์ ํ์ ๊ฐ๋ฅํ๊ฒ ํ๋ฉฐ, ๊ฐ์ธ ์ฌ์ฉ์์ ๊ธฐ์ ๋ชจ๋์๊ฒ ๋งค๋ ฅ์ ์ ๋๋ค.
- ์ปค๋ฎค๋ํฐ ์ง์: ํ๋ฐํ ์ปค๋ฎค๋ํฐ์ ์ง์์ ์ธ ๊ฐ๋ฐ ๋๋ถ์ Linux๋ ์ง์๊ณผ ์ ๋ฐ์ดํธ๊ฐ ๋์์์ด ์ด๋ฃจ์ด์ง๋๋ค. ์ฌ์ฉ์๋ค์ ๋ค์ํ ํฌ๋ผ, ๋ฌธ์, ๊ทธ๋ฆฌ๊ณ ์จ๋ผ์ธ ์๋ฃ๋ฅผ ํตํด ๋์์ ๋ฐ์ ์ ์์ต๋๋ค.
- ๋ค์ํ ํ์ฉ ๊ฐ๋ฅ์ฑ: ์๋ฒ ์ด์, ํ๋ก๊ทธ๋๋ฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ Linux๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
์ด์์ฒด์ ์ ์๋ ๋ฐฉ์
์ด์์ฒด์ ๋ ์ฌ์ฉ์๊ฐ ์ด์ฉํ๋ ์์ฉํ๋ก๊ทธ๋จ์ด ์ ์ฌ๋๋ ์ฌ์ฉ์ ์์ญ ์ด์ธ์ ํน๋ณํ ์์ญ์์ ๊ด๋ฆฌํฉ๋๋ค.
์ด๋ฅผ ์ปค๋ ์ด๋ผ๊ณ ํ๋๋ฐ, ์ปดํจํฐ๊ฐ ๋ถํ ๋ ๋ ํญ์ ์ปค๋์ ๋ฐ๋ก ์ ์ฌ๋์ด ์คํ๋ฉ๋๋ค.
์ปค๋์ ์ฌ๋ผ์จ ์ด์์ฒด์ ๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ์์ฉํ๋ก๊ทธ๋จ๋ค์ ๋ก๋ํ๊ณ ๊ด๋ฆฌํ ์ค๋น๋ฅผ ํฉ๋๋ค.
๊ฐ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ผ๋ง๋ ํ ๋นํ ๊ฒ์ธ์ง cpu์์์ ์ผ๋ง๋ ํ ๋น ํด์ค ๊ฒ์ธ์ง ์ด๋ฅผ ๊ด๋ฆฌํ๊ณ ์ ์ดํฉ๋๋ค.
์ปค๋
์์์ ์ปค๋์ ๋ํด ์ด์ผ๊ธฐ ํ๋๋ฐ, ์ปค๋์ ํ๋์จ์ด์ ์ด์์ฒด์ ์ ํ๋ก์ธ์ค๋ฅผ ์๋ ์ธํฐํ์ด์ค ์ ๋๋ค.์ปค๋์ ์ด์์ฒด์ ๋ฅผ ํตํด์๋ง ์ ๊ทผ ํ ์ ์์ต๋๋ค. ํ๋์จ์ด๋ฅผ ์ ์ดํ๋๊ฑด ์ํ(?)ํ๊ณ ์๊ฒฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐ๋์ ์ด์์ฒด์ ๋ฅผ ํตํด ์ ๊ทผ ํ๋๋ก ๋๋ถ๋ถ์ ์ด์์ฒด์ ๊ฐ ์ด๋ฅผ ์ ํํ๊ณ ์์ต๋๋ค.
์ปค๋์๋ ์์ฉ์ฒด์ ์ ์ ๊ทผ์ ์ ์ดํ๊ธฐ ์ํ ๋๊ฐ์ง ๋ชจ๋๊ฐ ์์ต๋๋ค.
- ์ฌ์ฉ์๋ชจ๋
- ์ปค๋๋ชจ๋
์์ฒญ ์ข ๋ฅ์ ๋ฐ๋ผ ์ด ๋ชจ๋๊ฐ ๊ณ์ ๋ณํ์ง๋ง, ์ฐ์ ์ฌ์ฉ์ ๋ชจ๋๋ก ์ด์์ฒด์ ๊ฐ ๋๊ธฐํ๊ณ ์๋ค๊ณ ๊ฐ์ ํ๊ณ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
์์ฉ ์ํํธ ์จ์ด๊ฐ ํน์ ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋์ ๊ฐ์ ํ๋ฆ์ผ๋ก ์งํ๋ฉ๋๋ค.
- ์์ฉ ์ํํธ ์จ์ด์์ ํ๋์จ์ด ์ ์ด ์์ฒญ์ ๋ณด๋ ( Job1 )
- ์ฌ์ฉ์ ๋ชจ๋๋ก ๋๊ธฐํ๋ ์ด์์ฒด์ ์์ ์์ฒญ์ ๋ฐ์
- ์์คํ ์ฝ ๋ฐ์ ( System call )
- ์ปค๋ ๋ชจ๋๋ก ๋ณํ
- ์์ฒญ ์ฒ๋ฆฌ
- ์ ์ ๋ชจ๋๋ก ๋ณํ ( Job1 Waiting )
์ฒ๋ฆฌ๊ฐ ์๋ฃ๋๋ฉด ์ฌ์ฉ์ ๋ชจ๋์ ์๋ Job์ ๋ค์ Waiting ์ํ๋ก ๋ณํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ ํ๋ฆ๋๋ก ์์ ์ ์งํํ๋ ์ค ํค๋ณด๋ ํน์ ๋ง์ฐ์ค๊ฐ ๋๋ฆฌ๋ฉด ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ ๊น์?
ํค๋ณด๋, ๋ง์ฐ์ค๋ ํ๋์จ์ด ์ ์ด ๋ถ๋ถ์์๋ ์๋นํ ์ค์ํ ๋ถ๋ถ์ ๋๋ค.
๊ทธ๋์์ธ์ง ์ด์์ฒด์ ์๋ ์ธํฐ๋ฝํธ๋ผ๋ ์์คํ ์ฝ์ด ์กด์ฌํฉ๋๋ค.
ํ์ฌ ๋ฌด์จ ์์ ์ ์งํ์ค์ด๋์ง ํด๋น ์์ ์ ๋ฉ์ถ๊ณ ํค๋ณด๋, ๋ง์ฐ์ค ์ ๋ ฅ์ ์ ํ๋ฆ๋๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ๋ฉ์ถ๋ค๋ ๋๋์ด ๋ค์ง ์์๊น ๊ณ ๋ฏผ์ ํด๋ณด์์ต๋๋ค.
๋ต์ ๊ฐ๋จํ์ต๋๋ค.
"๋นจ๋ผ์"
๊ฑฐ์ถ์ฅ์ค๋ฌ์ด ์ด์ ๊ฐ ์๋๊ฒ ์๋์์ต๋๋ค.
๊ทธ๋ฅ ๋ง๋์๋๊ฒ ๋น ๋ฅธ ์๋๋ก ์ฒ๋ฆฌ๋๊ณ ์์ด์ ์ฌ์ฉ์๋ ๋ฉ์ท๋ค๋ ๋๋ ์กฐ์ฐจ ๋ฐ์ง ๋ชปํ๋ ๊ฒ ์ด์์ต๋๋ค.
๊ธ์ ์ฐ๋ ์ด ์๊ฐ์๋ ์ธํฐ๋ฝํธ ์์คํ ์ฝ์ ์ด์ ์์ด ๋ฐ์ํ๊ณ ์์ต๋๋ค.
๋ง์น๋ฉฐ
๊ทธ๋์ ๊ณต๋ถํ ๋ด์ฉ์ ๊ทธ ์๊ฐ์ ์ดํดํ๋ค๊ณ ์๊ฐํ๊ณ ๋๊ฒผ๋๋ฐ, ์ด๋ฅผ ๊ธ๋ก ์ ๋ฆฌํด๋ณด๋ ์๊ฐ๋ณด๋ค ๋จ์์๋๊ฒ ์๋ ๋๋ ์ด์์ต๋๋ค.
์์ผ๋ก ์ด๋ฐ ๋ด์ฉ์ ๋ค์ ๋จธ๋ฆฟ์์์ ๊บผ๋ด๋ ๊ณผ์ ์ ๊ฑฐ์ณ ์ค์ ๋ก ์ดํดํ๋์ง ๊ฒ์ฆํ๋ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ๊ฒ ์ต๋๋ค.
๋ํ ์กฐ๊ธ ๋ ์ฌ๋ ์๊ฒ ๊ณต๋ถํ์ฌ ๊ธฐ์ด๋ฅผ ํํํ ํ์ฌ์ผ ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ญ๋๋ค.
'๐ป Computer Science' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Spring (0) | 2024.04.05 |
---|---|
Call By Value & Call By Reference (0) | 2024.04.05 |