운영체제의 역사
포스트
취소

운영체제의 역사

개요

컴퓨터는 점점 발전했지만, 운영체제는 없었습니다.

때문에 보편화를 위해, 1960년대에 AT&T, MIT 공대 등의 연구진에 의해 멀틱스(Multics, Multiplexed Information and Computing Service)라는 운영체제를 개발하기 시작했습니다.

물론 지금은 듣보잡이듯이 멀틱스는 망해버렸는데, 굳이 멀틱스를 설명한 이유는 멀틱스에서 파생된 운영체제인 유닉스를 설명하기 위해섭니다.

유닉스 (Unix)

AT&T 멀틱스 프로젝트에 참여하던 켄 톰프슨(Kenneth Thompson)은 멀틱스 프로젝트가 망하가던 참에, PDP-7라는 컴퓨터에 운영체제를 구현해보려고 했습니다.

이에 데니스 리치(Dennis Ritchie, 그 유명한 C언어 창시자입니다.)와 잘 알려지진 않았지만, 피터 뉴만(Peter Nuemann) 또한 이 프로젝트에 참여했습니다.

그들은 멀틱스의 망해버린 이유인 너무나도 많은 목표를 잡지 않았고, 단순히 프로그램을 실행하는데만 집중하는 운영체제를 만들기 시작했습니다.

그렇게 만들어진 운영체제인 일관성과 단순함을 지향하는 유닉스(Unix)를 개발하게 됩니다.

그 후 데니스 리치는 C언어를 만들어 냈으며, C언어의 단순함과 이식성 덕에 유닉스 또한 C언어로 다시 작성되게 됩니다.

이렇게 C언어로 다시 작성된 유닉스는 큰 인기를 얻었으며, 유닉스는 소스코드가 공개되어 유닉스를 기반으로 하는 여러 파생을 만들어냅니다.

BSD (Berkeley Software Distribution) 유닉스

유닉스 소스코드가 공개됨에 따라, 여러 파생이 만들어졌는데, 그중 하나가 BSD 유닉스입니다.

BSD 유닉스는 버클리 캠퍼스에서 빌 조이(Bill Joy)와 척 헤일리(Chuck Haley)라는 두 학생들에 의해 만들어졌는데, 기존의 유닉스와의 차이점인 네트워킹 기능 덕분에, 기존의 유닉스보다 더 많이 사용되게 됩니다.

또한 BSD 유닉스는 여러 파생 운영체제를 배출하게 되는데, 우리가 자주 사용하는 윈도우(MS-DOS), 맥 모두 BSD 유닉스 기반으로 만들어지게 됩니다.

여담으로, 이중에는 지금은 오라클이 먹어버린 썬마이크로시스템즈의 BSD 유닉스 기반의 솔라리스(Solaris)라는 운영체제 또한 존재하는데, 이 회사는 운영체제 개발 경험을 살려, 자바(Java)라는 언어를 만들어내게 됩니다.

또한 유닉스 개발에서 마하 유닉스 커널 또한 탄생하는데, 이는 훗날 매킨토시에도 사용되었으며, Mac OS에도 마하 유닉스 커널이 적용되게 됩니다.

System V

당연히 BSD의 잘나가는 모습에 배가 아팠던 AT&T는 자사의 유닉스를 System V라 명명하게 됩니다.

이렇게 유닉스는 크게 System V와 BSD 유닉스로 갈라지게 됩니다.

리눅스 (Linux)

1990년대 리누스 토르발즈(Linus Torvalds)는 유닉스와 호환되는 오픈소스 운영체제 커널을 GPL로 배포하였습니다.

그리고 이는 자신의 이름을 따서 리눅스(Linux)라 명명하게 되었습니다.

(자신의 이름인 Linus와 nix를 합쳤는데, nix는 유닉스 계열이란 뜻입니다.)

오해하면 안되는게, 유닉스와 비슷해보여서 헷갈릴 수 도 있는데, 리눅스가 유닉스와 호환되게 만들어졌긴 했지만, 유닉스 계열에서 떨어져 나온 상태이기 때문에, 변종이라 부르는게 적당합니다.

리눅스는 많은 파생 운영체제를 탄생시켰으며, 데비안, 레드헷 등 모두 리눅스 기반 운영체제입니다.

운영체제 점유율을 보면 리눅스가 유닉스보다 더 큰데, 이는 리눅스가 GPL(General Public License) 라이센스로 배포했기 때문입니다. (GPL과 GNU에 대해선 이 글에서 다루지 않습니다.)

때문에 개발자들이 자유롭게 수정할 수 있었기에, 여러 파생 운영체제가 탄생하게 됩니다.

반면, 유닉스는 독점 운영체제라 유닉스 소스코드를 이용하려면 돈을 주고 사야했고, 이는 곳 시장 점유율 하락의 원흉이 됩니다.

매킨토시(McIntosh)의 등장

이렇게 많은 유닉스 또는 리눅스 기반 운영체제가 탄생했지만, 아직 이들은 전문 지식이 있는 전문이들의 물건이였으며, 대중화되진 못하였습니다.

이때 스티브 잡스(Steve Jobs, 정확힌 사업가입니다.)와 스티브 워즈니악(Steve Wozniak) 등이 애플 브랜드의 창업과, 애플 2라는 개인용 컴퓨터를 탄생시키게 됩니다.

애플 2는 대중이 사용하기 쉬웠으며, 전문 지식이 없어도 사용할 수 있었기 때문에, 빠르게 보급화가 되면서 애플의 위상 또한 높아지게 됩니다.

애플은 마하 커널을 기반으로 Mac OS라는 운영체제를 만들게 되는데, 흔히 애플이 변태라고 불리는 역사은 여기서부터 시작됩니다.

Mac OS에서 따분한 TUI(Text based User Interface) 대신 마우스를 이용할 수 있는 GUI(Graphical User Interface)를 도입했으며, 이는 Mac OS의 성공에 부스터 역할을 하게 됩니다.

또한 애플은 Mac OS를 수정해서 만든 모바일 운영체제인 iOS를 적용하고, 멀티 터치 스크린을 적용한 휴대전화인 아이폰을 탄생시켰고, 이는 기존의 노키아와 같은 기존의 휴대전화를 브랜드를 모조리 멸망시켜버립니다.

이렇게 개인용 컴퓨터와 휴대폰은 애플에 의해서 혁신을 맞이하였으며, 오늘날의 핸드폰과 컴퓨터에 큰 기여를 하게 됩니다.

IBM과 마이크로소프트의 등장

애플 2가 전성기를 누리고 있을때, 당연히 불법 복제품 또한 증식하게 됩니다. 애플은 애플 2의 스펙과 Mac OS의 소스코드를 공개하지 않았기 때문에, 이러한 불법 복제는 늘어만 갔으며, 이때를 노린 IBM은 오늘날 데스크탑 컴퓨터의 원초격인 IBM XT를 출시하게 됩니다.

애플은 모토로라라는 기업의 CPU를 사용했기 때문에, IBM은 경쟁사의 CPU인 인텔 8086 계열의 16비트 CPU를 사용하게 됩니다.

IBM과 애플의 차이점은 애플은 Mac OS를 고정적으로 쓰게 만들었던 반면, IBM은 운영체제를 본인이 원하는걸 쓸 수 있게 만들었다는 점입니다.

그리고 그러한 운영체제 중 하나가 마이크로소프트의 MS-DOS이며, 이는 디스크 기반의 OS입니다.

물론 처음엔 IBM XT가 크게 주목받지 못하였습니다. 이미 애플이 시장을 독점했고, 성능은 더 좋지만 가격이 비쌌기 때문에, 결국 IBM XT와 호환되는 컴퓨터들을 만들어내게 됩니다.

이 컴퓨터들은 관련 게임 또는 소프트웨어가 개발되어 인기를 끌자, 애플 또한 슬슬 점유율이 떨어지기 시작했습니다.

물론 IBM XT와 호환되는 컴퓨터를 IBM에서 만든건 아니기 때문에, IBM 또한 이득을 보지 못한채 물러서게 됩니다.

인텔은 8086 CPU 이후 80286, 80386, 80486 CPU를 출시했고, 이들의 이름을 따서 각각 286, 386, 486 컴퓨터라 불리게 됩니다.

이 후 인텔은 5를 의미하는 펜티엄 CPU를 출시했으며, 이는 32비트 기반이였기에 이름에서 따온 X86이라는 이름이 붙었으며, 이후 64비트 기반 CPU는 X64라 불리게 됩니다.

이렇게 마이크로소프트는 전성기를 맞이하였으며, 이는 곧 윈도우라는 운영체제를 만들어내게 되면서, 마이크로소프트의 전성기가 시작되게 됩니다.

이렇게 대중적인 컴퓨터 운영체제는 맥과 윈도우로 나뉘었으며, 이 둘은 각각의 길을 걷는 중입니다.

물론 유닉스와 리눅스 또한 인기는 식지 않았는데, 이들은 개발자들 사이에서 많이 사용되는 운영체제가 되었습니다.

모바일에서

현대의 컴퓨터 운영체제에선 윈도우 vs 맥이 양대 산맥이라면, 모바일에선 iOS안드로이드(Android)가 양대 산맥이라는건 대부분 아실겁니다.

iOS

iOS는 Mac OS X를 수정하여 스마트폰용으로 만들어진 운영체제입니다.

Mac OS와 iOS의 커널을 다윈(Darwin)이라고 하며, 이는 위에서 서술했듯이, 마하 커널을 기반으로 만들어졌습니다.

iOS는 ARM이라는 CPU를 기반으로 작동하도록 설계가 변경되었으며, 스마트폰 기능을 제어하는 기능 또한 여럿 추가된 운영체제입니다.

물론 Mac OS 또한 애플 실리콘의 M 시리즈 (ARM 기반)에 맞춰 설계가 변경되었기도 했습니다.

애플은 애플 제품의 소프트웨어는 오픈소스가 아닌걸로 유명한데, 이는 리눅스 커널 기반이 아니기 때문에 GPL 라이센스 또한 적용되지 않으며, 애플의 약관을 따르기 때문입니다.

안드로이드

안드로이드는 구글(정확힌 Open Handset Alliance)에서 설계한 모바일 및 태블릿용 운영체제입니다.

리눅스 커널을 기반으로 만들어졌으며, ARM 등의 아키텍쳐에도 사용할 수 있기 때문에, 이식성이 뛰어납니다.

리눅스 커널을 기반으로 만들어진 운영체제 답게 GPL 라이센스이기 때문에, 무료이며 오픈소스입니다.

iOS가 애플 스마트폰 전용이라면, 안드로이드는 무료이기도 하고, 오픈소스라서 많은 스마트폰 제조사에서 자사의 제품에 맞게 수정하여 사용하기도 합니다.

한국에서의 핸드폰 브랜드 양대 산맥인 애플과 삼성중에서, 삼성 갤럭시에서 안드로이드를 사용합니다.