시간: 2011년 04월 12일 화요일
장소: 역삼동 한국과학기술회관 지하1층 대회의실
주최: MDS Technology
후원: 한국정보산업연합회 임베디드소프트웨어산업연합회, 마이크로소프트
광주스마트모바일앱개발지원센터에서 추천해 준 컨퍼런스라 사업화 인원 모두가 가기로 했었는데 개인사정으로 본인만 다녀왔다.
MDS 테크놀로지는 임베디드 시스템의 디버거를 주력 상품으로 판매하는 하드웨어 중심의 업체이고, 컨퍼런스의 전반적인 방향 또한 하드웨어 특히, 앞으로 임베디드에도 많이 비중을 차지할 안드로이드 운영체제와 그 것을 이용하는 하드웨어, 개발 방법론 등에 초점이 맞춰져 있었다.
CEnA는 거의 순수 소프트웨어 개발을 지향하고 있기 때문에 딱 맞는 주제는 아니었다. 다만, 우리가 만드는 소프트웨어의 밑바닥에 깔린 하드웨어와 아키텍쳐 등에 대한 지식을 얻을 수 있어서 조금은 도움었다고 생각한다.
2011년 스마트 디바이스 시장 전망 및 과제
CEWIT Korea 본부장 / 앱센터지원본부 전문위원 김규호 공학박사
임베디드 시스템이라 함은 컴퓨터가 여러가지 (거의 모든) 동작을 위해 설계된 것과 반대로, 용도에 맞게 특정 기능만을 수행하도록 커스터마이징된 컴퓨터라고 볼 수 있다. 예를 들어 전기밥솥, 냉장고 같은 기기는 각각의 고유 목적에 맞게 컴퓨터의 일부 기능만을 선택해 사용하게끔 소프트웨어와 하드웨어를 구성한다. 범용을 쓰면 단가가 올라가기 때문이다. 하지만, 요즈음 스마트 TV, 스마트폰, 스마트 그리드 등의 신제품 들은 컴퓨터 처럼 모든 기능을 갖추고 있다. 반대로 컴퓨터의 기능에 TV, 전화기 등의 기능을 추가한 것이라고 봐도 무방할 것 같다.
임베디드 시스템이 스마트 디바이스로 진화하는 단계에 와있는 것이다.
이 것은 결국 IT와 다른 산업과의 연계로 이어지는데, 센서의 값을 추출하고, 네트워크를 통해 전송하고, 계산하고, 제어하는 기술들이 다양한 분야에 활용될 수 있기 때문에, “융합”이라는 이름으로 정부에서도 적극 지원하는 것을 알수 있다. 스마트 폰은 물론이고 차량과 TV에 이미 이런 스마트 디바이스를 활용한 IT 기술들이 융합되고 있다.
이러한 환경은 서비스 개발에 어떠한 기술을 사용했느냐, 퍼포먼스를 얼마만큼 상승시켰느냐와 같은 정량적인 가치에 집중하지 않는다. 얼마나 편한가, 얼마나 아름다운가와 같은 정성적인 판단 기준이 평가 되어질 것이다. 곧, 이것이 UX/UI 와 연계되는데 이것은 공학적인 측면이 아니라 인문학, 심리학적인 측면에서 서비스 개발을 진행해야 한다는 것을 의미한다.
(이제 기술을 자랑하는 것은 부질 없는 것 같다. ㅜㅜ)
국내뿐만 아니라 전 세계적으로 스마트 기기의 열풍이 불고 있는 현 상황에서, 개인 또는 소규모 개발자들이 살아남을 수 있는 모바일산업 생태계가 구축되어 있음은 상당히 고무적인 일이며, 새로운 도전 기회가 될 것이다. 이전에는 IT에서의 개인 개발자는 먼지와도 같은 조그만 비중을 차지하고 있었을 뿐이지만, 앱스토어와 같은 오픈 마켓이 등장하면서 생태계의 구조가 바뀌어 소수의 개발자들도 소위 먹고 살 수 있는 구조가 된 것이다.
트렌드는 앞으로도 계속 변화할 것이다.
- 기능성 → 새로운 가치
- 고정 기능 → 맞춤형
- 임베디드 → 플랫폼
- 하드웨어 → 소프트웨어
- Stand Alone → Cloud, Ubiquitous
- 제품 → 서비스
이런 트렌드에 대응하기 위해서는, 프로젝트 별 개별 설계되는 포트폴리오로는 살아남지 못한다. 플랫폼을 만들고 서비스를 제공해야 한다. 기술의 완벽성은 포기하고 기술을 어떻게 적용/응용할 것인가에 초점을 맞춰라.
(사실 말처럼 쉽지는 않은 것 같다. 적용된 기술의 레벨이 얕으면 전체적인 완성도를 보장할 수 없지 않을까? 최적화 되지 않은 소프트웨어를 하드웨어 퍼포먼스로 커버하려는 안드로이드의 정책과 맞아 떨어지는 것 같아 씁쓸하기도 하다.)
Enabling 1 Billion Smartphone with Vibrant SW Eco System ARM
ARM Korea / 홍강유 과장
ARM은 임베디드 시스템에 주로 쓰이던 CPU를 포함한 코어 아키텍쳐이다. 윈도우와 인텔(윈텔, Wintel: Windows + Intel)이 PC 시장을 지배하였다면, ARM은 안드로이드와 손 잡고 Armdroid 제국을 세우려고 하는 것 같다. 이미 안드로이드가 전체 스마트 기기의 절반이상을 차지하고 있기 때문에 전혀 가능성이 없는 이야기만은 아닐 것이다.
발표자가 했던 말 중에 인상 깊었던 말은 한국 개발자들이 대단하긴 하지만 특정 분야에 전문가가 없다는 것이다.
외국의 경우엔 단일 분야를 지속적으로 연구할 수 있는 여건이 되기 때문에 전문가로 성장할 수 있지만, 국내 개발자들은 위에서 시키는 일을 닥치는 대로 처리해내기 때문에, 프로젝트를 수행하는 능력에 있어서는 혀를 내두를 정도이지만 정작 그 분야의 전문가는 나올 수가 없다.
실제로 소프트웨어 개발자의 경우도, 하드웨어에 대한 지식 없이 프로그래밍을 하기 때문에 수박 겉핥기 식의 개발이 되버린다. (많이 공감이 되는 말이다. 그럼에도 우리는 여건이 안되기 때문이라는 말로 변명을 하고 있지는 않은가 생각해본다.)
모바일기기에 적합한 ARM 코어는 처리 속도도 계속해서 올리고 있으며, 듀얼코어, 쿼드코어를 생산할 계획이다. 싱클코어로 처리속도를 높이려면 전력이 많이 소모되기 때문에, 낮은 전력으로 듀얼 코어를 돌리는 것이 전원 관리 측면에서 더 유리하다는 것이다.
하나의 시스템에서 여러 운영체제를 돌린다거나, 보안을 목적으로 운영체제 영역을 독립시기는 가상화(Virtualization) 이슈도 멀티코어 프로세스가 필요한 이유 중 하나다.
태블릿과 스마트폰을 위한 인텔의 아톰프로세서
인텔코리아 최진욱 상무
인텔은 ARM과 경쟁상대이다. 먼저번 세션의 발표자가 ARM 이 인텔보다 좋다고 말한 것에 대해 반박하는 모습이 흥미로웠다. 두 세션을 들어본 결과 아직까지 완성도가 높은 쪽은 인텔이 아닌가 생각이 든다. 적용되는 플랫폼의 차이일 수도 있고… 인텔은 넷북 기준으로 아래 쪽으로 범위를 확장하고 있고, ARM은 아주 밑인 임베디드 쪽에서 올라오는 방향으로 확장하고 있으니 중간 지점인 스마트 디바이스에서 서로 격돌할 것이다.
인텔은 넷북에 쓰인 아톰 프로세서를 스마트 기기에 적합하게 전력 소모를 줄이고, 아키텍쳐를 보강하는 식으로 로드맵을 잡고 있다. 네트워크 분야에서 들으면 알 수도 있는 이름 있는 업체들을 인수/합병해서 아키텍쳐를 확장하고 있다. (자세히 기억이 나질 않는다.)
인텔과 ARM이 앞으로 어떻게 시장을 만들어나갈지 주목 된다.
융합 환경에서의 스마트 디바이스 역할 및 보안 이슈
안철수 연구소 최은혁 실장
스마트 디바이스 즉, IP device가 보급이 엄청나게 들어나면서, 플랫폼 기반의 산업이 강세를 보이고 있다. 앞서 세션에서도 언급하였지만 애플의 앱스토어 안드로이드 마켓이 개발자와 기기 사용자의 생태계를 선-순환 되도록 주성해주는 연결 고리 역할을 하고 있다. 이로 인해 소수 개발자는 이전 보다는 많은 판로를 자동으로 개척해 놓고 먹고 들어가게 되는 것이다.
스마트기기를 통한 정부 행정 서비스도 대규모로 계획되어 있고, 가상화 이슈도 대단히 많다. 그에 따라, 당연히 보안 이슈가 나타나기 마련인데, 아직까지는 여러 관점에서 취약한 편이다.
앱의 약관도 개인정보 수집에 적합하도록 제공하여야 하며, 특히 안드로이느는 스파이웨어, 악성 코드 등에도 주의를 기울여야 한다. 앱을 등록 후 .so 파일을 내부에서 다운로드 받아 교체할 수가 있다고 한다.
페이스북 과 같은 SNS 도 개인정보 보호에 취약한 것으로 나타나 주의가 필요하다. (사실 난 그냥 막 개인정보 노출하는데…)
크로스 플랫폼 기술 동향 및 향후 발전 방향
SKT / 김후종 상무
최근 앱스프레소라고 하는 개발 플랫폼이 미디어를 통해 많이 소개되는 모습을 봤다. 이 플랫폼을 기반으로 하면 iOS, Android, WindowPhone, BlackBerry 등 운영체제에 상관없이 동일한 코드로 프로그래밍을 할 수 있다는 것이다.
하지만 크로스 플랫폼 솔루션이라고 하는것이 거의 두 분류로 구분이 되는데 하나는, 가상머신(VM)형태로 돌려주는 Run-time 방식이고, 다른 하나는, 컴파일 단계에서 각자의 플랫폼 용으로 컴파일 해주는 Compile-time 방식이다.
응용프로그램 형태 말고 HTML5가 등장하면서 또 하나의 크로스 플랫폼 이 등장해 있는 상황이다.
개인적으로는 모두 다 속도나, 호환성, 보안 등에 문제가 있는 것 같다.
어쨌든 SK도 Conpanna(콘파나)라고 하는 플랫폼을 오래전 부터 준비해오고 있으며, Compile-time 방식이기 때문에 완성도만 높다면 사용해볼만한 가치도 있다고 생각된다.
안드로이드 쪽 과금 문제로 앱 판매를 크로스플랫폼으로 해야하느냐에 대한 고민이 많은데, 하여간 좀 더 고민해 볼 일이다.
모바일 비즈니스 전략방향과 이슈
KT 이경수 상무
상당히 조용히 웃기신 분이었다. 좀 졸긴 했다.
KT가 앞으로 어떻게 사업을 진행해 나갈 것인가를 소개하는 자리였는데, WAC 을 적극적으로 밀려고 하는 것 같다.
WAC은 Wholesale Applications Community의 약자로 플랫폼 제공자들이 결성한 통합 오픈 마켓이다. 개발자가 이곳에만 어플리케이션을 등록하면 되도록 하는 규격인데, 여기에 KWAC (Korean WAC)이란 것 중간에 추가해서 국내 개발자들 또한 지원하겠다는 것이다.
솔직히, 이 것이 먹힐지 안 먹힐지는 잘 모르겠다. 이미 있는 마켓만 커버하기도 힘든데… 결국 모두 통합된다면 개발자는 편하겠지만, 각자의 이익을 위해 또다시 분열되지나 않을지 걱정이 된다.
스마트 디바이스 개발을 위한 효율적인 디버깅 방법
MDS테크놀로지 성수현 과장
MDS에서 개발한 디버거를 이용해서 안드로이드 운영체제의 아키텍쳐를 디버깅할 수 있는 툴을 소개했다. 일반 안드로이드 스마트폰이 아니라 디버깅을 위한 JTAG 포트를 가지고 있는 별도의 안드로이드 디바이스가 있어야 가능하다.
JNI/HAL 등의 디버깅도 가능하고, 앞으로 기능 개선을 계속 하고 있다고하니 심도 있게 개발 분석을 할 거라면 눈여겨볼 솔루션인 것 같다.
스마트 디바이스 개발을 위한 효율적인 테스팅 방법
MDS테크놀로지 우경일 팀장
테스트 단계에서 수동으로 반복적인 테스트를 하는 것이 비효율 적이기 때문에 자동으로 테스트하는 솔루션 TestExpress을 소개했다.
매크로 처럼, 한 번 입력한 동작을 무한 반복한다던지 로그를 남긴다던지 하는 작업이 가능하다.
별도 부스에서 데모하는 것을 봤는데 마치 사람이 터치하는 것처럼 계속해서 돌리는 것을 보니 신기하긴 하더라.
지금은 안드로이드 쪽만 사용 가능하지만, 아이폰도 별도 라이브러리를 통해 테스팅이 가능하도록 한다고 하니 이 것도 눈 여겨 볼만하다.
마이크로소프트의 임베디드 전략과 Windows Embedded Compact7 소개
한국마이크로소프트 이창섭 부장
마이크로소프트도 임베디드 및 스마트 기기에 대응하는 운영체제를 놀라울 정도로 많이 준비하고 있었다. 우리가 스마트폰에서 볼 수 있는 윈도우폰7 이외에 윈도우 임베디드 7 시리즈가 Compact, Standard, Server, Device Manager, Handheld, Automotive, POSReady, ThinClient, Enterprise 등… 엄청나다. 마이크로소프트가 확실이 덩치도 크고 비효율적으로 흘러가는 것 같다. 어찌 보면 다양한 사용자 요구에 대응하기 위해서는 당연한 것 같기도 하고…
실버라이트도 끝까지 놓질 않는다. 모바일용으로 리팩토링된 실버라이트를 임베디드 OS 쪽으로 탑재했다고 한다.
모두가 알고 있는 것처럼, MS 솔루션들은 “무한한 범용성” 이기 때문에 기능이야 비교하지 않아도 될 것 같다. 다만 여러 기기에 iOS 하나로 대응하는 애플 정책과 자연스레 비교되긴 한다. (적용 범위가 다르다 하더라도…)
모바일 가상화 기술을 이용한 스마트 디바이스 개발
MDS technology 구성모 이사
가상화란 물리적인 자원을 논리적으로 분리하거나, 반대로 여러 물리적 자원을 하나의 논리 자원으로 인식하도록 하는 기술이다.
부하가 많이 걸리는 특정 작업을 할 경우를 제외하고는 대부분의 자원 (CPU, 메모리, 주변 장치) 들이 100% 사용되고 있지 않기 때문에, 실제로 가상화를 구현하더라도 우리가 생각하는 것만큼 성능 저하는 크지 않다고 한다.
특히나 모바일 기기 등에서는 특정 function이 특정 플랫폼에서만 돌아가도록 설계된 경우가 많기 때문에 (예를 들어 퀄컴 칩을 제어하려면 Android로는 불가하다던지) 하나의 운영체제에서 사용 가능하도록 기존 코드를 재설계하는 대신, 가상화를 이용해 운영체제를 두 개 이상 돌아가도록 만드는 것이 더 효율적이라는 것이다.
또 하나의 장치로 개인용 영역/ 회사용 영역을 구분해 한 쪽에 보안 위협이 있더라도 다른 쪽 데이터를 안전하게 지킬 수 있다는 장점이 있다.
OK Lab이라는 솔루션이 있어서 이 가상화를 해주는데 역시나 제품 소개였다.
다만 MDS 회사가 역사도 길고, 먼저 번 세션에서 소개한 디버깅 툴, 테스트 툴, 가상화 솔루션 등에 대해서 굉장히 오랫동안 연구하고 노력한 티가 났다.
스마트 디바이스 플랫폼 개발자들이 알아야 할 안드로이드 최근 개발 이슈
Kandroid 운영자 임근식(인베인)
발표자가 오탁후 냄새가 풀풀 났다. 뭐 그정도로 한 곳을 팠다는 말도 되니까… 화술은 좀 미흡한 것 같았는데 안드로이드에 대한 철학이나 지식의 내공이 상당히 깊게 느껴졌다.
안드로이드의 역사를 설명하고 그동안 양적 팽창을 해왔다면 앞으로는 질적 향상을 위해 구글 자체적으로도 개발자 레벨에서도 노력이 이루어져야한다는 것을 강조했다.
진저브레드 (2.3), 허니컴 (3.0) 이 나온 상황에서 이 두 버전을 통합하고 스마트폰, 태블릿에서 모두 사용할 수 있는 형태의 버전 아이스크림 케이크(2.4)가 나올 예정이라는 것은 뭐 다 알고 있을 것 같다.
안드로이드 아키텍쳐를 설명하고 백그라운드로 수백개의 스레드가 돌아가는데 이것을 얼마나 효율적으로 관리하느냐가 관건이다. 안드로이드도 계속해서 스레드 관련 함수를 추가하고 있다.
보는 관점에 따라 틀리겠지만, 안드로이드는 애플의 iOS 가 가진 목표와는 다른 것을 추구하는 것 같다. 훨씬 더 범용이고, 훨씬 더 컴퓨터 같고(!)…
마치며
서두에 말한 것 처럼, 초점이 앱 개발과는 동 떨어져 있었지만, 소프트웨어 밑에서 하드웨어나 아키텍쳐가 어떻게 구성되어 있는지, 어떻게 돌아가는지 알 수 있는 좋은 시간이었던 것 같다.
]]>
댓글 남기기