[OS] Linux 소개
1. UNIX
범용적으로 다용 사용자 방식의 시분할 운영체제의 시초다. UNIX는 AT&T Bell Lab에서 Dennis Ritche (C언어를 개발) 등 개발자들이 개발했다.
초기 UNIX는 상업적으로 판매될 수 없어 source code와 함께 Berkeley Univ.에서 무상 제공하여 BSD (Berkeley Software Distribution) 계열로 발전했으며, AT&T UNIX는 System V 계열로 발전한다. Solaris, HP-UX, AIX, SCO Unix 등 다양한 변종들이 있다.
UNIX는 상업용과 교육용 등 많은 버전으로 발전이 되면서 변종이 생겨서 표준화의 필요성을 깨닫고 Portable Operating System Interface + X (POSIX) 를 통해 표준화한다.
UNIX는 interface는 동일하지만 내부 구현이 다르다.
위 그림을 보면 빨간색은 상업용, 초록색은 교육용 버전의 UNIX다. 실제 교육용 UNIX 중 파생된 것 중 하나가 Linux다.
2. Linux
Linux의 뜻은 Linux Is Not Unix의 뜻으로 재귀적인 뜻을 가지고 있다.
우선 Richard Stallman이라는 사람은 Gnu’s Not Unix (GNU) project와 Free Software Foundation (FSF)의 설립자다. Emacs, GDB, GCC등을 개발했다. 이 사람은 Copy Left 를 주장하면서 지식과 정보는 소수가 독점해선 안되며 모든 사람에게 열려야 한다고 주장했다. 이 사람이 있기 때문에 위키피디아 등에서 우리는 쉽게 정보들을 얻을 수 있게 된 영향력을 끼쳤다.
2.1 General Public License (GPL)
GNU의 라이센스를 뜻하는 말로, 모든 software는 무료이며 재판매 하는 것은 허용하나 소스코드를 공개해야 한다.
추가로 GCC, Emacs 등을 Linux에 포팅하였으며, BSD의 많은 많은 유용한 utility를 Linux에 포함하는 게기가 된다.
실제 Linux를 개발한 사람은 Linux Torvalds로, Linux kernel 최고 설계자로, Git 또한 이 사람이 개발했다.
3. 다양한 Distribution
Linux 기반의 다양한 운영체제들이 존재한다.
- RedHat
- Ubuntu: Android의 기초 운영체제
- Slackware
- Fedora
이렇게 많은 운영체제들이 존재하여도 kernel은 하나다.
Reference
- https://namu.wiki/w/UNIX?from=Unix