오픈소스 운영체제인 리눅스의 특징
오늘날 모바일 앱 시장은 안드로이드와 iOS가 양분하고 있습니다.
안드로이드와 iOS는 모바일 운영체제입니다. 안드로이드는 2020년 6월 기준 74.2%의 점유율을, iOS는 25.2%를 차지해 도합 99%를 넘는 상황입니다. 애플은 자체적인 모바일 플랫폼을 만들고, iOS라는 운영체제를 통해 기기를 관리할 수 있도록 합니다. 안드로이드의 경우에는 오픈소스 운영체제로 모두에게 공개된 프로젝트입니다. 안드로이드가 채택한 오픈소스 운영체제는 '리눅스'입니다. 스마트폰의 폭발적인 성장을 견인한 리눅스와 운영체제에 대해서 살펴봤습니다.
운영체제란 사용자가 컴퓨터를 쉽게 다룰 수 있도록 설계된 인터페이스입니다. 대표적으로는 우리 모두에게 익숙할 마이크로소프트의 '윈도우즈'가 있습니다. 개인용 PC 시장에서 윈도우즈는 절대적인 위상을 차지했지만 애플의 맥OS에 어느 정도 자리를 내준 상황입니다.
운영체제는 '컴퓨터의 자원'을 관리합니다. 운영체제에서 특히 자원 관리에 가장 중요한 소프트웨어를 '커널'이라고 부르는데요. 커널은 연산을 처리하는 컴퓨터 기계의 동작을 조정하고, 사용자와 만나는 응용프로그램들을 조율하여 가장 효율적으로 동작하도록 지원합니다. 안드로이드가 리눅스 기반이라고 불리는 이유는 안드로이드의 커널이 '리눅스 커널'이기 때문입니다.
개인용 PC는 윈도우즈 운영체제가 장악하고 있는데요. 혼자서 사용하는 개인 PC가 아니라, 여러명이 사용하는 멀티 컴퓨터에서는 리눅스가 압도적인 점유율을 자랑하고 있습니다. IT 전문 조사업체 '웹텍즈(WebTechs)'에 따르면 웹서버, 클라우드 서버 운영체제는 최소 70% 이상이 리눅스로 구성됐다고 합니다. 이들 서버 컴퓨터는 통신과 정보 전달에 특화된 컴퓨터입니다. 정보를 요청하는 클라이언트(개인용 컴퓨터 등)와 정보를 주고받는 것입니다. 오늘날에는 기업에서 별도의 서버 컴퓨터를 갖추기보다, 클라우드 서버 업체에 맡기는 추세입니다. (클라우드 컴퓨팅 내용 정리)
리눅스는 운영체제 '유닉스'를 기반으로 제작됐습니다. 유닉스 이전의 컴퓨터들은 각자 운영체제도 제각각이라 하드웨어에 따라 호환성도 낮고, 명령어를 동시에 처리하기 어렵다는 단점이 있었습니다. 유닉스는 C언어 기반으로 이식성이 향상되고, 멀티태스킹 기능을 지원하는 등 혁신이었다고 합니다.
리눅스는 핀란드의 컴퓨터 공학과 대학원생이던 '리누스 토르발스'가 개발했는데요. 교육용으로 제작된 유닉스, '미닉스'의 기능에 불만을 느껴 직접 자신이 손을 보던 중, 운영체제를 개발해버린 것입니다. 그는 이 유닉스를 리누스의 유닉스라 하여 '리눅스'로 명명했고, 소스 코드를 공개합니다.
리눅스는 공개된 직후부터 많은 개발자의 호응을 얻었습니다. 오픈 소스로 공개된 코드는 개발자들의 흥미를 자극했습니다. 리눅스는 다른 개발자들의 의견을 받아들여 성능을 개선하였고, 이렇게 성능 향상에 기여한 개발자는 다음 패치 노트에 헌정 명단으로 공개됐습니다. 당시 기존 유닉스 소프트웨어가 소송에 휘말려 리눅스가 대체재로 떠올랐던 것도 흥행에 한몫을 했습니다. 이에 대기업들도 리눅스를 지원하기 시작하면서 리눅스는 주류가 됩니다.
리눅스는 개인용 PC가 아닌, 다수의 사용자에 특화돼 있습니다. 여러 접속자가 각자 자기 작업을 할 수 있도록 지원합니다.
리눅스는 하드웨어와 호환성이 높다는 것이 장점입니다. '리눅스 커널'이 오픈소스로 공개돼 있어, 많은 이들이 하드웨어 대부분을 지원하도록 내용을 추가한 것입니다. 여기에 유닉스처럼 C언어 기반이라, 다른 컴퓨터에 쉽게 이식할 수 있다는 장점이 있습니다. 이러한 점을 살려 다양한 배포판이 개발돼 있고, 사용자는 자신의 컴퓨터에 맞는 버전을 선택할 수 있습니다.
리눅스는 라이브러리를 제공합니다. 라이브러리는 미리 만들어진 함수와 코드들을 담고 있습니다. 어떤 물건을 만들려고 할 때, 도구를 직접 만들어서 쓰면 시간이 오래 걸립니다. 이미 완성된 도구들을 가지고 있으면 목표물을 만드는데만 집중할 수 있는데요. 라이브러리가 이와 같은 역할을 합니다. 리눅스 역시 라이브러리를 제공해 목적에 맞는 컴퓨터를 개발할 수 있도록 도와줍니다.
이외에도 가상메모리 기술 등이 지원됩니다. 가상메모리는 작업 내용을 기억하는 '램' 대신에 보조기억장치 일부를 사용하는 방식입니다. 당장 처리해야 할 급한 내용이 아니면 잠깐 디스크에 저장함으로써, 메모리 공간을 마치 늘린 것처럼 사용할 수 있게 됩니다.
리눅스는 앞서 언급했듯, 서버 컴퓨터 운영체제에 많이 이용됩니다. 성능이나 안정성, 보안에서 뛰어난 성능을 보여준다고 합니다. 또 임베디드 운영체제에도 리눅스가 많이 사용됩니다. 임베디드 운영체제란 공유기, 가정용 단말기기, 키오스크 등에 들어가는 컴퓨터를 말합니다. 이들 컴퓨터도 명령에 따라 동작하는 컴퓨터라 운영체제가 필요하고, 거기에 리눅스가 들어갑니다.
가장 유명한 것은 안드로이드입니다. 안드로이드는 모바일 기기에 사용되는 운영체제인데요. 스마트폰도 일종의 컴퓨터니까, 기기에 맞는 운영체제가 필요하고, 거기에 리눅스가 들어가는 것입니다.