리눅스 개요
- 1. 리눅스 개요
- 2. 리눅스의 역사
- 3. 타 운영체제와의 비교
- 4. 리눅스의 핵심 설계 철학
- 5. 리눅스 커널의 목표와 역할 (Core Goal)
- 6. 리눅스의 심층적 특징 및 장단점
- 7. 엔지니어에게 리눅스가 특히 중요한 이유
- 8. 기타 중요한 용어
- 9. 왜 리눅스는 윈도우보다 서버 시장에서 더 인기가 많을까?
- 리눅스는 현대 컴퓨팅 환경에서 빼놓을 수 없는 핵심 운영체제(OS)
- 개발자와 데이터 엔지니어에게 리눅스는 단순한 도구가 아니라, 서비스가 구동되는 ‘바닥’과 같음
1. 리눅스 개요
- 1991년 리누스 토발즈(Linus Torvalds)가 개발한 유닉스(UNIX) 계열의 오픈소스 운영체제 커널
- 엄밀히 말하면 ‘리눅스’는 운영체제의 핵심인 커널만을 의미함
- 통상적으로는 커널에 다양한 GNU 소프트웨어와 응용 프로그램을 결합한 ‘리눅스 배포판(Ubuntu, CentOS, Debian 등)’을 통칭함
- 주요 목적 및 철학
- 오픈소스성
- 누구나 코드를 수정하고 배포할 수 있는 자유를 지향함
- 다중 사용자 및 다중 작업
- 여러 사용자가 동시에 접속하여 각기 다른 작업을 수행할 수 있는 안정적인 환경을 제공함
- 이식성
- 서버, PC, 임베디드 장비, 슈퍼컴퓨터 등 거의 모든 하드웨어에서 동작할 수 있도록 설계됨
- 서버, PC, 임베디드 장비, 슈퍼컴퓨터 등 거의 모든 하드웨어에서 동작할 수 있도록 설계됨
- 오픈소스성
- 리눅스의 중요성: 왜 개발자와 데이터 엔지니어는 리눅스를 배워야 하는가?
- 서버 시장의 지배력
- 전 세계 웹 서버의 90% 이상, 클라우드 인프라(AWS, Azure, GCP)의 대부분이 리눅스 기반
- 내가 짠 코드가 최종적으로 실행되는 환경이 리눅스이므로, 이를 모르면 배포와 트러블슈팅이 불가능 또는 매우 어려움
- 강력한 CLI(Command Line Interface)
- GUI가 없는 서버 환경에서 텍스트 기반 명령어로 시스템을 제어
- 이는 반복 작업을 자동화하고, 복잡한 데이터 처리를 파이프라인으로 연결하는 데 최적화됨
- 최근에는 서버 환경에서도 GUI를 지원하기도 하지만 아직 대부분의 서버 환경은 CLI 기반
- 데스크톱 용으로 사용하는 배포판의 경우에는 거의 모두가 GUI 기반
- GUI가 없는 서버 환경에서 텍스트 기반 명령어로 시스템을 제어
- 오픈소스 생태계와의 호환성
- Docker, Kubernetes(컨테이너), Kafka, Spark(데이터 엔지니어링), TensorFlow(AI) 등 현대 IT의 핵심 기술들은 리눅스 환경에서 가장 먼저 개발되고 최적화됨
- Docker, Kubernetes(컨테이너), Kafka, Spark(데이터 엔지니어링), TensorFlow(AI) 등 현대 IT의 핵심 기술들은 리눅스 환경에서 가장 먼저 개발되고 최적화됨
- 서버 시장의 지배력
- 활용 사례 (Use Cases)
- 엔터프라이즈 서버
- 웹 서버(Apache, Nginx), DB 서버(MySQL, PostgreSQL)의 표준 OS
- 데이터 엔지니어링 및 AI
- 대규모 분산 데이터 처리 클러스터 구축 및 모델 학습 환경
- 임베디드 및 IoT
- 라즈베리 파이부터 스마트 냉장고, 자동차 인포테인먼트 시스템까지 활용
- 슈퍼컴퓨팅
- 전 세계 상위 500대 슈퍼컴퓨터의 100%가 리눅스를 사용 중
- 안드로이드(Android)
- 구글의 안드로이드 OS 역시 리눅스 커널 기반
- 엔터프라이즈 서버
2. 리눅스의 역사
- 리눅스의 역사는 ‘자유로운 소프트웨어’를 향한 열망에서 시작됨
- 전체적인 역사는 UNIX(상용) 🡲 GNU(철학) 🡲 Linux Kernel(기술적 완성)의 흐름에 따라 이어짐
- 태동기 (1960~70년대)
- 벨 연구소에서 개발된 UNIX가 리눅스의 조상 격
- 강력했지만 유료화(상용화)되면서 소스 코드가 폐쇄됨
- 학계와 개발자들이 반발하며 자유로운 운영체제의 필요성을 느끼기 시작함
- GNU 프로젝트 (1983년) 🡲 자유 소프트웨어 철학의 확립과 기반 마련
- 리처드 스톨만(Richard Stallman)이 “소프트웨어는 공유되어야 한다”는 철학 아래 “모두가 자유롭게 쓰는 OS를 만들자”며 GNU 프로젝트를 시작함
- 컴파일러(GCC), 쉘(Bash) 등 OS에 필요한 핵심 도구들을 먼저 개발
- 그러나 운영체제의 핵심인 ‘커널’이 완성되지 않은 상태
- 리눅스 커널의 탄생 (1991년~1990년대 중반) 🡲 커널의 등장과 GNU와의 결합
- 1991년 핀란드 대학생 리누스 토발즈가 취미로 만든 커널 소스를 인터넷에 공개
- 전 세계 개발자들이 개발에 참여하는 ‘집단 지성’의 장이 열림
- GNU 프로젝트의 라이선스(GPL) 채택
- GNU 소프트웨어들과 결합하여 완전한 운영체제가 되기 시작함
- 누구나 코드를 보고 수정할 수 있지만 수정본도 공개해야 한다는 강력한 오픈소스 생태계가 형성됨
- 1991년 핀란드 대학생 리누스 토발즈가 취미로 만든 커널 소스를 인터넷에 공개
- 배포판의 확산 (1990년대 후반 ~ 2000년대) 🡲 안정성 검증과 엔터프라이즈 시장 정착
- 주요 배포판의 등장
- 데비안(Debian), 레드햇(Red Hat), 슬랙웨어(Slackware) 등 사용자가 설치하기 쉬운 패키지 형태의 배포판 등장
- 일반 기업 서버에 도입되기 시작(기업용 시장 진출)
- IBM 등 거대 IT 기업의 지지
- IBM, HP, Intel 등 대기업들이 리눅스에 대규모 투자 결정
- 리눅스는 ‘장난감’ 수준을 넘어 ‘유닉스를 대체할 강력한 서버 운영체제’로 인정받음
- 주요 배포판의 등장
- 확장 및 지배기 (2010년대 ~ 현재) 🡲 모바일, 클라우드, 그리고 AI의 표준
- 안드로이드와 임베디드 장악
- 구글이 리눅스 커널 기반의 안드로이드를 발표하며 전 세계 스마트폰 시장을 장악
- TV, 자동차, 냉장고 등 모든 스마트 기기의 표준 OS가 됨
- 클라우드와 컨테이너 혁명
- AWS, Azure 같은 클라우드 환경과 Docker, Kubernetes 같은 컨테이너 기술이 모두 리눅스 위에서 개발, 발전
- 현대 데이터 엔지니어링과 AI 인프라의 독보적인 표준이 됨
- 현재는 클라우드와 AI 시대를 지탱하는 기반 기술로 자리 잡음
- AWS, Azure 같은 클라우드 환경과 Docker, Kubernetes 같은 컨테이너 기술이 모두 리눅스 위에서 개발, 발전
- 안드로이드와 임베디드 장악
3. 타 운영체제와의 비교
- 리눅스를 Windows나 macOS와 같은 타 운영체제와 비교해 보면,리눅스가 왜 개발자와 데이터 엔지니어에게 ‘선택이 아닌 필수’인지 알 수 있음
- 주요 운영체제 비교: 리눅스 vs 윈도우 vs 맥OS
| 구분 | 리눅스 (Linux) | 윈도우 (Windows) | 맥OS (macOS) |
|---|---|---|---|
| 핵심 철학 | 오픈소스, 자유, 커스터마이징 | 사용자 편의성, 상업적 독점 | 하드웨어-소프트웨어 일체형 경험 |
| 비용 | 무료 (대부분의 배포판) | 유료 (라이선스 비용 발생) | 유료 (Apple 하드웨어에 포함) |
| 사용자 인터페이스 | CLI 중심 (GUI 선택 가능) | GUI 중심 | GUI 중심 (Unix 기반 터미널 제공) |
| 보안성 | 매우 높음 (권한 세분화) | 보통 (타겟 공격에 취약) | 높음 (폐쇄적 생태계) |
| 커스터마이징 | 커널 수준까지 수정 가능 | 제한적 (설정 위주) | 거의 불가능 |
- 특징 및 성능 비교
- 성능과 자원 효율성
- 오버헤드 최소화
- GUI 없이 텍스트 기반(CLI)으로만 구동할 수 있음 🡲 시스템 자원(CPU, RAM)을 오로지 서비스 운영이나 데이터 처리에 집중시킬 수 있음
- 필요하다면 GUI를 적용하여 구동할수 있음(서버 버전을 제외한 최근의 배포판은 대부분 GUI를 적용하고 있음)
- 안정성 및 가용성
- 수개월, 수년 동안 재부팅 없이도 시스템이 안정적으로 가동됨 🡲 24시간 가동되어야 하는 서버 환경에서 결정적인 차이를 만듦
- 오버헤드 최소화
- 패키지 관리 및 자동화
- 중앙 집중식 관리
apt,yum등 패키지 매니저를 통해 수만 개의 소프트웨어를 명령어 한 줄로 설치하고 업데이트할 수 있음- 윈도우처럼 웹사이트에서
.exe파일을 찾아 다운로드하는 방식보다 훨씬 안전하고 자동화에 유리함
- 중앙 집중식 관리
- 파일 시스템의 유연성
- 리눅스는 “모든 것은 파일이다(Everything is a file)”라는 철학을 따름
- 하드디스크, 키보드, 마우스, 네트워크 장치까지 모두 파일로 취급하여 일관된 방식으로 제어할 수 있음
- 성능과 자원 효율성
- 중요성 및 의의
- 표준화된 개발 환경 (Standardization)
- 대부분의 클라우드 서비스(AWS, GCP 등)가 리눅스 위에서 운영됨
- 내 PC(윈도우)에서 개발한 코드가 서버(리눅스)에서 다르게 동작하는 문제를 방지하기 위해
🡲 개발자들은 처음부터 리눅스 환경에서 작업하거나 그에 맞춘 컨테이너(Docker) 기술을 활용하는 경향이 큼
- 데이터 엔지니어링의 기반
- 데이터 엔지니어링에서 사용하는 하둡(Hadoop), 스파크(Spark), 카프카(Kafka) 등 대규모 분산 처리 시스템은
리눅스의 파일 시스템과 네트워크 구조에 최적화되어 설계됨 - 리눅스를 모른다는 것은 데이터 파이프라인의 내부 작동 원리를 이해하지 못하는 것과 같음
- 데이터 엔지니어링에서 사용하는 하둡(Hadoop), 스파크(Spark), 카프카(Kafka) 등 대규모 분산 처리 시스템은
- “인프라의 민주화” (오픈소스의 가치)
- 리눅스는 특정 기업에 종속되지 않음
- 누구나 소스 코드를 보고 고칠 수 있다는 점은 전 세계 개발자들이 보안 취약점을 빠르게 찾고 기능을 개선하는 동력이 됨
- 이는 기술의 독점을 막고 누구나 고성능 인프라를 구축할 수 있게 만든 인류 공동의 기술 자산으로서의 의의를 가짐
- 표준화된 개발 환경 (Standardization)
4. 리눅스의 핵심 설계 철학
- 리눅스의 뿌리인 유닉스(Unix)로부터 계승된 철학은 리눅스를 이해하는 가장 중요한 열쇠
- Everything is a File (모든 것은 파일이다):
- 리눅스는 하드웨어 장치(마우스, 키보드, 디스크), 프로세스, 네트워크 소켓 등을 모두 ‘파일’로 취급함
- 개발자는 동일한 시스템 호출(
open,read,write)만으로 장치에 상관없이 데이터를 주고받을 수 있음
- Small is Beautiful (작은 것이 아름답다):
- 하나의 프로그램은 한 가지 일만 아주 잘하도록 개발함
- 복잡한 작업은 여러 개의 작은 프로그램을 파이프(
|)로 연결하여 해결함 - 이는 현대 소프트웨어의 ‘마이크로서비스 아키텍처’와도 맞닿아 있는 개념
5. 리눅스 커널의 목표와 역할 (Core Goal)
리눅스 커널은 ‘자원의 효율적 분배’를 목표로 하며, 크게 4가지 역할을 수행함
- 메모리 관리:
- 여러 프로그램이 메모리를 나누어 쓸 때 서로 침범하지 않도록 보호
- 부족할 경우 가상 메모리를 할당
- 프로세스 관리:
- CPU가 어떤 프로그램을 먼저 실행할지 스케줄링하여 사용자에게 멀티태스킹 경험을 제공
- 파일 시스템 관리:
- 데이터를 저장하고 읽어오는 구조를 정의
- 장치 드라이버 제어:
- 하드웨어와 소프트웨어 사이의 중재자 역할 수행
- 메모리 관리:
6. 리눅스의 심층적 특징 및 장단점
핵심 특징 (Advanced Features)
- Monolithic Kernel (단일형 커널):
- 하드웨어 제어와 같은 핵심 기능이 하나의 거대한 커널 안에 포함되어 있음
🡲 기능 간 통신 오버헤드가 적고 속도가 빠름
- 하드웨어 제어와 같은 핵심 기능이 하나의 거대한 커널 안에 포함되어 있음
- Multi-User & Multi-Tasking:
- 수백 명의 사용자가 동시에 접속해도
🡲 각자의 환경(Namespace)을 철저히 분리하여 안정성을 유지함
- 수백 명의 사용자가 동시에 접속해도
- Standard Compliance (POSIX):
- 운영체제 간 호환성을 유지하기 위한 표준 규격을 준수
🡲 리눅스에서 짠 코드가 다른 유닉스 계열에서도 쉽게 돌아감
- 운영체제 간 호환성을 유지하기 위한 표준 규격을 준수
- Monolithic Kernel (단일형 커널):
장점과 단점 (Pros & Cons)
| 장점 | 단점 |
|---|---|
| - 신뢰성: 서버가 수년 동안 꺼지지 않고 작동할 만큼 안정적임 - 보안성: 소스 코드가 공개되어 취약점 발견 및 패치가 매우 빠름 - 비용: 라이선스 비용이 없어 대규모 클러스터 구축에 유리함 | - 진입 장벽: 텍스트 기반 인터페이스(CLI)에 익숙해지는 데 시간이 걸림 - 하드웨어 호환성: 최신 소비자용 주변기기 드라이버 지원이 늦을 수 있음 - 표준의 파편화: 배포판마다 설정 파일 위치나 패키지 매니저가 다름 |
7. 엔지니어에게 리눅스가 특히 중요한 이유
개발자와 데이터 엔지니어에게 리눅스는 단순한 OS 이상의 의미를 가짐
- 개발자: “추상화의 이해”
- 시스템 콜(System Call) 이해: 코드가 하드웨어와 어떻게 통신하는지 이해
- 환경의 동일성: 로컬 개발 환경과 실제 운영 서버 환경을 일치시켜 배포 사고를 방지
- 데이터 엔지니어: “리소스 제어의 극대화”
- I/O 성능 최적화: 대용량 데이터를 처리할 때 디스크와 네트워크 I/O 성능을 리눅스 설정(Kernel Parameter)을 통해 직접 튜닝할 수 있음
- 병렬 처리의 효율성: 리눅스의 가벼운 프로세스/스레드 구조는 수천 개의 데이터 노드를 동시에 관리하는 데 최적화되어 있음
- 로그 중심의 사고: 모든 시스템 동작이 텍스트 로그 파일로 기록됨 🡲 장애 발생 시 추적 용이
8. 기타 중요한 용어
- GNU (Gnu’s Not Unix): 리눅스 커널과 함께 사용되는 다양한 자유 소프트웨어 도구들의 모음
- GPL (General Public License): 리눅스의 자유를 보장하는 강력한 라이선스 규약
- Distros (배포판): 커널에 사용자 편의 도구를 합친 패키지 (Ubuntu, RHEL, Rocky Linux 등)
- TUX: 리눅스의 마스코트인 펭귄의 이름
- [참고] 걱정없이, 상업적으로 사용 가능한 라이센스들
- 가장 자유롭게, 법적 제약이나 저작권 침해 걱정 없이 사용할 수 있는 라이선스: CC0, 퍼블릭 도메인
- CC0 (Creative Commons Zero) 라이선스
- 저작자가 자신의 권리를 완전히 포기한 라이센스
- 상업적 이용, 수정, 재배포 등을 제한 없이 할 수 있음
- 출처 표시조차 의무가 아님
- 퍼블릭 도메인(Public Domain) 라이선스
- 저작권 보호 기간이 만료되었거나, 저작자가 권리를 포기하여 공공의 소유가 된 상태
- 소프트웨어나 코드를 사용할 때 가장 관대한 라이선스는 Permissive(허용적) 라이선스: MIT, BSD, Apache 2.0
- MIT 라이선스
- 가장 인기 있는 라이선스. 가장 가볍고 간결함 (MIT 라이선스 공식 설명에 따르면 단 몇 문장으로 끝날 만큼 매우 간결함)
- 특징: 저작권 고지(Copyright Notice)와 면책 조항(No Warranty)만 유지하면 누구나 마음대로 수정 및 재배포가 가능
- 차별점
- 특허권에 대한 명시적 언급이 없음
- 실무적으로는 ‘묵시적 특허 허여’로 해석되기도 하지만, 법적 명확성은 Apache 2.0보다 떨어짐
- 즉, 출처 표시(저작권 고지)만 하면 🡲 상업적 이용, 수정, 판매 등 거의 모든 행위가 가능함
- BSD (Berkeley Software Distribution) 라이선스
- 버클리 대학에서 만든 라이선스. 조항 수에 따라 권한이 달라짐
- BSD 2-Clause: MIT와 거의 동일 (저작권 고지 + 면책 조항)
- BSD 3-Clause: “원저작자의 이름을 홍보용으로 사용하지 말 것”이라는 조항이 추가되어 브랜드 보호 성격이 강함
- Apache 2.0 라이선스
- 아파치 소프트웨어 재단에서 제정한 라이선스. 가장 안전하고 전문적이며, 기업 환경에서 가장 선호됨
- 특징: Apache 2.0 가이드에 따르면 MIT/BSD와 달리 특허권 부여(Patent Grant) 조항이 명시되어 있음
- 차별점
- 특허 보복 조항: 사용자가 해당 소프트웨어를 상대로 특허 소송을 제기하면 그에게 부여된 특허 라이선스가 즉시 중단됨
- 수정 사항 고지: 파일을 수정했을 경우, 수정되었다는 사실을 파일 내에 명시해야 함
구분 MIT BSD (3-Clause) Apache 2.0 핵심 요약 "그냥 출처만 밝히고 써라" "출처 밝히고 내 이름 팔지 마라" "출처 밝히고, 특허로 싸우지 마라" 특허 조항 명시적 언급 없음 명시적 언급 없음 명시적 언급 및 보복 조항 수정 고지 의무 없음 의무 없음 수정 사항 표시 의무 상업 이용 자유로움 자유로움 자유로움
- 대한민국 공공 데이터: 공공누리(KOGL) 1유형
- 국가, 지방자치단체가 보유한 공공저작물 중 공공누리 1유형
- 출처만 표시하면 상업적, 비상업적 이용이 자유로움
9. 왜 리눅스는 윈도우보다 서버 시장에서 더 인기가 많을까?
- ‘공짜’라서가 아니라, “사용자가 시스템의 모든 구석구석을 직접 통제하고 자동화할 수 있는 유일한 OS”이기 때문
- 비용이 무료라는 점은 기업 입장에서 매력적이지만,
- 수조 원의 자산을 움직이는 거대 IT 기업들이 리눅스를 선택하는 이유는 훨씬 더 전략적이고 기술적인 이유에 기반함
리눅스가 서버 시장을 장악한 결정적인 이유들
- 커널 수준의 고성능과 효율성 (Performance)
리눅스는 윈도우보다 훨씬 ‘가볍고’ ‘날카로움’
- GUI 오버헤드 부재:
- 윈도우는 OS를 돌리기 위해 그래픽 화면(GUI)이 필수적
- 리눅스는 GUI 없이 텍스트(CLI)만으로 모든 동작이 가능함
🡲 이로 인해 확보된 CPU와 RAM 자원은 오로지 ‘데이터 처리’와 ‘서비스 제공’에만 투입됨
- 고도의 스케줄링:
- 리눅스 커널은 수천 개의 프로세스가 동시에 돌아가는 환경에서 CPU 자원을 분배하는 능력이 탁월함
🡲 이는 수만 명의 사용자 요청을 동시에 처리해야 하는 웹 서버나 데이터 서버에 최적화된 구조임
- 리눅스 커널은 수천 개의 프로세스가 동시에 돌아가는 환경에서 CPU 자원을 분배하는 능력이 탁월함
- 안정성과 가동 시간 (Stability & Uptime)
서버 세계에서는 “서버가 한 번도 안 꺼지고 1년을 버텼다”는 것이 실력의 척도
- 재부팅 없는 업데이트:
- 윈도우는 보안 패치나 업데이트 후 반드시 재부팅이 필요한 경우가 많음
- 리눅스는 커널이나 특정 서비스가 실행 중인 상태에서도 패치를 적용(Hot-patching)할 수 있음 서비스 중단 없는 운영이 가능함
- 독립적인 프로세스 구조:
- 특정 프로그램이 에러로 죽더라도 OS 전체가 파란 화면(Blue Screen)을 띄우며 멈추는 일이 거의 없음
- 문제가 생긴 프로세스만 깔끔하게 재시작하면 그만
- ** 강력한 보안 모델 (Security)**
오픈소스는 “모두가 코드를 볼 수 있다”는 점에서 오히려 보안이 강력함
- 다수의 눈:
- 전 세계 수만 명의 개발자가 코드를 감시하기 때문에, 보안 취약점이 발견되면 몇 시간 내에 패치가 전 세계로 배포됨
- 윈도우처럼 개발사가 패치를 만들어줄 때까지 기다릴 필요가 없음
- 전 세계 수만 명의 개발자가 코드를 감시하기 때문에, 보안 취약점이 발견되면 몇 시간 내에 패치가 전 세계로 배포됨
- 철저한 권한 분리:
- 리눅스는 관리자(Root)와 일반 사용자의 권한이 칼같이 분리되어 있음
- 바이러스가 침투하더라도 시스템 전체로 퍼지는 것을 구조적으로 막는 설계가 기본값
- 표준화와 이식성 (Standardization & Portability)
현대 IT의 핵심인 ‘확장성’ 측면에서 리눅스는 대체 불가능
- 클라우드와의 궁합:
- AWS, Google Cloud 등 현대의 인프라는 리눅스 위에서 설계됨
- 내가 만든 코드를 컨테이너(Docker)화하여 어디든 옮길 수 있는 이유는, 그 밑바닥에 리눅스라는 ‘공통 표준’이 있기 때문
- 어디서든 돌아감:
- 아주 작은 사물인터넷(IoT) 장비부터 세계 최고의 슈퍼컴퓨터까지 동일한 리눅스 커널을 사용함
- 환경이 바뀌어도 엔지니어가 새로 배울 것이 거의 없음
- ** 개발자 친화적 생태계 (Ecosystem)**
- 데이터 엔지니어링이나 AI 개발에 필요한 거의 모든 최신 도구(Spark, Kafka, TensorFlow 등)는 ‘리눅스 우선(Linux First)’으로 개발됨
- 윈도우용 버전은 나중에 나오거나 기능이 제한적인 경우가 많음
- 최신 기술을 가장 먼저, 가장 안정적으로 쓰기 위해서는 리눅스가 필수적
- 패키지 매니저(
apt,yum)를 통해 수만 개의 개발 도구를 명령어 한 줄로 설치하고 관리할 수 있는 편의성은 윈도우가 따라오기 힘든 영역
- 커널 수준의 고성능과 효율성 (Performance)
- 요약하자면
- 리눅스가 서버 시장에서 승리한 이유는 “가장 가벼우면서도, 가장 안정적이고, 전 세계 엔지니어들이 함께 고쳐나가는 표준”이기 때문
- 윈도우가 ‘사용하기 편한 OS’라면, 리눅스는 ‘신뢰할 수 있는 OS’
- 서버의 세계에서는 편의성보다 신뢰성과 통제권이 우선
- 결론: 왜 리눅스인가?
- 윈도우는 개인용 PC나 사무용, 게임 환경에 최적화된 ‘소비자용 도구’
- 맥OS는 유닉스 기반의 안정성과 세련된 UI를 갖춰 ‘로컬 개발 환경’으로 인기가 높음
- 리눅스는 실질적으로 전 세계 인프라를 지탱하는 ‘생산 및 운영의 표준’
- 리눅스를 배우는 것은
- 자동차의 겉모습(GUI)만 보는 운전자를 넘어, 엔진(커널)의 작동 원리를 이해하고 직접 튜닝할 수 있는 엔지니어가 되는 과정
