CertNote/ 출퇴근 학습 노트
로드맵
KOEN
리눅스마스터 2급 · 2급리눅스마스터 2급
  • Week 1
    • 1.운영체제와 커널: 리눅스가 하는 일
    • 2.리눅스의 탄생: 유닉스에서 리누스까지
    • 3.자유 소프트웨어와 오픈소스: 라이선스가 정하는 것
    • 4.배포판: 커널과 도구를 하나로 묶어 파는 단위
    • 5.Week 1 종합 복습: 리눅스라는 이름의 정체
  • Week 2
  • Week 3
  • Week 4
  • Week 5
  • Week 6
  • Week 7
  • Week 8
  • Week 9
  • Week 10
  • Week 11
리눅스마스터 1급 · 1급리눅스마스터 1급
합격 후기

© CertNote · 주간랩스

  • 소개
  • 수정 기록
  • 문의
  • 이용약관
  • 개인정보처리방침
← 리눅스마스터 2급/Week 1/Day 2

기준: 리눅스마스터 2급 출제 기준·오류 제보

리눅스마스터 2급· AssociateWeek 1 · Day 2읽기 약 10분
핵심 정리
  • 유닉스는 1969년 벨 연구소에서 켄 톰슨·데니스 리치가 만들었고, 1973년 C 언어로 다시 작성되면서 이식성을 얻었다.
  • 유닉스는 BSD 계열(버클리)과 System V 계열(AT&T)로 갈라졌다.
  • GNU 프로젝트(1983, 리처드 스톨먼) 는 자유로운 유닉스 호환 OS를 목표로 도구를 다 만들었지만 커널(HURD)이 미완성이었다.
  • 리눅스 커널(1991, 리누스 토르발스) 은 MINIX에 자극받아 시작됐고, GNU 도구와 결합해 완성된 OS가 됐다.
  • POSIX는 유닉스 계열이 서로 호환되도록 만든 표준 규격이다.

Day 2 - 리눅스의 탄생: 유닉스에서 리누스까지

유닉스: 모든 것의 출발점

연도사건
1969벨 연구소에서 켄 톰슨이 유닉스 개발 시작
1971초기 유닉스 — 어셈블리로 작성
1973데니스 리치가 만든 C 언어로 유닉스를 다시 작성
1977버클리 대학에서 BSD 배포 시작
1983AT&T의 System V 출시
  • C로 다시 쓴 것이 결정적이었다. 어셈블리는 CPU마다 다시 짜야 하지만, C는 컴파일만 다시 하면 다른 기계에서도 돌아간다.
  • 이 성질을 이식성(portability) 이라 부르고, 유닉스가 퍼진 가장 큰 이유다.

두 갈래로 나뉜 유닉스

구분BSD 계열System V 계열
출신캘리포니아 버클리 대학AT&T 벨 연구소
성격학술·연구 중심, 자유로운 배포상용 중심
후손FreeBSD, OpenBSD, NetBSD, macOSAIX, HP-UX, Solaris
부팅 스크립트/etc/rc.d 방식/etc/rc.d/init.d + 런레벨
  • 리눅스는 어느 한쪽의 후손이 아니다. 유닉스 코드를 물려받지 않고 처음부터 새로 만든 커널이다.
  • 다만 동작 방식과 명령 체계는 유닉스를 본떴다. 그래서 "유닉스 계열(Unix-like)"이라고 부른다.

유닉스 이전: 멀틱스에서 얻은 교훈

  • 1960년대 MIT·제너럴 일렉트릭(GE)·벨 연구소는 멀틱스(Multics) 라는 거대한 시분할 운영체제를 함께 만들고 있었다.
  • 지나치게 크고 복잡해 진척이 더뎠고, 벨 연구소는 1969년 이 프로젝트에서 손을 뗐다.
  • 거기 참여했던 켄 톰슨이 남는 소형 컴퓨터 PDP-7에서 "작고 단순하게" 다시 만든 것이 유닉스다.
  • 이름부터가 Multics의 Multi(여럿)를 Uni(하나)로 비튼 말장난이다. 복잡함에 대한 반성이 이름에 들어 있다.

유닉스 철학

검정내용에 '철학'이 명시돼 있다. 유닉스가 남긴 설계 원칙은 리눅스 명령 체계에 그대로 살아 있다.

원칙리눅스에서 보이는 모습
한 가지 일만 잘하는 작은 프로그램ls는 목록만, sort는 정렬만, wc는 세기만 한다
프로그램끼리 이어 붙인다파이프(|)로 한 명령의 출력을 다음 명령의 입력으로 넘긴다
텍스트가 공통 언어명령의 입출력도, /etc 아래 설정 파일도 사람이 읽는 텍스트다
모든 것은 파일디스크·터미널 같은 장치도 /dev 아래의 파일로 다룬다
who | wc -l          # 로그인한 사용자 목록(who)을 줄 수 세기(wc -l)로 넘긴다
ls /etc | grep release   # /etc 목록에서 release 가 들어간 이름만 고른다
$ who | wc -l
3
$ ls /etc | grep release
lsb-release
os-release
  • "현재 접속자 수를 알려주는 명령"을 따로 만들지 않았다. 작은 도구 둘을 이으면 되기 때문이다. 이것이 유닉스 철학의 요체다.

💡 개념: 유닉스의 특징으로 시험에 나오는 낱말은 대화형 시스템 · 다중 사용자 · 다중 작업 · 높은 이식성 · 계층적 파일 시스템이다. 어제 본 리눅스의 특징과 거의 겹치는 것은 리눅스가 유닉스를 본떴기 때문이다.

리눅스에 남은 두 갈래의 흔적

리눅스는 어느 쪽 후손도 아니지만 양쪽 관습을 모두 받아들였다. 프로세스 목록을 보는 ps 명령이 대표적이다.

쓰는 법유래특징
ps auxBSD 방식옵션 앞에 -를 붙이지 않는다
ps -efSystem V 방식옵션 앞에 -를 붙인다
  • 두 명령 모두 "전체 프로세스 보기"다. 리눅스의 ps는 두 표기를 다 알아듣는다.
  • 부팅 방식은 전통적으로 System V의 런레벨을 따랐다(다음 주 부팅에서 다룬다).

GNU 프로젝트: 커널만 없었다

1983년 리처드 스톨먼(Richard Stallman) 이 시작했다.

  • 목표: 누구나 자유롭게 쓰고 고칠 수 있는 유닉스 호환 운영체제를 만드는 것이다.
  • 이름은 "GNU is Not Unix" 의 재귀 약자다.
  • 1985년 자유 소프트웨어 재단(FSF) 설립, 1989년 GPL 발표.

GNU는 1990년대 초까지 운영체제에 필요한 거의 모든 것을 완성했다.

  • 컴파일러 GCC, 셸 bash, 편집기 Emacs, 핵심 명령 모음 coreutils(ls cp mv …)
  • 딱 하나, 커널만 없었다. GNU의 커널인 HURD는 개발이 지지부진했다.

리눅스 커널: 학생의 취미 프로젝트

  • 1991년, 핀란드 헬싱키 대학의 리누스 토르발스(Linus Torvalds) 가 시작했다.
  • 계기는 MINIX — 앤드루 타넨바움 교수가 교육용으로 만든 작은 유닉스 계열 OS다. 기능이 제한적이라 직접 만들기로 했다.
  • 1991년 9월 버전 0.01 공개, 이듬해 GPL로 라이선스를 바꾸면서 전 세계 개발자가 몰려들었다.
  • 마스코트는 펭귄 턱스(Tux).

도구만 있던 GNU 와 커널만 있던 리눅스가 만나 GNU/Linux 가 되는 과정

이 그림 하나가 "왜 GNU/Linux 라고 부르는가"에 대한 답이다.

리눅스 커널 연표

시기사건
1991년 8월리누스가 MINIX 뉴스그룹(comp.os.minix)에 "취미로 운영체제를 만들고 있다"고 알림
1991년 9월버전 0.01 공개
1991년 10월버전 0.02 — 뉴스그룹에 공식 발표한 첫 버전
1992년라이선스를 GPL로 변경
1994년 3월버전 1.0 발표
1996년버전 2.0 발표 — CPU 여러 개를 쓰는 SMP 지원. 마스코트 턱스 등장
2003년 12월버전 2.6 발표 — 짝·홀수 버전 규칙이 사라진 기점
2011년버전 3.0 발표
  • 시험이 묻는 숫자는 대개 1991(첫 공개) 과 1994(1.0) 다.
  • 처음 공개할 때는 상업적 배포를 금지하는 자체 라이선스였다. GPL로 바꾼 뒤에야 기업과 배포판이 참여할 수 있게 됐다.

📚 사례: 1992년 타넨바움은 뉴스그룹에 "리눅스는 구식이다"라는 글을 올렸다. 요지는 모놀리식 커널은 낡은 설계이고 마이크로커널이 옳다는 것. 리누스는 실용성과 성능을 들어 반박했다. 어제 배운 "리눅스=모놀리식, MINIX=마이크로커널" 구분이 바로 이 논쟁의 양쪽이다.

POSIX: 서로 통하게 만드는 표준

  • POSIX(Portable Operating System Interface) 는 IEEE가 만든 유닉스 계열 운영체제의 인터페이스 표준이다.
  • 목적: 어느 유닉스 계열에서 짠 프로그램이든 다른 유닉스 계열에서도 돌아가게 하는 것.
  • 시스템 콜, 명령어, 셸의 동작 방식 등을 규정한다.
  • 리눅스는 POSIX를 거의 따르지만 공식 인증을 받지는 않았다.

POSIX 말고도 이름이 비슷한 표준이 함께 보기로 나온다. 누가 무엇을 맞추려는 표준인지로 가른다.

표준만든 곳맞추려는 것
POSIXIEEE (IEEE 1003)유닉스 계열 OS의 프로그래밍 인터페이스 — 시스템 콜·명령·셸
SUS (Single UNIX Specification)오픈 그룹(The Open Group)"UNIX"라는 상표를 쓸 수 있는 조건
LSB (Linux Standard Base)리눅스 재단리눅스 배포판끼리의 호환
FHS (Filesystem Hierarchy Standard)리눅스 재단/bin /etc /var 같은 디렉터리 구조
  • "UNIX"는 지금 오픈 그룹이 가진 등록 상표다. 인증을 통과한 제품만 UNIX라고 부를 수 있다.
  • 리눅스가 "유닉스"가 아니라 "유닉스 계열"인 이유가 두 가지인 셈이다 — 코드를 물려받지 않았고, 상표 인증도 받지 않았다.

자주 틀리는 지점

  1. "유닉스는 처음부터 C로 만들어졌다" → 처음엔 어셈블리였다. 1973년에 C로 다시 썼다.
  2. "C 언어를 만든 사람은 켄 톰슨" → 데니스 리치다. 켄 톰슨은 유닉스 개발을 시작한 사람이다.
  3. "리눅스는 MINIX를 고쳐 만든 것" → MINIX는 계기였을 뿐이고 코드는 새로 썼다.
  4. "GNU는 커널을 만들지 않았다" → 만들려 했다. HURD가 그것이고, 완성이 늦어졌을 뿐이다.
  5. "BSD는 AT&T가 만든 상용 유닉스" → BSD는 버클리 대학, AT&T가 만든 것은 System V다.
  6. "POSIX는 라이선스다" → 표준 규격이다. 라이선스는 GPL·BSD 같은 것들이다.

한눈에 보는 계보

이름연도만든 사람성격
유닉스1969켄 톰슨, 데니스 리치원조
BSD1977버클리 대학유닉스 분파
GNU1983리처드 스톨먼자유 소프트웨어 도구 모음
MINIX1987앤드루 타넨바움교육용 유닉스 계열
리눅스 커널1991리누스 토르발스자유로운 커널

내일은 이 흐름을 떠받친 생각 — 자유 소프트웨어와 오픈소스 라이선스를 다룬다.

📖 용어

  • 유닉스(UNIX) : 1969년 벨 연구소에서 만든 운영체제. 리눅스를 포함한 수많은 OS의 원형.
  • 이식성(Portability) : 프로그램을 다른 기계에서도 큰 수정 없이 돌릴 수 있는 성질.
  • BSD : 버클리 대학에서 발전시킨 유닉스 계열. FreeBSD·macOS의 뿌리다.
  • System V : AT&T가 만든 상용 유닉스 계열. AIX·Solaris가 여기 속한다.
  • GNU : "GNU is Not Unix"의 재귀 약자. 자유로운 유닉스 호환 OS를 목표로 한 프로젝트.
  • HURD : GNU가 만들려 했던 커널. 완성이 늦어져 리눅스 커널이 그 자리를 대신했다.
  • MINIX : 타넨바움이 만든 교육용 유닉스 계열 OS. 리눅스 개발의 계기가 됐다.
  • POSIX : 유닉스 계열 운영체제 사이의 호환을 위한 IEEE 표준 규격.
  • 턱스(Tux) : 리눅스의 펭귄 마스코트.

📝 연습 문제

선택지를 클릭하면 정답·해설이 펼쳐집니다.

문제 1

다음 중 유닉스가 널리 퍼질 수 있었던 가장 큰 이유로 알맞은 것은?

문제 2

다음 중 GNU 프로젝트에 대한 설명으로 알맞지 않은 것은?

문제 3

다음 중 리눅스 커널 개발의 직접적인 계기가 된 운영체제로 알맞은 것은?

문제 4

다음 중 System V 계열 유닉스에 해당하는 것으로 알맞은 것은?

문제 5

다음 중 POSIX에 대한 설명으로 가장 알맞은 것은?

이전운영체제와 커널: 리눅스가 하는 일Week 1 · Day 1다음 자유 소프트웨어와 오픈소스: 라이선스가 정하는 것Week 1 · Day 3

참고 공식 자료

  • 리눅스마스터 2급 공식 출제 기준(새 탭에서 열림)

이 페이지

  • 유닉스: 모든 것의 출발점
  • 두 갈래로 나뉜 유닉스
  • 유닉스 이전: 멀틱스에서 얻은 교훈
  • 유닉스 철학
  • 리눅스에 남은 두 갈래의 흔적
  • GNU 프로젝트: 커널만 없었다
  • 리눅스 커널: 학생의 취미 프로젝트
  • 리눅스 커널 연표
  • POSIX: 서로 통하게 만드는 표준
  • 자주 틀리는 지점
  • 한눈에 보는 계보
  • 용어
  • 연습 문제