1969 유닉스 켄 톰슨 · 데니스 리치 (벨 연구소)
│ 1973년 C 언어로 재작성 → 이식성 확보
├──────────────┬──────────────┐
▼ ▼ ▼
BSD 계열 System V 계열 (영향만 받음)
FreeBSD AIX │
OpenBSD HP-UX │
macOS Solaris │
│
1983 GNU 프로젝트 리처드 스톨먼 │ 도구는 완성, 커널(HURD)이 미완성
│ │
1987 MINIX 타넨바움 │ 교육용 — 리누스를 자극
│ │
1991 리눅스 커널 리누스 토르발스 ◄┘
│
└──► GNU + 리눅스 커널 = GNU/Linux → 배포판들
인물 한 일 연도 켄 톰슨 유닉스 개발 1969 데니스 리치 C 언어 개발, 유닉스 재작성 1972~1973 리처드 스톨먼 GNU 프로젝트 시작, FSF 설립, GPL 작성 1983 / 1985 / 1989 앤드루 타넨바움 MINIX 개발 1987 리누스 토르발스 리눅스 커널 개발 1991
인물만이 아니라 연도 순서 를 묻는 문항도 있다. 사건을 한 줄로 세우면 이렇다.
연도 사건 한 줄 의미 1969 유닉스 개발 시작 멀틱스의 복잡함을 버리고 작게 다시 1973 유닉스를 C로 재작성 이식성 확보 1977 BSD 배포 시작 유닉스가 두 갈래로 1983 GNU 프로젝트 시작 · System V 출시 자유 소프트웨어 운동의 출발 1985 FSF 설립 GNU를 뒷받침하는 재단 1987 MINIX 발표 교육용 마이크로커널 OS 1989 GPL 발표 카피레프트의 법적 장치 1991 리눅스 커널 0.01 공개 GNU에 없던 커널의 등장 1992 리눅스 커널이 GPL 채택 전 세계 개발자 참여의 계기 1994 리눅스 커널 1.0 첫 정식 버전 1998 OSI 설립 '오픈소스'라는 말의 등장
GNU(1983)가 리눅스 커널(1991)보다 먼저 다. "리눅스가 나온 뒤 GNU가 도구를 만들었다"는 식의 순서 뒤집기 보기가 흔하다.
FSF(1985)와 OSI(1998) 는 13년 차이다. 자유 소프트웨어가 먼저, 오픈소스가 나중이다.
묻는 것 답 커널의 5대 임무 프로세스 · 메모리 · 파일 시스템 · 장치 · 네트워크 관리 응용 프로그램이 커널에 요청하는 통로 시스템 콜 리눅스 커널의 구조 모놀리식 + 적재 가능 모듈(LKM) 모듈 목록 보기 / 올리기 / 내리기 lsmod / modprobe / rmmod여러 사람이 동시에 쓰는 성질 다중 사용자 여러 프로그램을 동시에 돌리는 성질 다중 작업 모니터 하나로 여러 로그인 화면 가상 콘솔 메모리가 모자랄 때 디스크를 빌려 쓰는 것 가상 메모리(스왑)
철학: 작은 프로그램 · 서로 연결(파이프) · 텍스트가 공통 언어 · 모든 것은 파일 .
표준은 "누가, 무엇을 맞추려고"로 가른다.
표준 한 줄 POSIX IEEE가 만든 유닉스 계열 인터페이스 표준 SUS "UNIX" 상표 인증 기준(오픈 그룹) LSB 리눅스 배포판 사이 의 호환 표준FHS 디렉터리 구조 표준
구분 A B 가르는 기준 커널 vs 셸 커널 — 하드웨어 제어 셸 — 명령 해석 하드웨어를 직접 만지는가 모놀리식 vs 마이크로커널 리눅스, 유닉스 MINIX, Mach 기능이 커널 안에 다 있는가 BSD vs System V FreeBSD, macOS AIX, HP-UX, Solaris 버클리인가 AT&T인가 자유 소프트웨어 vs 오픈소스 FSF, 윤리 강조 OSI, 실용 강조 강조점 (코드 목록은 거의 같다)카피레프트 vs 퍼미시브 GPL, LGPL, AGPL BSD, MIT, Apache 파생물도 공개해야 하는가 GPL vs LGPL 링크해도 공개 링크만 하면 면제 라이브러리 예외가 있는가 RPM vs DEB 레드햇·수세 데비안·우분투 형식만으로는 부족 → 고수준 도구로 Fedora vs RHEL 실험장, 짧은 주기 상용, 장기 지원 검증 전인가 후인가
라이선스는 "고쳐서 배포할 때 소스를 내놓아야 하는가" 하나로 줄을 세울 수 있다.
강도 라이선스 공개 범위 가장 강함 AGPL 배포하지 않고 네트워크 서비스만 해도 공개 강함 GPL 배포하면 결합물 전체 공개 약함 LGPL 라이브러리를 고친 부분만. 링크한 내 코드는 면제 약함 MPL 고친 파일 만없음 BSD · MIT · Apache 공개 의무 없음. 저작권 표시만(Apache는 특허 조항 포함)
가격·소스 공개로 가르는 이름도 함께 정리한다 — 프리웨어 (무료, 소스 비공개) / 셰어웨어 (체험 후 유료) / 퍼블릭 도메인 (저작권 없음) / 자유·오픈소스 (소스 공개, 라이선스 조건 준수).
배포판은 계열 → 형식 → 도구 → 식구 순으로 떠올린다.
계열 형식 저수준 · 고수준 식구 레드햇 .rpmrpm · yum/dnfFedora, RHEL, CentOS, Rocky, Alma 데비안 .debdpkg · aptDebian, Ubuntu, Mint, Kali 수세 .rpmrpm · zypperSLES, openSUSE (YaST) 그 밖 제각각 pacman / emerge / pkgtool아치 / 젠투 / 슬랙웨어
흐름 한 줄: Fedora → CentOS Stream → RHEL → Rocky·Alma , Debian → Ubuntu → Mint .
시험은 한 문장의 옳고 그름을 가르는 힘을 요구한다. 아래 문장을 읽고 먼저 스스로 판정한 뒤 오른쪽을 확인한다.
문장 판정 이유 셸은 하드웨어를 직접 제어한다 ✗ 제어는 커널, 셸은 해석만 리눅스 커널은 마이크로커널 구조다 ✗ 모놀리식이다. 마이크로커널은 MINIX 유닉스는 처음부터 C 언어로 작성됐다 ✗ 어셈블리로 시작해 1973년에 C로 다시 썼다 C 언어는 데니스 리치가 만들었다 ○ 켄 톰슨과 혼동 주의 GNU 프로젝트는 커널을 완성하지 못했다 ○ HURD가 늦어졌다 Solaris는 BSD 계열이다 ✗ System V 계열이다 GPL 소프트웨어는 돈을 받고 팔 수 없다 ✗ 팔 수 있다. 소스를 줘야 할 뿐 프리웨어는 자유 소프트웨어의 한 종류다 ✗ 무료일 뿐 수정·재배포 자유가 없다 LGPL 라이브러리를 링크만 한 프로그램은 소스를 공개하지 않아도 된다 ○ 라이브러리 예외 openSUSE는 RPM 패키지를 쓴다 ○ 그래도 레드햇 계열은 아니다 Fedora는 RHEL을 다시 빌드한 배포판이다 ✗ 순서가 반대. 재빌드판은 Rocky·Alma uname -r로 배포판 이름을 알 수 있다✗ 커널 버전만 나온다. /etc/os-release를 본다
"자유 소프트웨어 = 무료" → 아니다. 유료 판매도 가능하다. 자유는 가격이 아니라 권리다.
"RPM이면 레드햇" → 수세도 RPM을 쓴다. zypper를 보고 가려야 한다.
"리눅스는 유닉스의 한 종류" → 코드를 물려받지 않았다. 동작 방식만 본뜬 유닉스 계열(Unix-like) 이다.
"GNU가 리눅스를 만들었다" → GNU는 도구를, 리누스는 커널을 만들었다. 둘이 합쳐진 것이다.
"커널 버전 짝수=안정" → 2.6 이전의 옛 규칙이다. 지금은 무관하지만 시험엔 나온다.
"안드로이드는 리눅스 배포판" → 커널만 공유하고 GNU 도구를 쓰지 않는다.
명령 하는 일 uname -a커널 이름·버전·아키텍처 전부 uname -r커널 버전만 cat /proc/version커널이 보고하는 상세 정보 echo $SHELL현재 로그인 셸 cat /etc/*-release배포판 이름과 버전
다음 주는 이 운영체제를 실제로 설치하는 이야기다 — 설치 유형, 파티션, 파일 시스템, 부트 매니저를 다룬다.
유닉스 계열(Unix-like) : 유닉스의 코드를 물려받진 않았지만 동작 방식과 명령 체계가 유닉스를 닮은 운영체제.
이식성 : 다른 기종에서도 큰 수정 없이 동작하게 만드는 성질. 유닉스가 C로 재작성된 이유다.
적재 가능 커널 모듈(LKM) : 실행 중에 커널에 붙였다 뗄 수 있는 기능 조각.
전염성(Viral) : GPL 코드를 쓴 결과물도 GPL로 공개해야 하는 성질.
고정 릴리스 : 정해진 주기로 새 버전을 내는 배포 방식.
롤링 릴리스 : 버전 구분 없이 계속 갱신하는 배포 방식.
📝 연습 문제 선택지를 클릭하면 정답·해설이 펼쳐집니다.
다음 중 리눅스 커널을 처음 개발한 인물과 연도의 연결로 알맞은 것은?
A 켄 톰슨 — 1969년 B 리처드 스톨먼 — 1983년 C 리누스 토르발스 — 1991년 D 앤드루 타넨바움 — 1987년 다음 중 리눅스와 유닉스의 관계에 대한 설명으로 가장 알맞은 것은?
A 리눅스는 유닉스의 소스 코드를 그대로 물려받은 파생 버전이다 B 리눅스는 유닉스와 무관하게 만들어진 완전히 다른 체계다 C 리눅스는 유닉스의 코드가 아니라 동작 방식을 본뜬 유닉스 계열이다 D 리눅스는 유닉스를 개발한 벨 연구소가 직접 만든 후속작이다 다음 중 GNU 프로젝트와 리눅스 커널의 관계를 가장 정확히 설명한 것은?
A GNU가 커널을 만들고 리누스가 도구를 만들었다 B GNU는 도구를 완성했으나 커널이 없었고, 그 자리를 리눅스 커널이 채웠다 C 리눅스 커널은 GNU 프로젝트의 공식 커널인 HURD를 개량한 것이다 D 두 프로젝트는 서로 경쟁 관계라 결합된 적이 없다 다음 중 카피레프트(copyleft) 성격의 라이선스로만 묶인 것은?
A BSD, MIT B MIT, Apache C GPL, LGPL D BSD, Apache 다음 중 배포판과 계열의 연결로 알맞지 않은 것은?
A openSUSE — 데비안 계열 B Rocky Linux — 레드햇 계열 C Ubuntu — 데비안 계열 D AlmaLinux — 레드햇 계열 다음 중 현재 시스템에 설치된 배포판의 이름과 버전을 확인하는 방법으로 가장 알맞은 것은?
A uname -rB cat /proc/cpuinfoC echo $SHELLD cat /etc/*-release