리눅스의 역사
쉽게 말하면
컴퓨터를 켜면 맨 먼저 돌아가며 모든 프로그램을 관리하는 바탕 프로그램을 운영체제라고 해요. 윈도우가 그 예예요. 1991년 핀란드 대학생 리누스가 운영체제의 가장 중요한 심장 부분(커널)을 직접 만들어 누구나 공짜로 쓰고 고칠 수 있게 공개했어요. 마침 다른 부품(명령어, 도구들)은 이미 '모두가 자유롭게 쓰는 프로그램'을 만들자던 GNU 프로젝트가 만들어 두어서, 둘을 합친 것이 지금의 리눅스예요.
시험용 정의
리눅스는 1991년 핀란드 헬싱키 대학생 리누스 토르발스가 미닉스(Minix)를 참고해 만든 유닉스 계열 운영체제 커널이다. GNU 프로젝트의 도구들과 결합해 완전한 운영체제가 되었고, GPL 라이선스로 공개되어 전 세계 개발자가 함께 발전시켰다.
비유로 이해하기
GNU가 차체·바퀴·핸들을 먼저 만들어 두었는데 엔진만 없던 상태에서, 리누스가 엔진(커널)을 만들어 끼운 것이다.
자세히
먼저, 등장하는 이름들
- 커널: 운영체제의 핵심. 하드웨어(CPU·메모리·디스크)를 직접 관리하고 프로그램들이 나눠 쓰게 한다
→ 리눅스와의 관계: 리누스 토르발스가 만든 것은 운영체제 전체가 아니라 이 커널이다 - 유닉스(UNIX): 1969년 AT&T 벨 연구소에서 만든 운영체제. 여러 사용자·여러 작업을 지원하고, 1973년 C 언어로 다시 써서 다른 컴퓨터로 옮기기 쉬워졌다. 하지만 AT&T 소유라 소스를 마음대로 고치거나 나눌 수 없었다
→ 리눅스와의 관계: 리눅스는 유닉스를 흉내 낸(유닉스 계열) 운영체제다. 유닉스 코드를 가져다 쓰지 않고 새로 만들었다 - GNU 프로젝트: 리처드 스톨먼이 1983년 시작한 프로젝트. 목표는 누구나 자유롭게 쓰고 고치고 나눌 수 있는 유닉스 같은 운영체제를 처음부터 새로 만드는 것. 이름은 "GNU's Not Unix"(GNU는 유닉스가 아니다)의 약자다. 컴파일러 GCC, 셸 Bash, 편집기 Emacs, 기본 명령어(coreutils) 등을 만들었지만, 커널(Hurd)은 끝내 완성하지 못했다
→ 리눅스와의 관계: 리눅스 커널 + GNU 도구 = 우리가 쓰는 리눅스 운영체제. 그래서 GNU 쪽은 GNU/Linux라고 부르자고 한다 - FSF (자유 소프트웨어 재단): Free Software Foundation. 스톨먼이 1985년 세운 비영리 단체로, GNU 프로젝트를 돈과 법률 면에서 뒷받침하고 자유 소프트웨어 운동을 이끈다. 자유 소프트웨어의 뜻(네 가지 자유)을 정하고 GPL 라이선스를 만들어 관리한다
→ 리눅스와의 관계: 리눅스 커널이 쓰는 GPL이 FSF 작품이다 - GPL: FSF가 만든 라이선스. 프로그램을 고쳐서 배포하면 그 소스도 같은 조건으로 공개해야 한다(카피레프트)
→ 리눅스와의 관계: 리눅스 커널은 1992년부터 GPL v2로 배포된다 - 미닉스(Minix): 앤드루 타넨바움 교수가 1987년 운영체제 수업용으로 만든 작은 유닉스 계열 운영체제. 소스가 교재에 실려 있었다
→ 리눅스와의 관계: 리누스가 미닉스를 쓰며 공부하다 자기 커널을 만들었다. 첫 발표도 미닉스 사용자 모임(comp.os.minix)에서 했다
왜 리눅스가 나왔나
1980년대 유닉스는 비싸고 소스를 마음대로 볼 수 없었다. 스톨먼은 이것이 사용자의 자유를 빼앗는다고 보고 GNU 프로젝트와 FSF를 만들어 자유로운 유닉스 대체품을 만들기 시작했다. 도구는 거의 다 갖췄지만 커널이 비어 있었고, 1991년 리누스가 만든 커널이 GPL로 공개되면서 그 빈자리를 채웠다. 누구나 소스를 받아 고칠 수 있었기에 전 세계 개발자가 참여해 빠르게 자랐다.
연표
| 연도 | 사건 |
|---|---|
| 1969 | 벨 연구소의 켄 톰프슨·데니스 리치가 유닉스 개발 (1973년 C 언어로 재작성) |
| 1983 | 리처드 스톨먼이 GNU 프로젝트 시작 (1985년 FSF 설립) |
| 1987 | 앤드루 타넨바움이 교육용 미닉스 발표 |
| 1989 | GPL(GNU General Public License) 1판 |
| 1991 | 리누스 토르발스가 리눅스 커널 0.01 공개 (0.02를 comp.os.minix 뉴스그룹에 발표) |
| 1992 | 리눅스 커널이 GPL 채택 |
| 1994 | 커널 1.0 발표 |
커널 버전 읽기
uname -r로 보는 6.8.0-45-generic은 주(major).부(minor).수정(patch) 번호에 배포판 빌드 정보가 붙은 것이다. 예전 2.x 시절에는 부 번호가 짝수면 안정판, 홀수면 개발판이었다(2.4 안정, 2.5 개발). 2.6 이후 이 규칙은 쓰이지 않는다. 최신 커널 소스는 kernel.org에서 받는다.
이름과 마스코트
리눅스의 마스코트는 펭귄 턱스(Tux)다. GNU 쪽에서는 GNU 도구 비중을 강조해 GNU/Linux라고 부르기를 권한다.
시험에 이렇게 나와요
- 리눅스 커널을 만든 사람 → 리누스 토르발스(1991), GNU·FSF → 리처드 스톨먼
- 리눅스가 참고한 교육용 OS → 미닉스, 커널 라이선스 → GPL
1차 출제기준 · 공개 기출 없음
확인 문제
Q1. 리누스 토르발스가 1991년에 처음 만든 것은 무엇일까?
- 유닉스
- Bash 셸
- GNU 프로젝트 전체
- 리눅스 커널
정답 보기
4번 리눅스 커널
리누스 토르발스는 커널을 만들었다. 컴파일러(GCC)·셸(Bash) 같은 도구는 리처드 스톨먼의 GNU 프로젝트가 먼저 만들어 두었고, 둘이 합쳐져 지금의 리눅스 운영체제(GNU/Linux)가 되었다. 유닉스는 1969년 벨 연구소 작품이다.
Q2. 리눅스 커널을 처음 개발한 사람은?
- 앤드루 타넨바움
- 리누스 토르발스
- 켄 톰프슨
- 리처드 스톨먼
정답 보기
2번 리누스 토르발스
스톨먼은 GNU·FSF, 톰프슨은 유닉스, 타넨바움은 미닉스.
Q3. 리눅스가 참고한 교육용 유닉스 계열 운영체제는?
- 솔라리스
- 미닉스
- 멀틱스
- BSD
정답 보기
2번 미닉스
미닉스(Minix)다. 앤드루 타넨바움이 교육용으로 만들었고, 리누스 토르발스가 이를 쓰다 리눅스를 만들었다.
Q4. 리눅스 커널에 적용된 라이선스는?
- GPL
- Apache
- BSD
- MIT
정답 보기
1번 GPL
GPL(버전 2)이다. 수정해 배포하면 소스도 같은 조건으로 공개해야 하는 카피레프트 라이선스다.
헷갈리기 쉬운 O·X
GNU 프로젝트는 리눅스 커널이 발표된 뒤에 시작되었다.
정답 보기
X GNU는 1983년, 리눅스는 1991년.
유닉스는 벨 연구소에서 개발되었다.
정답 보기
O 켄 톰프슨·데니스 리치, 1969년.
커널 2.x 시절 부 번호가 홀수이면 안정 버전이었다.
정답 보기
X 짝수 안정, 홀수 개발.