리눅스(Linux)는 컴퓨터 운영 체제의 하나로, 커널(kernel)과 이를 기반으로 구성되는 운영 체제 전반을 통틀어 가리키는 명칭이다. 좁은 의미에서 리눅스는 핀란드 출신의 소프트웨어 엔지니어 리누스 토르발스(Linus Benedict Torvalds)가 1991년 처음 개발한 운영 체제 커널인 '리눅스 커널'을 지칭하며, 넓은 의미에서는 이 커널을 중심으로 각종 시스템 소프트웨어와 응용 프로그램이 결합되어 배포되는 전체 운영 체제를 의미한다. 리눅스는 유닉스(Unix) 계열 운영 체제에 속하며, 자유-오픈 소스 소프트웨어의 대표적인 사례로 꼽힌다.
정의와 구조
리눅스 시스템은 크게 커널 공간(kernel space)과 사용자 공간(user space)으로 구분된다. 커널 공간의 핵심인 리눅스 커널은 프로세스 관리, 메모리 관리, 파일 시스템, 네트워킹, 장치 드라이버 관리 등의 기능을 담당하는 모놀리식(monolithic) 커널 구조를 가진다. 사용자 공간에는 명령 줄 인터페이스(CLI)를 제공하는 셸, 그래픽 사용자 인터페이스(GUI)를 구성하는 윈도 시스템과 데스크톱 환경, C 표준 라이브러리, 각종 유틸리티와 응용 프로그램이 포함된다.
리눅스 배포판(distribution)은 리눅스 커널과 지원 시스템 소프트웨어, 라이브러리를 포함하여 소프트웨어 패키지 관리자와 함께 배포하는 형태로 구성된다. 저명한 배포판으로는 데비안(Debian), 페도라(Fedora), 우분투(Ubuntu) 등이 있으며, 상용 배포판으로는 레드햇 엔터프라이즈 리눅스(RHEL), 수세 리눅스 엔터프라이즈 서버 등이 있다.
역사
리눅스의 기원은 1969년 미국 AT&T의 벨 연구소에서 켄 톰프슨, 데니스 리치 등이 개발한 유닉스 운영 체제로 거슬러 올라간다. 유닉스는 이후 1984년 AT&T가 벨 연구소와 분리되면서 사유 제품으로 판매되기 시작했고, 이에 대응하여 1983년 리처드 스톨먼이 시작한 GNU 프로젝트는 완전히 자유로운 유닉스 호환 소프트웨어 시스템을 구축하는 것을 목표로 하였다. 1990년대 초까지 GNU 프로젝트는 여러 핵심 프로그램을 완성하였으나, 운영 체제의 저수준 구성 요소인 커널 개발은 완성되지 못하였다.
1991년, 헬싱키 대학교에 재학 중이던 리누스 토르발스는 당시 교육용 운영 체제였던 미닉스(Minix)의 제한적인 라이선스에 실망하여 자신만의 운영 체제 커널 개발을 시작하였다. 이 커널은 처음에는 인텔 80386 프로세서를 대상으로 개발되었으며, 1991년 9월 17일 최초 버전이 공개된 것으로 알려져 있다. 이후 리눅스 커널은 GNU 프로젝트의 자유 소프트웨어 구성 요소들과 결합되어 온전히 기능하는 자유 운영 체제로 발전하였다.
명칭의 유래
토르발스는 처음에 자신이 개발한 시스템을 'Freax'(free, freak, 그리고 Unix의 x를 조합한 단어)로 명명하기를 원했으나, 1991년 9월 핀란드의 FTP 서버에 파일을 업로드하던 중 그의 동업자 아리 렘케(Ari Lemmke)가 프로젝트 이름을 토르발스와 상의 없이 'Linux'로 정하였다. 이후 토르발스는 이 이름을 받아들였다. 'Linux'는 'Linus'와 'Unix'의 합성어로 해석되는 것이 일반적이며, 이후에는 'Linux Is Not UniX'라는 재귀 약자(recursive acronym)로도 설명되곤 한다. 한편 자유 소프트웨어 재단(FSF)에서는 리눅스 커널 기반 운영 체제가 GNU 소프트웨어 구성 요소를 포함한다는 이유로 이를 'GNU/리눅스'로 부르는 것을 선호한다.
주요 특징
리눅스의 가장 두드러진 특징은 자유-오픈 소스 소프트웨어라는 점이다. 리눅스 커널은 GNU 일반 공중 사용 허가서(GNU GPL) 버전 2로 라이선스되며, 소스 코드는 누구든지 이용, 수정, 배포할 수 있다. 이러한 특성 덕분에 개인과 기업, 자발적 커뮤니티가 협력하여 지속적으로 개발에 참여하고 있다.
리눅스 커널은 처음에는 x86 아키텍처용으로 설계되었으나 이후 매우 다양한 컴퓨터 아키텍처로 이식되었다. 현재 리눅스는 개인용 컴퓨터, 서버, 메인프레임, 슈퍼컴퓨터, 스마트폰, 임베디드 장치, 스마트 TV, 차량용 인포테인먼트 시스템 등 광범위한 분야에서 사용되고 있다.
활용 분야
리눅스는 서버 시장에서 주도적인 운영 체제로 자리잡고 있다. 상위 웹 서버 다수와 TOP500 슈퍼컴퓨터 목록에 오른 모든 시스템이 일부 유형의 리눅스를 구동하는 것으로 알려져 있다. 스마트폰 운영 체제인 안드로이드(Android)는 수정된 버전의 리눅스 커널에 기반을 두고 있으며, 전 세계 스마트폰 시장에서 높은 점유율을 차지하고 있다. 또한 우주 항공 분야에서도 스페이스X의 팰컨 9 로켓과 드래곤 우주선, 국제우주정거장의 일부 시스템 등에 리눅스가 사용된 사례가 보고된 바 있다.
대한민국에서는 한국거래소가 2014년 자본 시장 거래 시스템에 리눅스를 도입한 사례가 있으며, 카카오뱅크는 2017년 대한민국 금융권 중 최초로 전산 시스템에 리눅스를 도입한 것으로 알려져 있다.
저작권과 상표
'Linux'라는 이름은 미국에서 리누스 토르발스가 등록한 상표이며, 이후 상표의 라이선스 관리는 리눅스 마크 인스티튜트(LMI)가 담당하고 있다. 리눅스 커널은 GNU GPL 버전 2로 라이선스되며, 토르발스는 리눅스 커널이 GPL 버전 3로 이전되지 않을 것임을 밝힌 바 있다.