모바일폰시스템의이해 강대기
차례 소개 모바일폰운영체제 개요 모바일폰산업동향 모바일기기운영체제 모바일폰응용프로그래밍언어 Java 언어 C 언어 2
소개 (1/3) 1970 년대 1980 년대 2000 년대 Mainframe 시대 시대 PC PC 시대 시대 Post PC Post PC 시대 < 컴퓨터 컴퓨터패러다임의 패러다임의변화 변화 > 3
소개 (2/3) 단위 : 천대 제품 연도 2000 2001 2002 2003 2004 연평균성장률 인터넷 TV 13,992 18,334 19,336 18,736 17,808 6.2% 인터넷폰 1,427 1,779 2,213 3,013 3,616 26.2% 인터넷게임기 8,400 16,005 25,410 25,603 22,638 28.1% 전자메일단말기 539 1,549 2,946 3,988 4,566 70.6% 웹단말기 259 694 1,609 3,374 6,547 124.2% 지능형단말기 3,348 6,619 12,592 21,599 33,176 77.4% 기타 48 257 439 589 690 94.7% 총계 28,013 45,237 64,545 76,899 89,041 33.5% < 세계 세계정보기기 정보기기시장 시장동향 동향 ( 출처 출처 : RCW Mirus, 2001) > 4
소개 (3/3) 2001 년도전세계마이크로프로세서생산량 : 47 억 3 천만개 출처 : RCW Mirus, 2001 5
모바일폰운영체제
모바일폰운영체제의특징 (1/5) 모바일폰은작고이동성이있지만항상가용해야한다. 크기와이동성에대한요구사항은사용자가전화를하거나데이 터통신을하고자할경우언제어디서든즉시그것들이사용가 능해야한다는것 이러한요구사항을충족시키기위해서는전원관리에대한기술 이선행되어야함 모바일폰기기는어떠한상황에서도응답을해야하며, 긴부팅 시간을가지면안됨 동시에모바일폰은한번의충전으로긴시간을사용가능해야함 7
모바일폰운영체제의특징 (2/5) 대중시장성 (mass-market) 을갖는다. 신뢰성은이동전화의대중시장에가장주요한관심거리 신뢰성은훌륭한소프트웨어공학 (software engineering) 과훌륭한에러처 리프레임워크 (Error-handling framework) 를필요 에러처리프레임워크는메모리부족, 배터리방전, 통신링크의끊김과같 은실행시간에러 (run-time error) 로부터효과적인복구가가능하게해줌 그외의설계디자인상의특징 모바일폰의환경뿐만이아니라모바일폰자체의독특한특징을활용해야함 현재의유용성 (usability) 뿐만이아니라미래의무선기술에도부합할수있도록 설계되어야함 사용하거나개발하기에너무복잡하면안되기때문에, 일관성있는스타일을유 지해야함 8
모바일폰운영체제의특징 (3/5) 연결성처리를필요로한다. 원격지에있는데이터에접근하거나전자메일을보내거나시간 을동기화할때는일종의연결이필요 광역무선네트웍은무선네트웍보다훨씬느리기때문에운영체제는이러한것을고려해서연결이없는상황에서도사용자의데이터를조작할수있도록디자인된응용프로그램을제공할수있어야함 모바일폰에서의연결은실시간으로유지하는실시간요구사항 에더하여, 끊어진연결을효과적으로제어하고사용자에게알려 줄수있는매커니즘이있어야함 9
모바일폰운영체제의특징 (4/5) 제품의다양성을갖는다. 어떤대세를이루고있는플랫폼에최적화된프로그래밍을원하 는개발자들과될수있으면자신이생산하는많은기기에적용 할수있는프로그램을원하는제품생산자들간에는뚜렷한모 순점이보임 운영체제는모든기기에서사용하는공통된기능과기기마다서 로다를수있는특화된부분을분리해서설계되어야하고공통 된부분에대한적절한라이센스정책을수립해야함 10
모바일폰운영체제의특징 (5/5) 오픈플랫폼 (Open Platform) 이다 모바일폰운영체제는전통적인전화기의기능과모바일컴퓨팅 패러다임을지원할수있어야하며, 개발자들은이에대한모든 지식을가지고있어야함 제품개발시간을단축시키기위해서개발자들이쉽게적응할 수있도록기존의표준을따르는일이매우중요 표준을따르는운영체제는그만큼오픈되어있다고말할수있 으며, 개발자들에게매력적으로작용 11
모바일폰산업동향 (1/2) 세계이동컴퓨팅단말시장추이 12
모바일폰산업동향 (2/2) 세계모바일기기운영체제시장전망 13
모바일기기운영체제 (1/10) EPOC 심비안사는모바일장치의새로운운영체제의표준을제시하고 자사의운영체제를통하여개발한향후 3G 이후의운영체제의확 산을위하여 98 년 6 월에릭슨, 모토로라, 노키아그리고 Psion 사 가공동으로설립한회사 심비안사의 EPOC 운영체제는 Psion Software 사의 ROM-based 모바일컴퓨팅을위한 3 세대운영체제로멀티태스킹이가능한 32bit 운영체제이며네트워크와펜입력방식의 GUI 를제공 컴포넌트구조로되어있기때문에, 임베디드시스템에서사용하 기에효율적인장점을제공 14
모바일기기운영체제 (2/10) EPOC 의핵심구조 GUI and System Graphics Engine Support Base 15
모바일기기운영체제 (3/10) Base 층은런타임시스템과커널을포함한다. 이것은 E32 와 F32 로 불리는두가지요소로구성 F32 는부트트랩로드 (boot trap load), 파일시스템의감시와접속, 구현 된새로운파일서비스를위한 API 를제공 E32 는스케쥴러, tick, 인터럽트, 메모리관리, 장비드라이버를관리하 는커널을제공 Engine 지원층은응용프로그램데이터를저장하기위한 DBMS 나 STORE 와같은응용프로그램엔진계층에대한지원을제공 Graphics 층은시스템셀과윗단의 GUI 층을위한기반을제공 GUI 와 System 층은응용프로그램을위한환경을제공하고그들의룩 앤필 (look-and-feel) 을정의 16
모바일기기운영체제 (4/10) PalmOS PalmOS 는펜입력방식의 PDA 를기반으로하여독자적인운영 체제로서입지를강화 전세계약 17,000 명의개발자를확보하여다양하고풍부한응용 프로그램을제공 사용하기쉬운운영체제라는장점으로전세계 PDA 시장의 72% 를확보 Motorola 의 68000 계열 CPU 에서동작하며사용되는메모리는 약 32KByte 로구성되어제한적인환경에서최적화가가능 저전력전원을사용하여기본메모리를적은비용으로활용가 능하며, 소형기기에최적화됨 17
모바일기기운영체제 (5/10) PalmOS 의기본구조 Device Applications 3 rd Party Applications PIM applications Mail imessenger TM Application Application Toolbox TCP/IP Floating Point System Libraries 3 rd Party Libraries Java Communications System services Graffiti TM Manager Resource Manager Feature Manager Kernel Event Manager Serial Manager Sound Manager Modem Manager Hardware Abstraction Layer Device Hardware 3 rd Party Hardware 18
모바일기기운영체제 (6/10) PalmOS 의특징 PIM(Personal Information Management) 프로그램내장 풍부한부가응용프로그램 PC 와의연동 간편한정보입력 사용이쉬운 One-tap 메뉴 다른기기와의정보공유 유무선통합통신 필요에따른하드웨어의선택 19
모바일기기운영체제 (7/10) Linux 최근휴대전화및스마트폰과같은모바일폰의추세에있어서 Linux 운영체제의사용이두드러지고있음 세계적인반도체회사인텍사스인스트루먼트 (TI) 와장비제조업 체인 NEC 가휴대폰운영체제로 Linux 를지원 TI 는임베디드 Linux 업체인몬타비스타와 Linux 용휴대폰설계 프로토콜 OMAP(Open Multimedia Application Protocol) 를사 용, Linux 기반의휴대폰을개발 유일한오픈소스로개발된휴대폰운영체제 20
모바일기기운영체제 (8/10) MiziLinux Phone Edition 의 screenshot 21
모바일기기운영체제 (9/10) Windows CE 핸드헬드컴퓨터등임베디드시스템의운영체제에서도그아성을 이어가기위해서마이크로소프트는 1996 년에 Windows CE 를시장 에출시 프로그래머들은친숙한 Win32 API, 널리쓰이는개발도구, 비주얼 베이직과비주얼 C++ 와같은언어의부분집합들을접함 기기제조자들이그들의기기를만들때에그들만의 Windows CE 를만들수있도록도와주는도구인플랫폼빌더를제공 Windows CE 의개발초창기에마이크로소프트의개발팀은 PC 보다 작은어떠한기기라도모두 Windows CE 를수용하는것이목표 특정기기에서서로링크될수있는적절하게형성된블럭을제공 함으로서이러한일반성을만족시킴 22
모바일기기운영체제 (10/10) Windows 를탑재한핸드폰 23
모바일폰응용프로그래밍언어
개요 모바일폰응용프로그램은모바일폰의특성을고려하여개 발되어짐 모바일폰은에러율이높고, 보안이취약한무선통신을이 용하고, 메모리와 CPU, 전력등의자원이매우제한적 응용프로그램도이러한특성에맞게개발 점차모바일폰의응용프로그램에대한요구가높아짐에따 라더욱정교하고많은기능을가진응용프로그램이필요 25
자바언어 (1/3) 썬마이크로시스템즈에서자바를시장에처음내놓았을 때, WORA(Write Once Run Anywhere) 의모토를내걸었 음 한번의구현으로어떤기계에서든동작할수있는환경 한번의구현으로어떤기계에서든동작할수있는환경 을만들어주는것 자바는그탄생자체가임베디드시스템을위한이식성 좋은언어이기때문에모바일기기에서도그가치가다 시한번발휘되는것 26
자바언어 (2/3) 장점 동적인응용프로그램다운로드, 크로스플랫폼호환성, 빠른응 답성, 비연결성, 보안기능제공등의특성을가진언어 많은임베디드시스템개발자들이자바언어를사용 동적클래스다운로딩, 가비지콜렉터, 멀티쓰레드등의자바언 어자체적인기능은이러한특성들을가능하게함 자바가기존의언어들에비해장점을갖는부분은크게이식성 과신뢰성 27
자바언어 (3/3) 단점 속도가늦고, 실시간기능이부족 해결 : JIT(Just-In-Time) 기술과핫스팟 (HotSpot) 기술을통한성능 개선노력과자바바이트코드를칩상에서수행시키는 JavaChips 개 념이등장함으로서해결될전망 실시간성에대한문제는 JIT(Just In Time) 컴파일러의실행시간번역이나바이트코드해석, 쓰레드행위가자바가상머신이나운영체제에의존적이고현재자바의가비지콜렉터가실시간성을지원하는데부족하기때문에발생 해결 : 미국 NIST 에서요구사항정의 28
C 언어 (1/2) C 는개발자들이전통적으로가장신뢰할수있고, 효율 적이라고생각되기때문에선호하는언어 C 의하위수준특성은 C 를고안한사람의의도에서비롯 되었다. Kernighan 과 Ritchie 는 'C 프로그래밍언어 (C Programming Language)' 의서두에다음과같이기술 "C 는상대적으로하위수준언어이다. 이와같은특징은가치를 떨어뜨리지않으며, C 로대부분의컴퓨터가수행하는것과같은 업무를처리할수있다는것이다. 이는실제프로세서로구현된 연산및논리기능과연관되어동작한다." 29
C 언어 (2/2) 특징 C 는작고, 배우고쉽고, 요즘사용하는거의모든프로세서에서컴파일러가존재하며경험이많은 C 프로그래머가상당수존재한다는장점 C 를사용하면임베디드프로그래머는상위수 준의이점을가지면서하드웨어를직접제어 30
그외의언어들 (1/3) 어셈블리어 초창기시절의임베디드소프트웨어는대부분 타겟프로세서작성 비싼소프트웨어개발비용과프로그램코드의 이식성이부족한점등의많은단점을가짐 오늘날어셈블리는상위수준언어를보조하 는기능으로주로사용 31
그외의언어들 (2/3) C++ C 의객체지향성을가진언어로임베디드프로그래머사이에서점차인기를끌고있음 핵심적인특징은 C 와동일하며, 여기에보다향상된데이터추상화기법및보다강화된객체지향프로그래밍기법등을추가 소프트웨어개발자들에게는매우유익하지만, 일부실행프로그램의효율성을떨어뜨리기도함 프로그램의효율성보다개발자의편이성이우선하는대규모개발팀에서더인기있음 32
그외의언어들 (3/3) Ada C++ 과는상당히다른객체지향언어 미국국방성에서중요임무에사용되는군사용소프트웨어를개발하기위해고안 두번이나국제표준으로승인되었지만, 미국의국방산업및우주산업이외의부문에서는그기반을확보하지못함 C++ 에비해임베디드소프트웨어개발을좀더단순하게할수있는많은특징을가짐 33
텀프로젝트 팀구성및진행관련 한팀에 2~3 명 중간시험전까지각팀별아이디어제출 A4 로 5 페이지 기말에각팀별텀프로젝트결과발표 34
텀프로젝트 각팀에서구현가능한프로그램의예 전자사전 주소록 만년력 이메일클라이언트 ( 문자메일작성, 전송, 수신 ) Calculator ( 기본적인사칙운산 ) Paint Brush ( 점, 선, 원, 호 ) Soft Key Board ( 숫자판을이용하여영어문자입력 ) 35