IT와 일반적상식

안드로이드 (운영 체제)란

ngo2002 2011. 2. 7. 14:24

 

안드로이드 (운영 체제)

위키백과, 우리 모두의 백과사전.
안드로이드
Android
Android robot.svg
Android screenshot.png
안드로이드 2.3의 구동 화면
회사 / 개발자 오픈 핸드셋 얼라이언스1
상태 배포 중
소스 형태 자유 소프트웨어
오픈 소스 소프트웨어
최초 버전 출시일 2008년 10월 21일, 815일 경과
최신 버전 안드로이드 2.3 (Gingerbread)
최신 버전 출시일 2010년 5월 20일, 239일 경과
지원되는 플랫폼 ARM 아키텍처, MIPS 아키텍처, 파워 아키텍처, x86
커널형태 모노리식 커널
라이선스 아파치 2.0, GPL v2
웹사이트 android.com

   안드로이드(Android)는 휴대 전화를 비롯한 휴대용 장치를 위한 운영 체제미들웨어 그리고 핵심 응용 프로그램을 포함하고 있는 소프트웨어 스택이다. 안드로이드는 개발자들이 자바 언어로 응용 프로그램을 작성할 수 있게 하였으며, 컴파일된 바이트코드를 구동할 수 있는 런타임 라이브러리를 제공한다. 또한 안드로이드 SDK를 통해 응용 프로그램을 개발하기 위해 필요한 각종 도구들과 API를 제공한다. 안드로이드는 리눅스 커널 위에서 동작하며, 다양한 안드로이드 시스템 구성 요소에서 사용되는 C/C++ 라이브러리들을 포함하고 있다. 안드로이드는 기존의 자바 가상 머신과는 다른 가상 머신달빅 가상 머신을 통해 자바로 작성된 응용 프로그램을 별도의 프로세스에서 실행하는 구조로 되어 있다.

2005년에 안드로이드 사를 구글에서 인수한 후 2007년 11월에 안드로이드 플랫폼을 휴대용 장치 운영 체제로서 무료 공개한다고 발표한 후 48개의 하드웨어, 소프트웨어, 통신 회사가 모여 만든 OHA(오픈 핸드셋 얼라이언스)에서 공개 표준을 위해 개발하고 있다. 구글은 안드로이드의 모든 소스 코드를 오픈 소스 라이선스인 아파치 라이선스로 배포하고 있다.

[편집] 역사

  2005년 7월에 구글은 미국 캘리포니아 주의 팔로알토에 위치한 작은 안드로이드 사를 인수하였다. 2007년 11월 5일텍사스 인스트루먼트, 브로드컴 코퍼레이션, 구글, HTC, 인텔, LG전자, 마벨 테크놀로지 그룹, 모토로라, 엔비디아, 퀄컴, 삼성전자, 스프린트 넥스텔, T - 모바일의 몇몇 회사로 구성된 컨소시엄오픈 핸드셋 얼라이언스(OHA)가 모바일 기기의 공개 표준을 개발하는 것을 목표로 결성되었다.[1] 또한 OHA는 리눅스 커널 2.6에서 빌드된 그들의 첫 번째 모바일 기기 플랫폼 결과물인 안드로이드를 발표하였다.

2008년 10월 21일에 안드로이드가 오픈 소스로 선언되었다. 구글은 네트워크와 텔레폰 스택을 포함하는 완전한 소스 코드를 아파치 라이선스로 공개하였다.

2008년 12월 9일ARM 홀딩스, 아세로스(Atheros Communications), 아수스, 가르민, 소프트뱅크, 소니 에릭슨, 도시바, 보다폰으로 구성된 새로운 14개의 멤버가 안드로이드 프로젝트에 참여하였다.

2010년 12월 15일 현재 중국산 보급형 태블릿 단말 뿐만 아니라 갤럭시탭, 노션 잉크아담 등 하이엔드 유저를 겨냥한 태블릿 단말들이 출시되어 있는 상태로 안드로이드는 휴대전화 뿐 아니라 3G 또는 와이파이 전용 태블릿 단말에도 탑재되어 출시되고 있다.

[편집] 업데이트

안드로이드는 처음 출시된 뒤로 여러 번의 업데이트가 있었다. 업데이트의 내용은 주로 오류 수정이나 새로운 기능 추가로 구성된다. 참고로, 안드로이드의 각 버전들은 알파벳 첫글자를 오름차수에 맞춘 음식 이름(디저트)을 코드명으로 삼고 있다..

1.0
2008년 9월 23일 발표[2]
1.1
2009년 2월 9일 안드로이드 1.1 업데이트가 T-Mobile G1만을 위해 배포되었다. 이 업데이트는 아래 사항들을 포함한다:[3]
  • Multiple resolved issues
  • API changes
  • Maps adds details and reviews
  • Screen timeout longer when using speakerphone
  • "Show" & "Hide" Dialpad included in-call menu
  • Support for saving attachments from MMS
  • Support for marquee in layouts
안드로이드 1.5 컵케익(Cupcake)
(리눅스 커널 2.6.27)
2009년 4월 30일에 정식 1.5 (Cupcake) 업데이트가 공개되었다.[4][5] 몇몇 새로운 특징과 UI 업데이트가 1.5 업데이트에 포함되었다.:[6]
  • 캠코더 모드(camcorder mode)를 통한 동영상 녹화 및 재생
  • 전화를 통한 유튜브로의 동영상 업로드 및 피카사로의 그림 업로드
  • 문자 예측 기능을 제공하는 새로운 소프트 키보드
  • 블루투스 A2DPAVRCP 지원
  • 일정 거리 안에서 블루투스 헤드셋으로의 자동 접속
  • 홈 화면을 띄울 수 있는 새로운 위젯과 폴더
  • 애니메이션 화면 효과
안드로이드 1.6 도넛(Donut)
(리눅스 커널 2.6.29)[7]
2009년 9월 15일에 1.6 (Donut) SDK가 공개되었다.[8][9] 이 업데이트에 포함된 것들:[7]
  • 개선된 안드로이드 마켓
  • 카메라, 캠코더, 갤러리 인터페이스 내장
  • 갤러리는 사용자가 여러 장의 사진을 삭제할 수 있게 함
  • 전화 접속 연결을 포함하는 더 빠른 응답과 기본 응용 프로그램과 심화된 통합이 업데이트된 보이스 검색
  • 업데이트된 검색 체험을 통해 즐겨찾기, 열어본 웹 사이트 목록, 연락처, 웹을 홈 화면으로부터 검색할 수 있음
  • CDMA, EVDO, 802.1x, VPNs, 제스처, 문자열 음성 변환 엔진 기술 지원 업데이트
  • WVGA 화면 해상도 지원
  • 검색과 카메라 애플리케이션의 속도 향상
안드로이드 2.0 /
2.1 이클레어(Eclair)
(리눅스 커널 2.6.29)[10][11]
2009년 10월 26일에 2.0 (Eclair) SDK가 공개되었다.[12] 변화된 점들:[13]
  • 하드웨어 속도 최적화
  • 더 많은 화면 크기 및 해상도 지원
  • 개편된 사용자 인터페이스
  • 새로운 브라우저 UI와 HTML5 지원
  • 새로운 연결 목록
  • 배경을 위한 더 나은 흑백 비율
  • 구글 맵 3.1.2의 향상
  • 마이크로소프트 익스체인지 지원
  • 카메라를 위한 내장 플래시 지원
  • 디지털 줌
  • 멀티 터치 이벤트를 추적하는 모션 이벤트 클래스[14]
  • 개선된 가상 키보드
  • 블루투스 2.1
  • 라이브 배경 화면

2.0.1 SDK는 2009년 12월 3일에 공개되었다.[15]

2.1 SDK는 2010년 1월 12일에 공개되었다.[16]

안드로이드 2.2 프로요
(Froyo(Frozen Yogurt))
(리눅스 커널 2.6.32)[17][18]
2010년 5월 20일에 2.2 (Froyo) SDK가 공개되었다.[19] 변화된 점들:[20]
  • 종합적인 안드로이드 OS의 속도, 메모리, 성능 최적화[21]
  • 추가적인 응용 프로그램 속도 개선 (JIT 컴파일 이용)[22]
  • 크롬V8 자바스크립트 엔진 지원 브라우저 애플리케이션으로 통합됨
  • 마이크로소프트 익스체인지 지원 강화 (보안 정책, 자동 복구, GAL 검색, 일정 동기화, 원격 와이핑)
  • 폰과 브라우저 애플리케이션 바로 가기와 애플리케이션 실행 프로그램 개선
  • USB 테더링 및 와이파이 핫스팟 기능
  • 일괄 및 자동 업데이트 기능을 포함한 시장 응용 프로그램 지원[21]
  • 여러 키보드 언어와 해당 언어 사전들 간의 빠른 전환
  • 블루투스를 이용한 음성 전화 걸기 및 연락처 공유
  • 브라우저 애플리케이션에서 파일 업로드 필드의 지원[23]
  • 확장 메모리에 응용 프로그램 설치 지원[24]
  • 어도비 플래시 10.1 지원[25]
안드로이드 2.3 진저브레드
(Gingerbread)
(리눅스 커널 2.6.35)[26]
2010년 12월 6일에 2.3 (Gingerbread) SDK가 공개되었다.[27] 변화된 점들:[28]
  • UI 단순화 및 성능 개선
  • 텍스트 입력 및 선택 개선: 가상 키보드 재구성, 멀티터치 활용한 Shift 키 기능, 단어 선택을 위한 큰 커서 도입 등
  • 향상된 전원 관리: 배터리 소모 상황을 더 상세히 보여주며, 배터리 소모하는 백그라운드 앱을 종료시키는 등 더 적극적인 전원 관리 수행
  • 향상된 애플리케이션 관리: 애플리케이션 관리 기능에 각 애플리케이션 메모리/CPU 사용량을 체크하고 필요하면 종료할 수 있도록 배려
  • 인터넷 전화 지원(SIP)
  • NFC(영어: near-field communication) 지원: NFC 태그에 접촉했을 때 태그에서 읽은 데이터에 반응
  • 다운로드 관리: 다운로드 관리 애플리케이션이 강화되어 브라우저, 메일 등에서 다운로드 받은 파일을 쉽게 찾을 수 있게 배려
  • 자이로스코프, 회전 벡터, 선형 가속, 중력, 기압계 센서에 대한 지원 추가
  • OpenSL ES의 소프트웨어 구현 제공: 오디오 출력 기능 향상
  • 게임을 위한 성능 향상
    • 달빅 가상 머신의 병행 가베지 컬렉터 도입
    • 빠른 입력 이벤트 전달
    • 서드 파티 비디오 드라이버의 새 버전 사용으로 3D 성능 개선
  • 네이티브 애플리케이션 지원 강화
    • 직접 입력/센서 이벤트 수신
    • EGL 라이브러리에 직접 접근
    • NativeActivity 구현
    • Asset/Storage Manager 접근
    • NDK 향상
  • 다양한 오디오 효과를 조합해 쓸 수 있게 배려: 이퀄라이저, 베이스 강화 등
  • 새 코덱 지원: VP8 및 WebM 지원, AAC, AMR
  • 다수 카메라 제어 가능하도록 카메라 API 향상
  • 오픈코어(영어: OpenCore)를 대체하는 새 미디어 프레임워크: 기존 코덱/컨테이너 지원 유지
  • 달빅 가상 머신 개선: 병행 GC, JIT 컴파일 최적화, 코드 검증 개선, 성능/메모리 문제 발견 위한 StrictMode 디버깅
2.4
아이스 크림 샌드위치
(Ice Cream Sandwich)[29][30][31]
3.0
허니콤(Honeycomb)[32]
안드로이드 태블릿을 정식 지원하기 위한 일종의 마이너 업그레이드. 2011년 1·4분기에 출시가 예정[33]되어 있으며 2010년 12월 9일 허니콤을 탑재한 모토롤라의 태블릿 시제품이 공개 되었다. 3D 지도를 가진 구글 지도 서비스가 핵심 기능으로 선보였다.[34][35][36]

다음의 기능이 추가될 예정이다.[37]

  • 태블릿 PC에 최적화된 화면 지원
  • 새롭게 디자인 된 위젯을 포함한 3차원 데스크톱 화면
  • 개선된 멀티 태스킹
  • 인터넷 브라우저의 개선
    • 개선된 탭 기능
    • 개선된 자동 형식 완성 기능
    • 프라이버시 브라우징 지원
    • 구글 계정에 북마크 목록 동기화 지원
  • G토크를 이용한 영상통화 지원

[편집] 구성 및 특징

핸드셋 레이아웃 플랫폼은 VGA, 2D 그래픽스 라이브러리, OpenGL ES 1.0에 기반을 둔 3D 그래픽스 라이브러리를 확장하기에 적응적이다.
저장소 데이터 저장 목적의 SQLite 데이터베이스 소프트웨어가 사용됨
통신 안드로이드는 GSM/EDGE, CDMA, EV-DO, UMTS, 블루투스, 와이파이를 포함하는 커넥션 기술을 지원한다.
메시징 SMSMMS가 가능.
웹 브라우저 오픈 소스인 웹키트 응용 프로그램 프레임워크 기반의 브라우저 지원.
자바 지원 자바로 작성된 소프트웨어는 달빅 가상 머신에서 실행 가능한 코드로 컴파일된다. 달빅 가상 머신은 표준 자바 가상 머신은 아니지만 모바일 기기를 위해 설계된 가상 머신이다.
미디어 지원 안드로이드는 다음의 오디오/비디오/이미지 포맷을 지원한다: H.263, H.264 (3GP 또는 MP4 컨테이너), MPEG-4 SP, AMR, AMR-WB (3GP 컨테이너), AAC, HE-AAC (MP4 또는 3GP 컨테이너), MP3, 미디, OGG Vorbis, WAV, JPEG, PNG, GIF, BMP.
추가 하드웨어 지원 안드로이드는 카메라, 터치스크린, GPS, 가속도센서, 나침반센서, 트랙볼 2D 그래픽 가속, 3D 그래픽 가속을 활용할 수 있다.
개발 환경 기기 에뮬레이터, 디버깅 도구, 메모리와 성능 프로파일링을 포함하는 이클립스 IDE 플러그인.
마켓 iOS앱 스토어와 유사한 안드로이드 마켓은 PC 사용 없이 무선으로 대상 하드웨어로 다운로드 와 설치가 가능한 응용 프로그램 목록을 제공. 원래 프리웨어만 지원 되었으나 2009년 2월 19일 부터 유료 애플리케이션도 제공되었다.
멀티 터치 안드로이드는 멀티 터치를 네이티브로 지원하지만 (애플의 터치스크린 기술 특허 침해를 피하기 위해) 커널 수준에서 비활성화되었다. 멀티 터치를 가능하게 하는 비공식 변형이 개발되었지만 장치에 접근하기 위해 슈퍼 사용자 권한이 요구된다. 미국 이외 국가의 안드로이드 기기들은 멀티터치가 가능하다(애플 사의 멀티터치 특허권이 미국에 한정되기 때문. 대표적인 예로써 드로이드의 유럽형 버전인 마일스톤(Milestone)은 핀치 크기 조절이 가능함)
블루투스 블루투스를 통한 파일 전송이 버전 2.0에 추가되었다.
영상통화 안드로이드는 영상통화를 지원하지 않는다. 하지만, 전화기에 UI 및 프로그램을 추가하여 사용할 수 있기는 하다. HTC Evo4G에서는 HTC 자체의 센스(Sense) UI를 사용하여 영상통화를 지원한다.

HTC가 아니라도 제조사가 영상통화를 지원하게 한다면 가능하다.