리눅스 소개
리눅스는 유닉스 계열의 운영체제 중 하나이다. 리눅스의 발전은 인터넷 성장에 큰 영향을 미쳤으며 개발 모델은 오픈소스 운동의 상징적 사례가 되었다. 이 장에서는 리눅스의 특징, 오픈소스 라이선스, 다양한 리눅스 배포판에 관해 학습한다.
유닉스와 리눅스
리눅스는 다중 사용자, 다중 작업을 지원하는 유닉스 계열 운영체제이다. 유닉스 소스코드를 사용하지 않은 최초의 독립적 커널을 이용하여 개발한 운영체제이다. GNU 정신에 따라 누구에게나 자유롭게 배포될 수 있기 때문에 현재까지 전 세계의 수많은 프로그래머에 의해 지속적으로 발전되어 오고 있으며 자유/오픈 소프트웨어의 개발과 배포 모델에서 상징적 사례가 되었다.
유닉스의 등장과 발전
Multics 운영체제는 시분할 운영체제의 효시라고 할 수 있는데 AT&T 벨 연구소가 1969년 Multics 프로젝트에서 손을 뗀 후 톰슨과 리치는 Multics 운영체제보다 우수하면서 향상된 소프트웨어 개발 환경을 제공하는 운영체제의 개발을 시작하였다.
PDP-7마이크로컴퓨터를 위한 작고 심플한 운영체제가 어셈블리 언어로 개발되자 Multics와 비교하기 위해 이름을 Unics로 작명하고 후에 Unix로 이름을 바꾸었다.
유닉스 이식성을 높이기 위해 데니스 리치가 B언어 토대로 C언어를 개발하였다. 1973년에 유닉스 시스템의 대부분이 C언어를 사용하여 다시 작성되었다. 이것이 UNIX V5이다.
AT&T는 교육을 목적으로 UNIX V6을 소스코드와 함께 거의 무상으로 제공하였고 그 결과 여러 버전의 유닉스가 만들어질 수 있었는데 그중 최초의 중요한 유닉스 변형은 버클리 대학에서 개발한 BSD 버전이다.
유닉스에 익숙해진 학생들이 기업에 진출하였으므로 기업도 유닉스를 도입해야 하는 상황이 전개되었고, 무상으로 공급된 관계로 대학에서 개발된 소프트웨어도 모두 공개되었기 때문에 유용한 소프트웨어가 대량 공급되고 유용한 사용환경이 강화되어 유닉스는 더욱 발전하게 된다.
BSD는 자유롭고 공개된 방식으로 계속 발전하였고, AT&T는 유닉스의 상용화를 모색하여 발전하여 System V에 이르게 된다. 유닉스는 BSD, System V 계열로 분류되고, System V 계열은 주로 상업적인 목적을 가진 업체가 제공하는 것으로 IBM AIX, HP-UX, Sun Microsystems Solaris 등이 해당한다. BSD 계열로는 FreeBSD, OpenBSD, NetBSD, SunOS, Mac OS X, GNU/Linux 등이 속한다. 유닉스 이름은 AT&T가 상표권을 가지고 있어 유닉스 계열의 운영체제에 여러 이름이 등장한다.
Linux의 등장
1980년대 후반 버클리 대학의 BSD 개발자들은 수정과 보완을 넘ㅇ, 유닉스 소스코드의 대부분을 다시 작성하여 Net/1, Net/2란 이름의 완전한 운영체제로 배포하였으나 AT&T는 유닉스 코드의 복제와 영업비밀의 도용이라는 명목으로 소송을 하였다. 이 사건은 오픈소스 커뮤니티를 위축시켜 사람들은 다른 대안을 찾기 시작한다.
MIT 연구원 리처드 스톨만은 자유소프트웨어재단의 프로젝트의 하나로 GNU 프로젝트를 시작한다. 이는 소프트웨어의 상업화에 반대하고 소스코드의 공유의 자유로운 사용과 배포를 주장한 운동이다.
1991년 헬싱키 대학에 리누스 토르발스는 자신만의 커널에 관해 연구를 수행한다. 교육용 유닉스인 "앤디 타넨바움" 교수의 미닉스를 배우고 사용하면서 자신의 386 PC에서 작동하는 유닉스와 유사하면서 더 나은 운영체제를 만들려고 했다. 토르발스는 개발 초기에 386 보호 모드에서 작업 전환에 대한 내용을 어셈블리 언어로 코딩하였고, 개발이 진행되면서 C 언어로 프로그래밍하여 개발을 가속화하였다. 1991년 유즈넷 뉴스그룹에 리눅스 커널 첫 번째 버전의 개발을 알리고, 같은 해 9월 중순에 커널 0.01 버전을 완성하였다. 이후 많은 사람들의 의견과 노력으로 리눅스 개발에 공하게 되고, 리눅스 커널은 GNU 운영체제의 커널로 도입도어 완전한 운영체제가 완성되었다.
리눅스는 유닉스의 표준을 준수하여 호환성을 제공한다. 실제로 리누스가 발표한 리눅스는 리눅스 커널만을 의미한다. 운영체제에서 필요한 프로그램들은 초기에 GNU 프로젝트의 결과물인 자유소프트웨어들로 채워졌다.
레드햇, 데비안, 칼데라와 같은 회사에서는 유용한 프로그램들과 환경을 지원하는 리눅스 배포판을 개발하였다.
턱스(Tux)
턱스는 리눅스의 공식 마스코트이다. 통통한 펭귄의 모습을 하고 있으며, 1996년 래리 유잉이 만들었다. 리눅스의 마스코트를 펭귄으로 삼자는 아이디어는 리눅스 커널의 작성자 리누스 토르발스에게서 나왔다.
