안드로이드 (운영체제)

Pika (토론 | 기여)님의 2019년 7월 19일 (금) 00:22 판 (→‎관련 문서)

개요

지구상에서 최다 사용자를 보유한 구글이 제작 중인 모바일 Linux 배포판. 보통 Android/Linux 시스템의 형태로 모바일 기기에 프리 로드되어 배포된다.

특징

오픈소스

안드로이드는 오픈 소스 프로젝트로 구글 개발분의 소스 코드가 아파치 2.0 라이선스로 공개되어 있다. GNU GPL로 배포되는 리눅스 커널 부분 또한 오픈 소스 프로젝트이다. 덕분에 MIUI나 CyanogenMod 같은 안드로이드 배포판이 개발될 수 있었다.

단, 단말기 및 모듈 제조사가 공급하는 RIL, 카메라 드라이버, WiFi 모듈 펌웨어 등의 라이선스는 제조사 정책에 따른다.

Java

리눅스 커널 위에 DalvikVM, Android Runtime, 기타 하드웨어 관련 HAL, 웹킷, SQLite 등등을 제외한 Android 본체가 자바로 짜여져 있다.

문제점

빈약한 사후지원

안드로이드 탑재 기기들은 빈약한 사후 지원이 큰 문제가 된다. 이는 사용자가 마음대로 개조 가능하다는 안드로이드의 특징에서 기인한다.

기본적으로 구글 자체는 안드로이드의 보완이나 기능 추가 등을 꾸준히 해주는 편이다. 문제는 바로 핸드폰을 만드는 제조업체들쪽인데, 보통 이들은 자신들의 폰이 좀 더 잘 팔리도록 안드로이드를 개조해서 내놓곤 한다. 이해가 안간다면 삼성전자와 LG전자의 스마트폰들을 비교하면 된다. 둘 다 같은 안드로이드를 쓰는데도 모양이나 기능이 천차만별이다. 이는 즉 삼성전자와 LG전자가 안드로이드를 자신들의 입맛에 맞게 커스터마이징을 했다는 것이다.

말인즉 구글이 아무리 최신 OS를 내놓고 사후 패치를 내놓아도, 핸드폰 제조업체가 이걸 못맞추어주면 사실상 무의미하다는 것이다. 쉬운 예를 들어 구글이 안드로이드 롤리팝을 내놓으면 그게 바로 삼성 갤럭시 노트2에 바로 적용되는게 아니고 우선 삼성이 롤리팝을 노트2에 알맞게 개조를 한 다음에야 갤럭시 노트2에 롤리팝이 적용되는 식이다.

이렇게 때문에 핸드폰 제조업체가 업데이트를 진행할 의지를 잃으면 그 핸드폰은 거기서 바로 그냥 꽝이 된다. 그냥 '에이 그런거 안하고 말지...'라고 가볍게 넘길수도 있겠지만, 지원이 끊긴다는 것은 곧 해커들의 먹잇감이 된다는 뜻이기도 하다. 실제로도 안드로이드 롤리팝이 나왔는데도 아직도 많은 핸드폰들은 여전히 젤리빈, 킷캣 등의 수준 낮은 운영체제를 그대로 사용하고 있으며, 이들 운영체제는 나온지 꽤 된 물건들이라 이미 해커들에 의해 충분히 분석이 끝날대로 끝난 상황이다. 즉 해커들이 적당히 의지와 루트만 확보하면 이들 폰들은 속절없이 털려서 안에 있는 신상정보가 그대로 털리게 되어있다.

말인즉 이 사태를 예방하려면 계속 신형 운영체제를 지원하는 기기를 구입해야 한다는 뜻인데, 그건 그거 나름대로 출혈이 장난이 아닌지라...

때문에 구글이 직접 관리를 해주는 넥서스 시리즈들은 심심한 성능에도 인기가 높다. 일단 기기 자체가 지원을 못할 정도가 되지 않는 이상 구글이 계속, 빠르게 지원을 해주니까...

심각한 파편화

오픈소스라 아무나 갖다 쓸 수 있기 때문에 결과적으로 같은 안드로이드인데 수만가지 이상의 변형판이 존재하여 사용자들의 접근성을 낮추고 있다.

쉬운 예로 삼성 갤럭시 S를 이용하던 사용자가 넥서스 5로 넘어갔더니 갤럭시 S에서 쓰던 앱들이 정상작동이 안되는 경우가 있다. 더 심하면 같은 삼성전자의 노트4로 옮겨갔는데도 갤럭시 S에서 쓰던 앱을 못쓰는 경우가 생길 수 있다. 경쟁상대인 아이폰의 경우 어떤 기기를 쓰든, 어떤 버전의 운영체제를 쓰든 모든 앱을 동일하게 사용할 수 있다는 점에서 상당한 디메리트가 분명하다.

주목할 만한 배포판

커스텀 롬이라 불리기도 한다.

  • CyanogenMod - 배포판들 중 가장 인지도가 있다.
  • OmniRom - 위의 CyanogenMod를 대체하기 위해 개발되었다. 멀티윈도우 기능이 특징이다.
  • Replicant - 보통은 공개되지 않는 제조사 특징적 드라이버를 리버스 엔지니어링을 통해 오픈 소스로 만든 배포판. 이 과정에서 삼성 모뎀 펌웨어의 백도어를 찾기도 했다.

버전 일람

안드로이드 홈페이지 참고 시스템 UI가 바뀔 경우 왼쪽 숫자가, 기능 추가만 하는 경우 오른쪽 숫자가 증가하는 경향을 띤다.

보면 알겠지만 코드네임들은 죄다 후식 이름에서 따왔다.

1.0 Apple/Alpha

1.1 Banana/Beta

1.5 Cupcake

1.6 Doughnut

에클레어 2.1

시장에 안드로이드가 알려지기 시작한 버전. 코드네임은 디저트의 일종인 에클레어에서 따왔다.

프로요 2.2

안드로이드가 완성이 되었다 할 수 있는 버전이다. 이전까지는 불안정성도 있었고, 기능도 많다고 할 수 없었으나 시장이 원하는 기능들을 수록해 퍼지기 시작한 버전. 하지만 그에 따라 무거워지기 시작한 버전이기도 하다. 코드네임은 프로즌 요거트, 말 그대로 얼린 요거트에서 따왔다.

진저브레드 2.3

RAM 관리가 좀 더 능동적이고, 빠른 앱 반응속도를 보여주게 되었다. 코드네임은 생강을 첨가하여 만든 쿠키의 일종인 진저브레드에서 따왔다.

허니콤 3.0 ~ 3.2

안드로이드가 태블릿 시장에 대응하여 내놓은 유일한 태블릿 전용 운영체제. 홀로(Holo) UI를 적용하기 시작했다. 코드네임은 벌꿀에서 따왔다. (다만 허니콤이라는 음식 혹은 시리얼 브랜드가 있다는 카더라가 있다. 자세한 내용은 추가바람.)

역대 최악의 안드로이드 버전으로 꼽히는 운영체제. 이게 말 그대로 태블릿 Only 였던지라 안 그래도 핸드폰 제조사들이 자기들 마음대로 안드로이드를 뜯어고쳐 내놓아 같은 안드로이드인데 한 제조사 폰에선 되는 게 다른 제조사 폰에서는 안되는 등 이른바 파편화가 심각하던 안드로이드에 파편화 문제를 더 얹어주는 꼴만 연출하고 말았다. 혼자만 간식이 아니라 식재료로 불릴때부터 알아봤어야 했어

아이스크림 샌드위치 4.0

허니콤을 시원하게(...) 말아먹고 내놓은 태블릿과 휴대폰 통합 버전. 레퍼런스 기기로는 갤럭시 넥서스(넥서스 프라임). 코드네임은 아이스크림을 사이에 넣은 빵인 아이스크림 샌드위치에서 따왔다.

젤리빈 4.1 ~ 4.3

프로젝트 버터를 통해 그래픽 성능을 대폭 끌어올렸다. 그리고 버전 3개를 울궈먹은 최장수 버전. 구글 나우가 이때 추가되었다. 레퍼런스 기기는 넥서스 4. 코드네임은 콩 모양의 젤리인 젤리 빈에서 따왔다(해리 포터 시리즈의 그 이상한 맛들이 나는 사탕이 젤리 빈의 일종이다).

4.1

4.2

4.3

태블릿용 UI가 삭제된 버전(정확히는 비활성화로, 4.4때 완전히 없어졌다.) 앱 옵스가 숨겨진 기능으로 생겼으나 이내 사라졌고 6.0때 다시 돌아왔다.

킷캣 4.4

홀로(Holo) UI를 적용한 안드로이드 최종 버전으로, 레퍼런스 기기는 넥서스 5다. 코드네임은 본디 '키 라임 파이'로 예상되었으나 의외로 유명 초코 과자인 킷캣으로 결정. 이유는 킷캣쪽이 사람들에게 가장 친숙하기 때문이라나... 문제는 다른 간식들은 이름에 저작권이라는 게 없지만 이것은 엄연히 지금도 저작권이 살아 숨쉬는 공산품 브랜드 이름이라 사용이 잘 될까 싶었는데 킷캣 제조사 측에서 원만히 넘어가준듯.

여러모로 좋아졌지만 단점도 많았는데, 가장 큰 단점은 외장 SD 카드 접근권한 금지조치로 이로인해 그동안 안드로이드에서 잘만 쓰던 외장 SD들이 순식간에 먹통이 되어버렸다. 사실 원래 안드로이드는 보안 문제 때문에 원칙적으로 외장 SD의 사용을 금지해왔는데(참고로 이는 iOS 제품들도 같은 이유로 금지하고 있다) 핸드폰 제조사들이 멋대로 외장 SD 인식 기능을 추가하여 사용자들이 쓰고 있었던 것이였고 구글도 원칙으로만 금지할 뿐 제조사들의 커스터마이징에 대해 손 놓고 있다가[1] 킷캣 버전에서 그걸 규격화 한 것이다.

구글의 원칙이야 어쨌건 그동안 방조하고 있다가 한참 뒤에서야 부랴부랴 금지시키니 그동안 외장 SD 사용에 익숙해져있던 사용자들이 현기증을 호소했고 결국 이는 다음 버전에서 다시 허용하는 쪽으로 바뀌면서 풀렸...지만 여전히 킷캣 자체는 외장 SD 사용 금지 상태이다. 따라서 최종 버전이 킷캣에서 멈춘 기기들은 선호도가 떨어진다. 허니콤도 그렇고 문제가 있는 간식명을 사용하면 망한다.

롤리팝 5.0 ~ 5.1

5.0

킷캣에서는 개발자용으로만 제공되던 ART(Android Runtime)가 롤리팝에서는 공식적으로 달빅을 대체하게 되었다. 그에 따라 앱용량이 커진다. 코드는 말 그대로 원형 막대사탕 롤리팝에서 따왔다.

새로운 디자인 언어인 "머티리얼 디자인"을 OS 전반에 적용하였다.

자동차 텔레매틱스안드로이드 오토, TV안드로이드 TV, 시계 등 웨어러블안드로이드 웨어 버전이 추가되었다. 이에 따라 안드로이드 TV용 레퍼런스 기기가 추가되었는데, 바로 넥서스 플레이어다. 휴대폰은 넥서스 6, 태블릿은 넥서스 10이다.

상술했듯 전 버전 킷캣에서 문제가 되었던 외장 SD 사용 금지 조치가 이 버전에서는 풀렸다.

32비트 음악 재생이 가능하게 되었다.

5.1

램 누수가 일부 리버전에서 해결됐다.

마시멜로 6.0

마시멜로 6.0은 6.0.1과 6.0.2 버전이 있으며, 롤리팝 버전에서 불안정 했었던 안드로이드 ART를 조금 더 개선하였으나, 개선되었을 것으로 보였던 RAM 누수 관련 문제의 경우 사용량이 오히려 롤리팝 보다 비약적으로 증가하는 경향이 있다.

지문인식의 공식 지원, 앱 권한 설정 관련 기능 추가 및 USB OTG 공식 지원(!)기능이 추가 되었고 안드로이드 페이가 기본적으로 탑재되었다. 매터리얼 UI의 경우 달라진 점은 거의 없어 살짝 다듬은 수준이며, 마쉬멜로우라는 이름에 걸맞게 롤리팝의 이스터에그인 플래피 버드 게임의 장애물 모양이 롤리팝에서 마시멜로 모양으로 바뀌었다. 게다가 난이도도 조정되었다.

레퍼런스 기기로는 넥서스 5X넥서스 6P가 있다. 넥서스 시리즈 최초로 두 제품이 동시에 출시되었다.

누가 7.0 ~ 7.1

7.0

대표적인 기능으로는 멀티윈도우 공식지원(!), 더욱 세심한 통제가 가능해진 앱 권한, 알림바에서 즉시 답장, 새로운 이스터에그(고양이 수집하기) 등이 있다.

7.1

7.1.1과 7.1.2 버전이 있으며, 아이폰의 3D Touch와 비슷한 Shortcut 기능, 전원메뉴에 다시시작 옵션이 추가되었다. 레퍼런스 기기로는 구글이 자체 기획한 픽셀픽셀 XL이 있다.

오레오 8.0

8.0

상단바에 알림이 뜨면 런처 아이콘 상단에 점이 하나 뜨는것 즉 '알림 도트'가 추가되었다. 또 '인스턴트앱' 이라는 기능이 추가되었다. 이는 기기에 어플리케이션을 직접 설치하지 않고도 브라우저에서 앱을 실행할 수 있는 기능이다. 이 기능은 오레오 뿐만 아니라 구형폰(젤리빈 이상)에서도 지원이 된다고 한다.

이스터에그는 그냥 문어 한마리가 떠다니는건데, 이동시킬때마다 다리가 쭉쭉 늘어나는것과 칙칙한 배경이 좀 거부감을 준다는 의견이 있다. 또 이 문어가 비대하게 커지면 거부감이 더하다고(..)

8.1

파이 9.0

노치 디자인을 위한 상단바가 기본으로 제공되는 버전이다. 시계의 위치가 왼쪽으로 이동하였으며, 제스쳐를 이용한 소프트키 조작이 가능하다. 또, Wi-Fi RTT 기능을 지원해 실내 위치의 파악도 가능해졌다.

루머

  • 안드로이드 M의 코드네임이 마카다미아 넛 쿠키가 되었다는 루머가 있었다.[2] 하지만 K의 코드네임이 키 라임 파이 인줄 알고 있었으나 최종적으로는 킷캣이었던 것처럼[3] M또한 마쉬멜로우가 되었다.
  • 7.0 누가 버전에서는 누텔라가 유력하다는 말이 많았으나,실제로는 누가로 결정되었다. 그와중에 우리나라 일부 사람들은 누룽지를 밀었다 카더라

변종

  • 샤오미의 경우 안드로이드 운영체제 기반에 인터페이스는 iOS의 것을 돚거참조하여 마개조한 MIUI라는 운영체제를 쓴다.

관련 문서

각주

  1. 이를 잘 보여주는 것이 바로 구글이 추구하는 기본 요소만 갖춘 레퍼런스 기기인 넥서스 시리즈인데 넥서스 시리즈들은 대대로 외장 SD용 슬롯이 안달려있다. 단순히 단가를 낮춘다고 그런게 아니라 정말로 외장 SD를 금지했기에 안 붙인 것.
  2. http://www.androidheadlines.com/2015/05/rumor-android-m-codenamed-macadamia-nut-cookie.html
  3. 키 라임 파이라는 명칭의 흔적은 남아있다.