.모바일Story.

.아이폰 iOS4 멀티태스킹에 대한 오해와 진실.

latte4u 2010. 6. 23. 13:12
왜 해킹한 사람들은 멀티태스킹이 된다는데, 정식 펌웨어 사용자는 안되는걸까? 나도 멀티태스킹하려면 해킹을 해야만 하나? 그런데, 이번에 새로 나온 iOS4 에서는 멀티태스킹을 지원한다잖아! 얏호~

아이폰 iOS4에서 많은 사람들이 기대한 것은 멀티태스킹(Multitasking)이었습니다.

그런데, 정작 iOS4로 업데이트를 하고나서 많은 사람들이 사기당한 기분이었습니다. 멀티태스킹 된다고 했는데, 예전과 별반 달라진게 없기 때문이죠. 그럼 정말 우리는 스티브 잡스에게 사기 당한걸까요? WWDC 2010 발표장에서 보여줬던 영상들도 다 눈 속임일까요?

애플 아이폰의 멀티태스킹에 대한 오해와 진실에 대한 이야기입니다.

#1 멀티태스킹에 대한 이해
멀티태스킹은 잘 아시는 것처럼 동시에 여러가지 일을 수행하는 것을 말합니다. PC에서는 음악을 들으며, 동영상 인코딩을 하면서, 이메일을 작성하는 것과 같이 한번에 여러가지 애플리케이션을 실행할 수 있습니다.

#2 아이폰은 멀티태스킹을 할 수 있는가?
아이폰의 심장부인 운영체제(OS)는 유닉스에 기반을 둔 맥 컴퓨터의 Mac OSX의 축소판입니다. 
1969년생 유닉스 (이미지 출처: http://www.unix.org/ )

아이폰 OS의 증조 할아버지뻘 되는 유닉스는 PC에서 사용하는 윈도우 같은 것과 비교할 수 없을 정도로 강력하고 안정적인 시스템입니다. 여러분이 알고 있는 모든 기업들은 회사를 운영하기위해 거대한 IT 시스템을 사용하는데, 작게는 수십명에서 크게는 수천, 수만명이 함께 사용할 수 있도록 강력한 유닉스 시스템이나 메인프레임을 사용합니다.

아래 이미지는 유닉스의 역사입니다. 1969년 탄생한 유닉스는 시간이 지나면서 여러 패밀리를 이루게 되고, 그중 하단에 표시된 애플의 Mac OS X가 아이폰의 어머니뻘되시는 분입니다. (사실, 이렇게 따지기 시작하면 안드로이드도 아이폰과 친척관계입니다. )

[유닉스 Family Tree]

(이미지를 누르면 커져요 : 출처 http://www.netneurotic.de/mac/unix/timeline.html )

증조 할아버지가 이렇게 강력한데, 증손자 녀석인 아이폰 OS가 설마 멀티태스킹 정도를 못할까요? 근본적으로 아이폰 OS는 처음 태어날 때부터 멀티태스킹을 할 수 있었습니다. 왜냐면, 증조 할아버지 유닉스는 멀티태스킹이라는 개념을 실제로 구현한 최초의 컴퓨터 시스템이었으니까요. 

하지만, 모바일 장비에서 멀티태스킹을 하는 것은 메모리와 배터리에 많은 제약이 발생하고 작은 화면에서 버벅거리는 멀티태스킹보다는 직관적인 빠른 실행이 더욱 매력적이기 때문에 애플은 아이폰 OS가 할 수 있음에도, 멀티태스킹은 아이폰 기본 애플리케이션에서만 사용할 수 있게 제한합니다. 전화, 사파리 같은 기본 어플은 예전부터 멀티태스킹이 되었습니다.

물론, 해킹을 하면 멀티태스킹이 된다는 것은 아이폰 OS가 근본적으로 멀티태스킹이 가능하기 때문에 해킹을 통해 그 제한된 기능을 활용하는 것이죠.

#3 멀티태스킹 안된다고 오해하지 마세요
아이폰 OS는 멀티태스킹을 할 수 있지만, 애플은 기본 애플리케이션만 멀티태스킹을 허용했다가, 사용자들의 요구와 안드로이드와의 경쟁때문에 멀티태스킹을 고민할 수 밖에 없게 되었죠.

아이폰 iOS4 업데이트하고 멀티태스킹이 안된다고 말씀하시는 분들은 오해하고 있는 것이 한가지 있습니다.

아이폰 iOS4에서 기본 애플리케이션을 제외한 3rd Party 애플리케이션들이 멀티태스킹이 되려면, 애플리케이션이 멀티태스킹API를 사용해서 멀티태스킹을 지원하게끔 개발되어야 합니다. 이게 뭔 소리냐면, 예전부터 사용하던 애플리케이션은 멀티태스킹을 지원하게 개발된게 아니라서 멀티태스킹이 작동하지 않습니다.

멀티태스킹을 지원하는 애플리케이션으로 새롭게 만들어야만 멀티태스킹이 됩니다. 그렇지 않으면 매번 실행시마다 재로딩하는 과정을 거치는 예전과 다를바가 없습니다.

현재, iOS4의 멀티태스킹 기능을 추가한 애플리케이션들이 속속 등장하고 있습니다. DropBox, Evernote, Clien 등 멀티태스킹을 지원하는 애플리케이션으로 테스트 해보세요.

#4 아이폰 iOS4 멀티태스킹 방식
아이폰과 같은 작은 모바일 기계에서 멀티태스킹은 메모리와 배터리, 전체 성능이 저하될 수 있는 문제에 봉착하게 됩니다. 앞서 말씀드린대로, 버벅거리는 멀티태스킹보다는 깔끔한 싱글태스킹이 더 좋습니다. 그렇다면, 성능저하도 없이 배터리 소모도 없이 어떻게 아이폰 iOS4의 멀티태스킹은 실현되었을까요?

아이폰의 멀티태스킹은 사용자 입장에서 약간의 눈속임이 들어갔습니다. 멀티태스킹으로 다른 애플리케이션으로 전환을 하게되면, 사용하던 애플리케이션은 현재 상태를 저장해둡니다. 그리고, 다시 그 애플리케이션이 실행되면 재빨리 저장되었던 상태를 복원하여 화면에 보여주게 됩니다.

이런 방식을 사용하는 것은, 일단 현재 상태를 저장해두었기 때문에, 언제든 이 상태로 다시 돌아올 수 있고, 그 동안에는 메모리에 이 어플이 실제 실행되고 있지 않아도 문제가 되지 않습니다. 바로 이런 방식 때문에 메모리나 배터리 문제, 성능문제를 해결했다고 하는거 같습니다.

여기서 생각해볼 것은 멀티태스킹도 두가지 경우가 있을것으로 보이는데요.
1. DropBox처럼 문서를 보는 경우 : 상태저장 -> 복귀
2. 스카이프처럼 계속 뭔가 신호를 받아야하는 경우
   상태저장 -> 최소한의 전화수신체크 모듈만 백그라운드 실행 -> 복귀

이 부분은 제가 멀티태스킹API 개발문서까지 보지 않아, 추측을 해보았습니다.

추가 : 아이폰 iOS4 7가지 멀티태스킹 API
  1. Background audio : 인터넷 라디오
  2. Voice over IP : 스카이프와 같은 인터넷 전화
  3. Background location : GPS 위치 추적
  4. Push notifications : 서버에서 알림
  5. Local notifications : 아이폰 자체에서 알림
  6. Task finishing : 다운로드 서비스
  7. Fast app switching : 단순 상태 저장후 전환

#5 멀티태스킹이야? 최근 실행 어플 목록이야?
홈버튼을 빠르게 두번 누르면 실행중이 어플 화면 하단에 최근 실행한 어플 목록을 볼 수 있습니다. 정확하게 이 부분은 최근 실행 어플 목록에 가깝습니다. 물론, 이 영역에 멀티태스킹 어플도 함께 보여지지만, 눈으로는 어느 것이 멀티태스킹으로 실행중인 어플인지는 알기 어렵습니다.
  
(목록에서 제거하려면 흔들흔들 모드에서 삭제 : 목록에서 제거하면 멀티태스킹도 종료)

그럼 애플은 왜 이렇게 헷갈리게 만들어 놓았을까요?

그것은 애플의 철학인 '사용자는 쉽고 편리하게 사용하는 것이 최고'라는 모토와 일치합니다. 사용자는 어플이 멀티태스킹을 하든 말든 메모리에 있던 말든 신경쓰지 않아도 됩니다.

몇몇 분들이 메모리 관리 프로그램으로 메모리에 상주한 어플을 체크하고 제거해야 Free 메모리가 늘어난다고 말씀하시는데, 그럼 OS는 왜 필요한가요. 애플 iOS4가 멀티태스킹을 하고 메모리 관리는 알아서 합니다. 사용자가 그런것까지 신경써가며 WM처럼 아이폰을 사용한다면 얼마나 불편하겠습니까?

그러니, 하단에 나타나는 어플 목록은 그냥 최근 실행 어플 목록으로 생각하시고, 그 중에 멀티태스킹이 되는 것은 종료되기 전 화면을 불러올것이고, 아닌것은 재로딩을 하게되니, 너무 복잡하게 생각하지 마세요.

그냥 자유롭고 편하게 사용하는 것이 아이폰의 매력입니다.

추가 : 홈버튼을 한번 누르는 것과 두번 눌러서 최근실행앱 목록을 보고 다른 어플을 실행하는 것은 멀티태스킹 입장에서 차이가 없습니다. 홈버튼을 한번 눌러서 종료하더라도, 멀티태스킹 어플은 메모리가 허락하는 한 백그라운드로 전환됩니다. 예를들어, 사파리 웹브라우져와 멀티태스킹 지원하는 트위터 공식앱을 번갈아가면 홈버튼으로 빠져나온 뒤 실행해보면, 종료전 상태를 기억하고 다시 보여줍니다. 홈버튼을 두번 눌러서 최근실행앱 목록에서 실행 전환하는 것과 차이가 없습니다. 물론, 최근실행앱 목록은 홈화면에 안나가고 곧바로 실행하니, 한 단계 더 빨리 실행할 수는 있죠.

#6 글을 마치며...
아이폰 멀티태스킹 안된다고 기분 상해하실 필요 없구요. 아이폰은 태생부터 유닉스 할아버지의 슈퍼 울트라급 멀티태스킹 DNA을 받은 녀석입니다. 다만 모바일이라는 제약때문에 애플은 약간의 꽁수를 둬서 시스템에는 무리가 가지 않으면서 사용자에게는 멀티태스킹의 편리함을 제공하는 방식으로 구현했습니다.

멀티태스킹이 안되네 실망하지 마시고, 조금만 기다리시면 멀티태스킹 어플이 쏟아질것입니다.

저작권 :: Latte's Planet의 글은 기본적으로 펌금지입니다. 저작권 관련 공지 보기