📜 리눅스의 역사
1. 유닉스(UNIX)의 탄생(1969년)
- 개발자 : 켄 톰슨(Ken Thompson), 데니스 리치(Dennix Ritchie) 등
- 장소 : 미국 AT&T 벨 연구소
- 의의
- 간단하고 이식성 높은 운영체제
- 모듈화된 구조와 C언어로 작성된 시스템
- 멀티태스킹, 멀티유저 지원
2. GNU 프로젝트의 시작(1983년)
- 창시자 : 리처드 스톨만(Richard Stallman)
- 목표 : 자유로운 운영체제 만들기
- 중요 개념 : 자유 소프트웨어(FOSS), GNU General Public License(GPL)
- 성과 : 컴파일러(GCC), 쉘(Bash), 에디터(Emacs) 등 핵심 툴 제공
👉 하지만 커널(HURD)은 완성되지 못함
3. 리눅스 커널의 개발(1991년)
- 개발자 : 리누스 토르발스(Linux Torvalds, 핀란드 헬싱키대)
- 배경 : 당시 교육용 유닉스 계열 OS인 MINIX에 불만을 품고 자신만의 커널 개발 시작
- 버전 : 1991년 9월 17일, 커널 0.01 버전 공개 (Usenet에 배포)
4. GNU + Linux = 완전한 자유 운영체제
- 리눅스 커널 + GNU 툴셋 결합 -> 우리가 지금 알고 있는 리눅스 시스템 완성
- 다양한 배포판 등장 (Red Hat, Debian, Ubuntu 등)
🎯 리눅스의 철학
리눅스는 유닉스 철학을 계승하면서도, 개방성과 공동체 개발 문화를 강조합니다.
1. 유닉스 철학의 핵심
- 단순함 : 하나의 프로그램은 한가지 일을 잘 하도록 만든다.
- 조합성 : 작은 프로그램들을 조합해 강력한 작업을 수행할 수 있게 한다.
- 텍스트 기반 : 입력과 출력은 텍스트 형식으로 한다(파이프 연결에 유리)
- 모듈성 : 시스템은 작고 모듈화 되어야하며, 독립적으로 개발되고 사용될 수 있어야 한다.
2. 리눅스 철학의 확장
- 자유(Freedom) : 누구나 자유롭게 사용, 수정, 배포할 수 있음.
- 커뮤니티 중심 : 개발은 커뮤니티와 협업을 통해 이뤄짐(Linus + 커뮤니티 개발자들)
- 투명성 : 소스코드 공개 -> 버그, 보안 문제에 빠르게 대응
- 사용자 주도 : 사용자가 시스템을 완전히 통제하고 원하는 대로 구성할 수 있음
- 오픈소스 정신 : 모두를 위한 지식 공유와 기술 발전 추구