400 likes | 803 Views
임베디드 소프트웨어 기술소개. 목차. 임베디드 시스템 개요 임베디드 소프트웨어 기술 임베디드 운영체제 RTOS Embedded Linux Microsoft Windows CE Embedded OS 의 동향 임베디드 미들웨어 (Embedded Middleware) J2ME(JAVA to Micro Edition) 개발환경 및 툴 응용소프트웨어 기술 임베디드 소프트웨어 적용 분야 결론. 임베디드 시스템 개요. 임베디드 시스템 개념
E N D
목차 • 임베디드 시스템 개요 • 임베디드 소프트웨어 기술 • 임베디드 운영체제 • RTOS • Embedded Linux • Microsoft Windows CE • Embedded OS의 동향 • 임베디드 미들웨어(Embedded Middleware) • J2ME(JAVA to Micro Edition) • 개발환경 및 툴 • 응용소프트웨어 기술 • 임베디드 소프트웨어 적용 분야 • 결론
임베디드 시스템 개요 • 임베디드 시스템 개념 • Embedded System = Computers Inside a Product (or a System) • 일반적으로 특정 하드웨어나 소프트웨어가 다른 ware에 속해있는 것을 의미 • 전자제품에 들어가는 칩에 내장되는 운영체제 • 마이크로 시스템을 구동하여 미리 정해진 특정한 기능을 수행하도록 프로그램이 내장되어 있는 시스템 • 개인 휴대 정보 단말, 지리 정보 시스템, 의료 정보 단말, 주식 시장 정보 단말, 의료 및 산업 원격 조종 장비 등의 시스템을 총칭
Application Shell & Utility Middleware & Device Driver Operating System Hardware 임베디드 시스템 개요 (cont’d) • Embedded System 구조 • 하드웨어(I/O Subsystem) • 운영체제 • 선점형 스케쥴링 • 세밀한 스케쥴 단위 지원 • 디바이스 드라이버 • I/O 시스템 연동 • Middleware • 기본 프로그램 • 응용 프로그램
임베디드 시스템 개요 (cont’d) • Embedded System의 4가지 일반적인 형태 • General Computing • Video games, set-top boxes, wearable computer, automatic tellers • Signal Processing • Radar, Sonar, video compression • Communication & Networking • Telephone system, Internet • Control Systems • Intelligent vehicle, chemical processes, nuclear power, flight control
임베디드 시스템 개요 (cont’d) • Embedded System의 특성 • Small Size, Low Weight • Low Power • Harsh Environment • Safety-critical Operation/ Real-time Operation/ Dependable Operation/ QoS Support • Extreme Cost Sensitivity
임베디드 시스템 개요 (cont’d)) • 임베디드 시스템 분야 • Post-PC(PDA, 웹패드, 웹폰, 셋톱박스 등), • 사이버 아파트의 홈 관리 시스템, • 홈 네트워크 게이트웨이 장치, • 교통관리 시스템, 주차관리 시스템, • 홈 관리 시스템, • 엘리베이터 시스템, • 현금 지급기(ATM), • 항공 관제 시스템, 우주선 제어 장치, 군사용 제어 장치 등
Mainframe Minicomputer Workstation PC Laptop PDA ??? Ubiquitous Computing[8]A New Computer Class Emerging log (people per computer) year
임베디드 소프트웨어 개요(1) • 임베디드 소프트웨어 특징들 • Networked Operation/Distributed Operation • Mobility • Real-time Operation • Dependability (Fault-tolerance 등) • Multimedia & QoS Support • Pervasive Computing Support • etc.
임베디드 소프트웨어 개요(2) • 임베디드 소프트웨어 기술 • Embedded OS 및 Device Driver • Embedded Middleware • 개발환경 및 툴(Modeling, Analysis, Design, Testing, Debugging) • 응용 소프트웨어/서비스
임베디드 운영체제(1) • 전통적인 임베디드 시스템 • Production Code :개발에 있어서의 보수적 성격으로 인한 발전 속도의 지체 • 원자력 잠수함, 스페이스 셔틀, 군사적 목적의 시스템 Ex) pSOS, OS-9, VxWorks, QNX, VRTX, Lynx, etc. • 최근의 임베디드 시스템 • 정보가전을 축으로 폭발적인 성장 예상 • TV 세톱 박스, 홈서버, DTV, ….. Ex) Windows CE, Linux, JAVA
임베디드 운영체제(2) • 춘추전국 시대를 맞고 있는 Embedded OS • 다양한 종류의 하드웨어 플랫폼과 제품사양 및 요구사항의 다양화 • 사용하고자 하는 시스템에 최적화된 OS를 채택
임베디드 운영체제(2) • Embedded OS를 장악하는 자가 향후 IT산업을 주도 • RTOS 진영 • VxWorks, pSOS 등의 실시간 OS가 여전히 막강한 힘을 발휘 • 마이크로소프트 진영 • Windows CE 로 경쟁에 참여 • Embedded Linux 진영 • Embedded OS 중에 가장 주목 받는 OS 중 하나 • 기타 • Sun Microsystems의 자바 OS는 다크호스 • 유럽의 ePOC • 일본의 xTRON
임베디드 운영체제(4) • RTOS • 산업용 실시간 시스템을 위한 고가의 OS에서 출발 • 우주·항공·산업용 등의 주력 시장에서 정보가전과 같은 Embedded에 대한 마켓팅 전략을 새롭게 준비 중 • 산업용 시스템의 노하우를 정보가전 시장까지 확장 기대 • “결국은 가격보다는 Time to Market을 얼마나 잘 실현시켜주냐 하는 문제에 의해 개발자의 선택이 좌우될 것” • ETRI에서 개발한 정보가전 용 OS Qplus (Qplus-T와 Qplus-P) • Lynx Real-Time Systems사의 LynxOS • ISI사의 pSOS (WindRiver에 합병) • WindRiver사의 VxWorks
Applications Qplus-P 자바 웹 브라우저 시스템 설정 및 구축툴킷 JVM(JDK1.1.8+swing) 윈도우 매니저 GUI 빌더 GTK 네트워크 매니저 화일 매니저 Tiny-X 시스템 콜 인터페이스 실시간 스케줄러 저전력 지원 Fast Boot 디바이스 드라이버 FFS 임베디드 운영체제(5) • Qplus-P • Embedded Linux v2.4 기반 연성 실시간 운영체제
임베디드 운영체제(6) • Embedded Linux • 정보가전 및 Post-PC 등의 Embedded 시스템을 위한 리눅스 기반의 운영체제 • Hard Real-Time 기능 제공 가능 • 안정적이고 신뢰성 있는 프로세스 환경 • POSIX 준수의 Multi-Process와 Multi-Thread 제공 • PalmPalm의 Tynux, LynuxWorks, Lineo, ELKS, uClinux, Etlinux, EMJlinux 등의 소형 Embedded Linux • WINY(Window Tiny): Linux OS에서 호환 가능한 Win32 API 형태의 Embedded GUI • MicroWindow: 소형 X-Window 기반 시스템
임베디드 운영체제(7) • Microsoft Windows CE • Microsoft가 PDA 시장을 겨냥하여 개발한 Embedded OS • 기존의 윈도우 플랫폼 상의 PC와 Embedded 시스템과의 호환성을 강조 • .Net 전략을 발표하며 윈도우 Embedded 사업에 박차 • Windows CE.net • Windows CE 3.0의 차기 버전으로 강력한 멀티미디어 기능과 다양한 인터넷 연결 기능 제공 • 스마트 모바일 디바이스를 위한 실시간 OS • Windows XP Embedded • Windows NT Embedded 4.0의 차기 버전으로 안정된 성능과 보안기술 제공 • 개선된 멀티미디어 및 Embedded 기능 제공
임베디드 운영체제(8) • Embedded OS의 동향 • 실시간성, 경량성, Power Management, 저전력 기능을 기본적으로 지원 • Internet, Mobility, Wireless Communication 지원을 기본 기능으로 추가하는 추세 • Post-PC와 같은 이동성 단말기에 필요한 소프트웨어 수준의 저전력 기술 개발 및 지원 • 정보 단말기에 포함된 개인 정보 유출이나 시스템 파괴를 막기 위한 네트워크 보안 기술 개발 및 적용 • 멀티미디어 응용 서비스의 비중이 높아짐에 따라 적절한 QoS 보장 기술 개발 및 적용 • 메모리 상주형 Database 개발 및 지원 • 상위 자바 미들웨어에 대한 최적화 기술 개발 및 성능 개선
임베디드 운영체제(9) • 미래 Embedded Application(multimedia 응용, cyber space 응용, online game, safety-critical 응용 등)에서 요구되는 고 수준의 Quality는 • Real-time Operation (Timeliness, Time-triggered Action)/ Dependability/ Pervasive Computing Support에 의해 결정됨 ⇒ 현재 Embedded OS에서의 지원은 거의 없거나 미흡
임베디드 운영체제(10) • Embedded OS의 현 상황 • 다음 페이지 참조 • Time to develop an Embedded Real-time OS supporting timeliness, time-triggered action, dependable operation, and pervasive computing. ⇒ Long-term, continuous support is needed.
임베디드 미들웨어(1) • Embedded Java와 J2ME • 전세계 무선 시장에서 무선 자바 기술인 「J2ME(Java 2 Platform, Micro Edition)」가 급속히 확산 • Posc-PC에 최적화 될 수 있도록 경량화, 실시간, 성능을 고려한 컴포넌트 개발 • JAVA를 이용한 임베디드 인터넷 개발(인터넷을 통한 분산 제어 같은, Embedded 인터넷 어플리케이션 개발)
임베디드 미들웨어(2) • 현재 개발 중인 경량 미들웨어 • MULTE-ORB: 프로토콜 프레임워크에 기반한 적응형 멀티미디어 ORB • Open-ORB: 컴포넌트 기반의 reflective 미들웨어 • GOPI(Generic Object Platform Infrastructure): QoS 제공으로 멀티미디어 응용을 지원하는 분산 객체기반 미들웨어 • TMOSM/WTMOS/LTMOS: 실시간 객체 모델인TMO (Time-triggered Message-triggered Object)의 분산 실시간 실행을 지원하는 미들웨어 • TAO: 실시간 QoS와 고성능 기능을 고려한 미들웨어 • HAVi: 디지털 정보 가전 기기의 상호운용성을 위한 표준으로 이를 미들웨어 형태로 여러 곳에서 개발 중
임베디드 미들웨어(3) • Timeliness(Real-time Operation)/ • Dependability/ • QoS/ • Pervasive Computing 지원이 미들웨어 형태로 가능하고 • 보다 많은 Application-Specific 또는 • Platform-Independent한 미들웨어가 필요할 것임
J2ME(JAVA to Micro Edition) • J2ME는 기존 자바 기술을 가전 제품이나 모바일 기기 등에 적합하도록 개발한 Sun의 자바 어플리케이션 환경 • 경량 미들웨어 및 컴포넌트 기반의 미들웨어 • 시스템 독립성, 이식성, 확장성 제공 • 핵심 컴포넌트인 KVM을 셀룰러 폰, 호출기, PDA 등의 단말기에 적용
통합 개발 환경 (Esto) IDE 메인프레임 타겟 에이전트 프로젝트 관리자 원격 디버거 크로스 컴파일러 저전력지원 원격모니터 원격 쉘 호스트 에이전트 개발환경 및 툴(1) • 각 Embedded/Real-time OS 회사에서 나름대로의 개발 환경 제공 • Esto • ETRI에서 개발한 Qplus 통합 개발 환경 • Tonado • VxWorks의 개발 툴로써 교차 개발환경을 지원하는 통합 개발환경을 제공 • Hawk IDE • OS-9의 개발 툴 • Qt/Embedded • 트롤테크의 임베디드 리눅스용 개발도구 그외Tynux box,Velix IA (DoAll), Linu@ (Mizi Research), BlueCat (Lynx), Fast Light Tool Kit 등이 있음
개발환경 및 툴(2) • 종래의 대형 임베디드 시스템 개발을 위한 환경은 각 회사 독자적 으로 개발 사용하고 있으며 Application-Specific 함.
개발 환경 및 툴(3) • Microsoft eMbedded Visual Tools 3.0 • 구성 • Microsoft eMbedded Visual C++ 3.0 • MFC 제공, SDI 프로그래밍 • Microsoft eMbedded Visual Basic 3.0 • 개발자에 친숙한Visual Interface의 제공 (like Visual Studio) • 에뮬레이터의 제공 : 하드웨어 없이 프로그램 작성가능
개발 환경 및 툴(4) • Embedded Software 개발을 위한 방법론 정립 필요 • 분석, 설계, 구현에 공통적으로 적용될 수 있는 확고한 모델 기반 하에 Specification으로부터 구현까지 사용자 위주로 지원할 수 있는 개발 환경이 필요 • 개발 방법론과 접목된 개발 환경 • 저전력 소프트웨어를 위한 Compiler 및 분석 도구 • Real-time Characteristics(Timeliness)/ Dependability/ QoS 분석 및 모니터링 도구 • Device Driver 개발에 관한 지원(API 형태) 포함
개발 환경 및 툴(5) • 개발환경 및 툴 지원이 시장 선점 열쇠 • Embedded OS 시장의 부상과 더불어 개발환경 및 툴의 중요성이 강조 • 윈드리버와 함께 MS, Embedded Linux 진영 역시 OS 개발과 함께 개발환경 및 툴 기술 발전에 힘을 쏟고 있음 • Embedded Market의 거품 현상은 항상 예측을 불허. 하지만, 올해도 20% 이상 성장될 것으로 예측. 무엇보다, 자유 경쟁을 통한 거품 현상을 없애는 것이 급선무 ⇒ 제품의 질 및 Time-to-Market이 중요 ⇒ 사용하기 쉽고 효율적인 개발환경 및 툴이 필수
응용 소프트웨어 기술(1) • 브라우저 • Embedded 시스템에 내장시킬 수 있는 고성능 브라우저 기술 개발 • 다양한 기기(Post-PC)에 적용 가능한 초경량의 브라우저 • 모든 운영체제에서 사용 가능한 범용적, 독립적인 브라우저 • 다양한 인터넷 표준언어(HTML, XHTML, CSS, DOM 등) 지원 • 멀티미디어 기능, JavaScript 그리고 다양한 Plug-In 지원 • 안정성과 신뢰성 • 3D 브라우징 기능 • 제품명은 "DB2 Everyplace", 지원 OS는 Windows CE, Embedded Linux, EPOC, Neutrino
응용 소프트웨어 기술(2) • XML • 경량화, 고속처리, 장치 독립성을 지원하는 XML 개발 • 내장형 XML 툴킷(편집기와 변환기) 개발 • IBM의 Embedded 시스템용 DB2 • 메인 프레임 컴퓨터에 전부 Linux가 운영되도록 하겠다고 선언한바 있는 IBM 에서 DB2 데이터베이스를 Embedded 용으로 출시 • 보다 나은 GUI와 다양한 형태의 HCI 기능이 대두 (예, 감성 컴퓨터)
임베디드 소프트웨어 적용 분야(1) • From Small Devices To Factory Automation and Safety-Critical System • 정보가전 • PDA를 비롯해 스마트폰, 포켓 PC 등의 Post-PC • PC, 세톱박스, 에어컨, 냉장고 등의 정보가전을 연결한 홈 네트워킹 • 가전/조명/방범/난방 제어, 홈뱅킹, 홈쇼핑 • 통신 및 방송 • 인터넷 방송, 디지털 TV, 영상 원격회의
임베디드 소프트웨어 적용 분야(2) • 엔터테인먼트 • 네트워크 게임, 원격교육 • 산업용 자동화 및 우주항공 • 자동항법장치, 군사무기, 위성통신, 의료 • 기계 장치의 자동화, 생산라인의 시스템 제어 • Monitoring & Control System • Intelligent Traffic Control System • Automobile • Control Automation • Patient Monitoring System • Nuclear Reactor Control System
요약(1) • Embedded Software(또는 System)의 응용 분야가 다양화 되고 있고 시장이 급성장하고 있음. (연간 20% 이상) • 미국 United Technology Research Center의 경우 향후 5년 이내 80% 이상의 Software 수요는 Embedded System 관련 분야로 예측 • 국내 경우 2005년 30억불 Software 수출(2001년 3억불)을 달성하기 위한 핵심 분야
요약(2) • 선진국에서 Embedded Software 기술(OS, 미들웨어, 개발환경 및 툴, 서비스) 에 대한 연구 개발에 박차를 가하고 있음. • 미국 DARPA NEST(Networked Embedded Software Technology), PCES(Program Composition for Embedded Systems) 프로그램 • 미국 NSF NGS(Next-Generation Software) 프로그램 • 미국 ONR MURI 프로그램 • EU 자동차 회사(차세대 자동차 프로젝트)와 Telecommunication • 회사들의 움직임. • Microsoft(Windows Embedded Platform), Sun Microsystems(Embedded/Personal JAVA), J Consortium(Newmonics, HP, etc.) 등 대형 컴퓨터 회사의 움직임 • etc.
요약(3) • 앞으로의 국내뿐만 아니라 세계적으로 정보 산업을 주도할 분야의 하나임. • Embedded Software는 제조업과 밀접한 관계가 있음; 국내 제조업의 강한 경쟁력을 십분 활용할 수 있음 • Mobility/ Wireless Communication 지원에 국내 기반 기술은 상당히 앞서 있음. • Embedded Linux 개발 및 응용은 상당히 활성화 되어 있음. • 선진국과의 기술적 격차가 크지 않음 • Real-time Operation/ Dependability/ QoS/ Pervasive Computing Support는 선진국도 시작 단계임. • 전반적으로 Embedded Software 기반 기술이 취약함 (OS, Device Driver, 미들웨어, Software Engineering 기술 등).
요약(4) • 국내 Embedded Software 산업의 조기 첨단화 및 활성화 필요 • Advanced Embedded OS의 개발 및 지속적 개선은 기본 • 효과적인 Embedded Software (또는 System) 개발방법, 개발환경 및 미들웨어는 필수 ⇒ 이를 통해 국내 S/W 업체들이 응용/서비스 개발에 전념할 수 있도록 함 • 개발환경의 표준화 필요 ⇒ 장기적으로 세계 Embedded S/W 시장의 표준을 선도 • 전반적인 Embedded Software 기술 분야의 연구/개발/상품화에 통합 집중된 노력이 필요 ► 시급한 정부 지원 대규모 국책 사업화 ► Embedded Software 관련 표준화 ► Embedded Software 전문 인력 양성