Linux๋ ๊ฐ์ธ์ฉ๋ฟ๋ง ์๋๋ผ ์๋ฒ์ฉ์ผ๋ก ์ฌ์ฉ๋๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์คํ์์ค(๋ฌด๋ฃ) ์ด์์ฒด์ ๋ก์จ ์ ๋ฌธ๊ฐ์ ์ธ ์ธํฐ๋ท ์๋น์ค, ๊ฐ๋ฐ ๋๊ตฌ, ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ฉฐ ๊ธฐ๋ณธ์ ์ธ ์คํผ์ค ๊ณ์ด๋ก๋ถํฐ ๋ฉํฐ๋ฏธ๋์ด๊น์ง ๊ด๋ฒ์ํ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ง์ํด์ค๋ค.
Linux๋ Windows๋ Macintosh๊ณผ ๋ค๋ฅด๊ฒ GUI(Graphic User Interface) ๋ฐ์คํฌํ์ผ๋ก GNOME๊ณผ KDE๋ฅผ ๋ชจ๋ ์ง์ํ๋๋ฐ ๋ ์ค์ ํ๋๋ฅผ ์ ํํด์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ ํ๋ฌ, ์ ํ๋ฆฟ, ๊ฐ์ ๋ฐ์คํฌํ, ๊ทธ๋ฆฌ๊ณ ๋ฉ๋ด ๋ฑ์ ์ฌ์ฉ์ ์์๋ก ์ง์ ํด์ ์ฌ์ฉํ ์ ์๋ค. Free Software Foundation์ ์ํด ํนํ๋ GNU(GNUs Not UNIX)์ GNU GPL(GNU Public License)์ ์ํด์ ์ฌ์ฉ์, ํ๋ก๊ทธ๋๋จธ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ์๋ค์๊ฒ ๋ฌด๋ฃ๋ก ์ํํธ์จ์ด๋ฅผ ์ ๊ณตํ๊ณ ์์ด์ Linux ์ฌ์ฉ์๋ ํ์คํ๋ ์ํํธ์จ์ด๋ฅผ ์ ๋ฃ๋ก ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ์ ๋นํ๊ฒ ๊ฐ๊ฒฉ์ ์ง๋ถํ๊ณ ์ฌ์ฉํ๋ ์
์ด๋ค.
Linux๊ฐ ๋ฌด๋ฃ๋ผ์ ์ ๋ฃ ์ด์์ฒด์ ๋ณด๋ค ์ด๋ฑํ๋ค๊ณ ์๊ฐํ ์๋ ์์ง๋ง Linux๋ ๊ธฐ์ ์ ์ผ๋ก ๊ฑฐ์ ์๋ฒฝํ ์ด์์์คํ
์ด๋ค. Linux ์ด์์ฒด์ ์์์ ํต์ฌ์ ์ธ ๊ธฐ๋ฅ์ด ์ปค๋(Kernel)์ธ๋ฐ ์ค์ง ํ ๊ฐ์ง ๊ณต์์ ์ธ ์ปค๋๋ง ์กด์ฌํ๋ค. Linux๋ PC(Personal Computer)์ด์ UNIX ์๋ฒ(Server)์ด๋ฉด์ ๋๋ฉ์ธ ํธ์คํธ์ธ ์ํฌ์คํ
์ด์
(Workstation)์ด ๋ ์ ์๋ค. IT์ ์ข
์ฌํ๋ ๋ง์ ๊ธฐ์ ์๋ค์ Linux๊ฐ Windows ์์คํ
๋ณด๋ค ํนํ ๋คํธ์ํฌ์์ ๋ ์์ ์ ์ด๊ณ ๊ฐ๋ ฅํ๋ค๊ณ ๋งํ๋ค.
Linux
Linux๋ฅผ ์ข ๋ ์ดํดํ๊ธฐ ์ํด์๋ ์ฝ๊ฐ ์ง๋ฃจํ์ง๋ง UNIX์ ๊ฐ๋ฐ๊ณผ์ ์ ์กฐ๊ธ ์์๋ ํ์๊ฐ ์๋ค. ๋ค๋ฅธ ์ด์์ฒด์ ์ ๋ฌ๋ฆฌ UNIX๋ ์ฐ๊ตฌ์ ํ๋ฌธ์ ์ธ ๋ชฉ์ ์ธ ํ๊ฒฝ์์ ๊ฐ๋ฐ๋์๋ค. ์ง๋ ์์ญ ๋
๊ฐ ๋ํ๊ณผ ์ฐ๊ตฌ์, ๋ฐ์ดํฐ ์ผํฐ, ๊ทธ๋ฆฌ๊ณ ๊ธฐ์
์ฒด์์ UNIX๋ฅผ ์ฌ์ฉํ๊ณ ๋๋ถ๋ถ UNIX๋ฅผ ํตํด์ ์ปดํจํฐ์ ํต์ ๋ถ์ผ์์ ๋ฐ์ ์ ์ด๋ค๋๋ค. ์ธํฐ๋ท๊ณผ ๊ฐ์ ์ปดํจํฐ์ ์ ๊ธฐ์ ์ UNIX์์ ์คํ๋์๋ค. UNIX๋ ์ฒ์๋ถํฐ ๋น๋ก ๋ณต์กํ๊ธด ํ์ง๋ง ์ ์ฐํจ์ด ์์ด์ ์ฌ์ฉ์๋ค์ด ์ฝ๊ฒ ์์คํ
์ ์์ ํด์ ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก ๋ง๋ค ์ ์์๋ค. UNIX์ ์ด๋ฐ ๋ฉด์ผ๋ก ์ธํด์ IBM, Sun, HP, ๊ทธ๋ฆฌ๊ณ Apple๊ณผ ๊ฐ์ ๊ธฐ์
์ฒด์์ ์์ ๋ค๋ง์ UNIX ๋ฒ์ ์ ๊ฐ์ง ์ ์๊ฒ ๋์๊ณ , ๊ธฐ์๊ด์ธก์ด๋ ์ฐ์ฃผ์ฐ๊ตฌ ๋ฑ ํน์ ๋ชฉ์ ์ ์ํ ์ฐ๊ตฌ์์๋ ๊ทธ๋ฐ ๋ชฉ์ ์ ๋ง๋๋ก UNIX ์์คํ
์ ๋ณํํด์ ์ฐ๊ตฌ๋ฅผ ์ํํ ์ ์์๋ค. UNIX์ ์ด๋ฐ ํ๊ณ ๋ ์ ์ฐ์ฑ์ ์ด๋ ๋ชฉ์ ์ ํ๊ฒฝ์๋ ์ ํฉํ ์ต์ ํ๋ ์์คํ
์ด ๋๋ฏ๋ก ์ฌ์ฉ์ฒ๊ฐ ๋ฌด๊ถ๋ฌด์งํ๋ค. ์ด๋ฐ UNIX์ ์์ฑ์ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ํ์ด๋ ์ด์์ฒด์ ๊ฐ ๋ฐ๋ก Linux์ด๋ค. ๋ฐ๋ผ์ Linux๋ UNIX์ ๋ ๋ค๋ฅธ ๋ฒ์ ์ด๋ฉด์ PC์ ๋ ๋ค๋ฅธ ๋ฒ์ ์ด๋ค.
UNIX๋ AT&T Bell Lab์ Ken Thompson, Dennis Ritchie์ด 1969๋
์ ๊ฐ๋ฐํ๋ค๊ณ ๊ณต์์ ์ผ๋ก ๋์ด ์์ง๋ง ์๋ UNIX๋ ์ฐ๊ตฌ๋ฅผ ์ํ ์์คํ
๊ฐ๋ฐ์์ ์์๋์๊ธฐ ๋๋ฌธ์ ์ค์ ์ด์์ฒด์ ์ค๊ณ์ ๋ง์ ๊ฐ๋ฐ์๋ค์ด ํจ๊ปํ์๋ค. AT&T Bell Lab๋ฟ๋ง ์๋๋ผ General Electric, MIT์ MULTICS ์์ง๋์ด๋ค์ ํ์กฐ๋ฅผ ๋ฐ์์ ์ฌ๋ฌ ์ํฉ์๋ ์ต์ ์ ์ ์ฐ์ฑ์ ๊ฐ์ง๋ ์์คํ
์ ์ฃผ์ ๊ฐ๋ฐ๋ชฉํ๋ก ๋์์๋ค. ํ๋์จ์ด์ ํจ์จ์ฑ๋ณด๋ค ๋ณด๋ค ํ๋์จ์ด์ ์ ์ฐ์ฑ์ด ๋์ฑ ์ค์ํ ์ด์์๊ธฐ ๋๋ฌธ์ UNIX์ ๊ฐ์ ๋ถ๋ฅ์ Linux๋ ์ฌ๋ฌ ์ฌ์ฉ์๋ค์ด ์ง๋ฉดํ ์ ์๋ ๋ค์ํ ์ํฉ์ ๋ง๊ฒ๋ ์ ์ฐ์ฑ์ด ํฌ๋ค.
UNIX
AT&T Bell Lab์ ์ฃผ๋๋ก ์ฌ๋ฌ ์ฐ๊ตฌ์์ ๋ํ์์ ์ฐ๊ตฌ๊ฐ๋ฐ์ ์ํ ๋ชฉ์ ์ผ๋ก ๋ค์ค ์ฌ์ฉ์(multi-users)์ ๋ค์ค ์์
(multi-tasks)์ด ๊ฐ๋ฅํ ์ด์์์คํ
์ผ๋ก UNIX์ ํจ์๊ฐ ๋๋ Minicomputer๋ฅผ ๋ง๋ค์๋ค. ์ด ์์คํ
์ ๊ณง ๋ํ์ด๋ ๊ธฐ์
์ฒด ๋ฑ ์ฐ๊ตฌ๊ฐ๋ค ์ฌ์ด์์ ์ ์ฉ๋๊ธฐ ์์ํ๊ณ 1973๋
์ Dennis Ritchie๋ Ken Thompson๊ณผ C ์ธ์ด๋ก UNIX ์ด์์ฒด์ ๋ฅผ ๋ค์ ์จ์ ์ด์์ฒด์ ๋ก์จ์ ๋ฉด๋ชจ๋ฅผ ๊ฐ์ถ๊ฒ ๋์์ผ๋ฉฐ IBM, Novell ๋ฑ๊ณผ ๊ฐ์ ๊ฑฐ๋ ๋ฒค๋๋ค์ ํธ๊ฐ์ ์๋ค. ์ด๊ธฐ์ UNIX๋ ์ฌ๋ฌ ๋ํ๊ณผ ์ฐ๊ตฌ๋จ์ฒด์ ๋ฌด๋ฃ๋ก ์ ๊ณต๋์๋๋ฐ ๊ทธ์ค Berkeley ๋ํ์์ ๋์ค์ ์ธํฐ๋ท์ ํ์ค์ด ๋๋ ๋ง์ ํน์ฑ์ ์ด ์์คํ
์ ์ฒจ๊ฐํด์ 1975๋
์ BSD(Berkeley Software Distribution)์ด๋ผ๋ ๋ฐฐํฌํ์ ๋ง๋ค์๋ค.
์ด BSD UNIX ๋ฒ์ ์ ๊ณง ์ค๋ฆฌ์ง๋ AT&T Bell Lab UNIX์ ์ค์ํ ๊ฒฝ์์๊ฐ ๋์๋ค. 1983๋
์ AT&T Bell Lab์์ ๋ช ๊ฐ์ง ํน์ฑ์ ๋ํด ์ต์ด์ ์์
์ฉ UNIX ๋ฒ์ ์ธ System 3์ ๋ฐํํ๊ณ , ๋๋ฅผ ๋ง์ถฐ BSD UNIX๋ ๋ช ๊ฐ์ง ๋ฒ์ ์ ๋ด๋์ ๋ค DARPA(Department of Defense's Advanced Research Projects Agency)์์ BSD๋ฅผ ๊ธฐ๋ณธ ์์คํ
์ผ๋ก ์ฑํํ๋ฉด์ BSD release 4.2๋ฅผ ๋ฐํํ๋๋ฐ ์ฌ๊ธฐ์ ์ค์ํ ํ์ผ ๊ด๋ฆฌ์ ์ธํฐ๋ท ํ๋กํ ์ฝ ๋ฑ ๋คํธ์ํน์ ๊ธฐ๋ณธ ๊ฐ๋
๋ค์ด ํ์ฌ๋์ด์์๋ค. ์ด BSD release 4.2๋ ๋๋จํ ํธํ์ ๋ฐ๊ณ Sun Microsystems์ ๊ฐ์ ๋ฒค๋์ ์ํด ๋์ฑ ์์ ๋์ด ์ ํํ๋์๋ค. 1980๋
๋ ์ค๋ฐ UNIX ์ธ๊ณ์์๋ ๋ ๊ฐ์ ํ์คํ๊ฐ ์งํ๋์๋๋ฐ ํ๋๋ AT&T ๋ฒ์ ์ด๊ณ ๋ค๋ฅธ ํ๋๋ BSD ๋ฒ์ ์ด์๋ค. ์ด์ด์ AT&T๋ System-V release 4๋ฅผ ๋ง๋ค์๊ณ , IBM์ด๋ HP ๋ฑ๊ณผ ๊ฐ์ ๋ฒค๋๋ค์ BSD์ ์์ก๊ณ OSF (Open Software Foundation)์ ์ค๋ฆฝํด์ ์์ ๋ค๋ง์ UNIX ๋ฒ์ ์ ๋ง๋ค์๋ค.
ํ์ฌ๋ ์ด๋ค์ ์์
์ฉ ๋ฒ์ ์ธ OSF์ ์์กฐ AT&T์ System-V release 4๊ฐ ์์ฅ์์ ๋๋ฆฝํ๊ณ ์๋ค. Oracle SUN์ Solaris, HP์ HP-UX, ๊ทธ๋ฆฌ๊ณ IBM์ AIX๋ฅผ 3๋ ์์ฉ UNIX๋ก ๋ถ๋ฅด๊ณ , Free BSD๊ฐ ๋ฌด๋ฃ UNIX์ด๋ค.
Linux
Helsinki ๋ํ์ ์ปดํจํฐ ํ๋์๋ Linus Torvalds๊ฐ Intel ๊ธฐ๋ฐ PC ์์คํ
์์ Minix๋ผ๋ ํ๋ก๊ทธ๋จ์ ๊ตฌ๋ํ๊ธฐ ์ํด์ ์ฐ๊ตฌ๋ฅผ ํ๋๋ฐ Minix๋ Andrew Tanenbaum ๊ต์๊ฐ ๋ง๋ค์ด์ ์ธํฐ๋ท์ ํตํด์ ์ ์ธ๊ณ์ ์ผ๋ก ๋ฐฐํฌํ UNIX ๊ณ์ด์ ์ด์์ฒด์ ํ๋ก๊ทธ๋จ์ด๋ค. Linus์ ๊ด์ฌ์ Minix ์ฌ์ฉ์๋ฅผ ์ํ PC ๊ธฐ๋ฐ UNIX๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก UNIX์ ๋ค๋ฅธ ๋ฒ์ ์ผ๋ก ์์คํ
์ ๋ฐ์ ์์ผ ๋์๊ฐ๋ ์ฐ๊ตฌ๋ฅผ ์งํํ๋ค. ๋๋์ด 1991๋
์ Linux version 0.11์ ๋ฐํํ๊ณ ์ด ์์คํ
์ ์์ค๊ฐ ์ธํฐ๋ท์ ํตํด์ ๊ธ์๋๋ก ํผ์ ธ ๋๊ฐ๋ค. ๋ค์ํด์๋ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋จธ๋ค์ด ํ์ฌ์ ํ์ค UNIX์ ๋ค์ด์๋ ๋๋ถ๋ถ์ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํน์ฑ๋ค์ Linux์ ์ถ๊ฐํด์ ์ด์์ฒด์ ์์คํ
์ผ๋ก์จ์ ๋ฉด๋ชจ๋ฅผ ๊ฐ์ถ๊ฒ ํ๋๋ฐ ์ฌ๊ธฐ์๋ GUI๋ฅผ ๊ด๋ฆฌํ๋ ์ฐฝ ๋งค๋์ (window manager)์ FTP, Web ๋ธ๋ผ์ฐ์ , ๊ทธ๋ฆฌ๊ณ email, domain name, DHCP์ ๊ฐ์ ๋คํธ์ํฌ ์๋น์ค ๋๊ตฌ๋ค๊ณผ C++ ์ปดํ์ผ๋ฌ๋ ๋๋ฒ๊ฑฐ ๋ฑ ๊ฐ๋ฐ๋๊ตฌ๋ค์ด ํจ๊ป ํ์ฌ๋๊ฒ ๋์๋ค. ์ด๋ฐ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์์๋ Linux ์ด์์ฒด์ ๋ ๊ฐ๋ณ๊ณ , ์์ ์ ์ด๋ฉฐ, ๋น ๋ฅด๋ค. Linux๋ ์ปค๋๋ง ์กฐ์ ํ๋ฉด ์์ ์ ํ๋กํผ ๋์คํฌ 1.44MB์ HDD, 1MB์ RAM์ ๋ฃ์ด์ ธ์ ์คํ๋ ์๋ ์๋ค!
๋น๋ก Linux๊ฐ ๋ฌด๋ฃ๋ก ์ธํฐ๋ท์ ํตํด์ ๊ฐ๋ฐ๋๊ณ ์๊ณ , ์ง๋ ์์ญ ๋
๊ฐ ๋ค์ํ Linux ๋ฒ์ (์ด๋ฅผ flavors๋ก ๋ถ๋ฆ)๋ค์ด ๋๋ฌดํ์ง๋ง ์ฌ์ ํ Linux๊ฐ ๊ณต์ UNIX ํ์ค์ ์งํฌ ์ ์๋ ์ด์ ๋ ๋ฐ๋ก ๊ตญ์ ์ ์ธ IEEE(Institute of Electrical and Electronics Engineers)์์ ๊ถ๊ณ ํ๋ ANSI(American National Standards Institute)๊ฐ ์ ์ ํ UNIX ํ์ค ๋ชจ๋ ๊ท์ฝ์ธ POSIX (Portable Operating System Interface X[ํ์ง์ค๋ก ๋ฐ์])๋ฅผ Linux๊ฐ ๊ณ์ ๋ฐ๋ฅด๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด POSIX ํ์ค์ UNIX/Linux์ ๊ฐ์ ์์คํ
๋ค์ด ๊ณตํต API ๋ชจ๋์ ํตํด์ ์ด๋ป๊ฒ ์ํธ ์์คํ
ํธ์ถ๊ณผ ์ธํฐํ์ด์ค ์ฐ๊ฒฐ์ด ์ด๋ค์ ธ์ผ ํ๋์ง์ ๊ฐ์ ์ธ๋ถ์ฌํญ์ ๊ท์ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ๋ฐ๋ฅด๋ Linux๋ UNIX์ ํ์ค์ ๊ทธ๋๋ก ์ง๋๊ณ ์๋ค. ํ์ฌ ๋๋ถ๋ถ UNIX์ Linux๋ POSIX ํธํ(POSIX-compatible)์ด๋ค.
Linux๋ ์ฒ์๋ถํฐ ์ด POSIX ํ์ค์ ๋ฐ๋ผ์ ๊ฐ๋ฐ๋์๊ณ Linux ํ์ผ๊ตฌ์กฐ๋ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ง์ ํ๋ FHS(Filesystem Hierarchy Standard) ํ์ผ์์คํ
์ ๊ณ ์ํ๊ณ ์๋ค. ํ์ฌ Linux ๊ฐ๋ฐ์ Free Standards Group๊ณผ OSDL(Open Source Development Labs)๊ฐ ํฉ์ณ์ง Linux Foundation์์ ์กฐ์ ํ๊ณ ์๊ณ , Linus Torvalds๋ ๋ค๋ฅธ ๊ทธ๋ฃน๊ณผ ํจ๊ป ์๋ก์ด Linux ๋ฒ์ ์ ๊ฐ๋
ํ๋ ์ผ์ ํ๊ณ ์๋ค. ์ปค๋์ kernel.org์์ ํ์ธํ ์ ์๋ค.
cf. ์์ผ๋ก ๋์๊ฐ ๋ฐฉํฅ
C++
.NET
VisualBasic
Python
Cotlin
DOS