리눅스

내위키
Dennis (토론 | 기여)님의 2020년 2월 5일 (수) 03:52 판

핀란드리누스 토르발스가 헬싱키대학교에 다니던 시절에 자일리톨껌 씹으면서 만든 컴퓨터 운영체제. 정확히 말하면 리누스 토르발스가 개발한 것은 운영체제의 심장부가 되는 커널이었다.

때마침 자유소프트웨어재단(FSF)이 진행하던 유닉스 호환 자유 소프트웨어 운영체제 개발 계획인 GNU 프로젝트가 커널인 허드의 개발 지연으로 지지부진한 상태였는데, FSF 측이 리눅스 커널을 발견하고 그 잠재력을 높이 사서 GNU 프로젝트를 리눅스 커널에 맞게 이식함으로써 명실상부한 유닉스 계열 오픈소스 운영체제로 발돋움했다. 쉽게 말해서 리눅스는 커널만 있었고 GNU는 커널만 없없는데 둘이 딱 합쳐놓으니 완성품이 된 것.

커널이 뭔지 모르는 분들을 위해서 풀어보자면 리누스 토르발스는 리눅스라는, 딱 자동차 엔진만 만들었고 FSF는 GNU라는, 엔진만 없는 자동차를 만들었는데 리눅스 엔진이 들어갈 수있게 GNU라는 자동차를 손보고 나서 엔진을 얹으니 쌩~ 하고 달리더라는 얘기다. 그렇다면 이 차는 리눅스라고 불러야 할까? GNU라고 불러야 할까? 자동차라면 보통 엔진이 아닌 차체를 가지고 이름을 부르니 GNU가 맞겠지만 지금 우리가 살펴보고 있는 이 운영체체는 리눅스로 널리 통하고 있다. GNU 쪽은 리눅스는 커널만 뜻하는 것이고 운영체제로서 리눅스는 GNU/리눅스로 불러야 한다고 주장하지만 리누스는 콧방귀...

데스크톱에서는 윈도우OS X에 한참 밀려있지만 서버 시장에서는 막강한 위용을 과시하고 있다. 무료인 데다가 오랜 시간 동안 개발을 거쳐서 안정성이 검증되었고, 많은 서버용 소프트웨어들이 리눅스를 지원하기 때문이다. 거의 대다수 웹호스팅 서버가 리눅스라고 봐도 좋을 정도다. 중대형급 서버도 상당수가 리눅스를 채택하고 있을 만큼 엔터프라이즈 시장에서도 리눅스의 기세가 하늘을 찌르는 상태.

모바일에서도 알고 보면 최강이다. 일단 안드로이드가 리눅스 커널을 쓴다. 미고, 타이젠도 리눅스고, 파이어폭스OS도 리눅스 커널이고, 삼성의 대표적인 망작 바다OS도 리눅스고, HP웹OS도 리눅스고, 모바일 우분투는 당연히... 고만해 미친놈들아. 이들 모바일 운영체제들은 정말로 커널만 갖다 썼으니 GNU로서는 닭쫓던 개. GNU 쪽 주장대로 이 운영체제를 명명하자면 안드로이드/리눅스, 미고/리눅스. 타이젠/리눅스, 바다OS/리눅스, 웹OS/리눅스, 모바일 우분투/리눅스... 제발 고만해 미친놈들아.

이 정도로 리눅스의 위상이 워낙에 중요해졌기 때문에 지금은 개인 개발자만이 아니라 거대 IT 기업들도 적극 참여하고 있다. 2017년에 나오는 커널 버전 4.8-4.13 사이의 기여 순위를 보면 IBM 인텔을 비롯한 거대 기업들의 이름이 줄줄이 나온다.[1] 삼성전자도 8위를 차지하고 있어서 구글이나 AMD보다도 순위가 높다! 심지어 상위권은 아니지만 빌 게이츠 시절에는 리눅스와 철천지 원수지간이었던 MS까지도 리눅스 커널에 기여하고 있다.

모놀리식 커널이기 때문에 옛날에는 정말 쓰기 힘들었다. 하드웨어를 바꾸거나 새로 달면 커널 컴파일을 다시 해야만 인식했다. 모놀리식 커널이 낫냐, 마이크로 커널이 낫냐를 두고 리누스 토르발스와 앤드류 타넨바움이 벌인 논쟁은 아주 유명한 얘기다. 시간이 흘러도 리눅스는 여전히 모놀리식 커널이지만 윈도우처럼 하드웨어 드라이버만 넣어주면 인식하니까 훨씬 편해졌다.

배포판

리눅스는 윈도우처럼 어떤 회사가 패키지로 팔기 위한 게 아니다. 그러다보니 불편한 점도 많았다. 윈도우는 그냥 CD 넣고 깔면 인터넷 익스플로러도 있고, 지뢰찾기도 있고, 메모장도 있고... 일단 아쉬운대로 이것저것 작업을 할수 있다. 그런데 리눅스는 커널과 GNU 유틸리티 구하고 나면 뭘 하지? 리눅스도 그래픽 기반 인터페이스가 있다던데 어떻게 쓰지? 웹서버로 쓰려면 프로그램은 어디서 구하나?

그래서 리눅스도 커널과 GNU 유틸리는 물론이고 자주 쓰는 응용프로그램을 묶어서 패키지로 제공하고 쉽게 설치할 수 있도록 하는 패키지들이 나오기 시작했는데 이를 배포판이라고 한다.

각주