Windows CE 운영체제 개요
개요 초기부터임베디드운영체제시장을위해설계 임베디드시스템을위한실시간운영체제 차세대스마트모바일장치및메모리를적게차지하는장치를신속하게개발할수있도록지원 풍부한운영체제기능및완벽한개발환경을제공 다양한네트워킹기능, 하드실시간, 적은메모리점유율, 풍부한멀티미디어, 웹브라우징기능등 사용자정의 Windows CE 기반장치를개발하는데필요한모든기능을포함 Windows CE.NET 2
역사 WinCE V6.0 Q4 2006 Windows CE.NET 3
특징 (1) 작은시스템을위한 OS 기능 메모리용량 Kernel + File system 200KB + Communication 800KB + Graphics and Shell 1.3MB + Applications (Pocket Word) 4MB + Internet Explorer 8MB Windows CE.NET 4
특징 (2) 다양한하드웨어지원 Core ARM MIPS SHx x86 PPC Model ARM720T, ARM920T, ARM1020T, StrongARM, Xscale MIPS II/32 w/fp, MIPS II/32 w/o FP, MIPS16, MIPS IV/64 w/fp, MIPS IV/64 w/o FP SH-3, SH-3 DSP, SH-4 486, 586, Geode, Pentium I/II/III/IV PPC403, MPC823, MPC850, MPC860 ->.NET 부터미지원. ( 참고 ) - WinCE 5.0 부터는제한된 MPU 만지원 - 추가적으로삼성 S3C2410 을지원 Windows CE.NET 5
특징 (3) 표준 API, 프로그래밍모델및도구사용 Win32 API 제공 지원안함 : MS-DOS, Win 3.X, ODBC, OLE 지원 : 데이터베이스, MFC, COM, ATL OS 구성의모듈화및 ROM 부팅 200여개의모듈로되어있음 각모듈은 LIB 형태로나뉘어있음 압축되지않은운영체제이미지는 ROM에서실행가능 Windows CE.NET 6
특징 (4) 실시간지원 (Real Time Support) 이전버전 Windows CE : 일부실시간 Windows CE 3.0 : 커널부터실시간 Windows CE.NET : 다양한실시간기능 256 levels of thread priority, Nested Interrupts Per thread quantum, improved timer accuracy Priority Inheritance Protocol to overcome Priority Inversion Problem 다기능 ( 강력한 ) 제품에사용 고급기능 고급응용서비스, 통신, 데이터베이스, 브라우저, 지역화, 멀티미디어, 디스플레이, 보안 Windows CE.NET 7
특징 (5) 효과적인개발환경 플랫폼빌더 (Platform Builder) 정의 : Windows CE 운영체제이미지를만들기위한개발도구 운영체제의구성요소 (components) 들을선택하고하드웨어에맞는드라이버들을빌드하여운영체제이미지만듬 에뮬레이터, 보드지원패키지 (BSP) 마법사, 커널디버거, 원격도구, Windows CE 테스트키트, 카탈로그등의기능이포함 Windows CE.NET 8
특징 (6) 효과적인개발환경 ( 계속 ) emvt (embedded Visual Tools) CE 운영체제용응용프로그램개발도구 embedded Visual C/C++ 와 embedded Visual Basic 을포함 Windows CE 용 MFC 및 ATL 을지원 원격프로세스뷰어또는원격레지스트리편집기와같이응용프로그램개발할때유용한일련의원격도구와원격디버거를포함 emvt는독립된 IDE로홀로설치될수도있으며, 기존 Visual Studio.NET( 사실상 Visual Studio 7.0 버전 ) 과함께설치 Windows CE.NET 9
특징 (7) 강력한제품사용 고급응용서비스 : DCOM, Active X, MSMQ (Message Queue Service) 통신 : 직렬, TAPI, 인터넷연결공유 (ICS), PPTP, IrDA, TCP/IP, FTP, HTTP, 웹서버, UPnP, SNMP, 원격데스크탑프로토콜 데이터베이스 : CE 데이터베이스 API(Win32), OLEDB, ADOCE, SQL Server 2000 Windows CE Edition 브라우저 : HTML 3.2 브라우저또는 Internet Explorer 4.0 호환브라우저지원 지역화 : 유니코드기반. 한국어, 네덜란드어, 영어, 프랑스어, 독일어, 이탈리아어, 일본어, 포르투갈어 ( 브라질 ) 등 멀티미디어 : DirectX, DirectShow, DirectDraw 및 DirectSound 디스플레이 : 터치스크린, 일반디스플레이, 흑백으로픽셀당 32 비트 (bpp) 로실행되는장치등을지원 보안 : Kerberos 보안프로토콜및 SSL(Secure Sockets Layer) 제공 Windows CE.NET 10
특징 (8) 세밀한전원관리 전원꺼짐 : 이상태에서는 CPU가꺼지고 RAM에전원을공급하지않는다. ( 모든플랫폼장치가꺼져있는상태.) 켜짐 : 표준실행모드. CPU가실행되어스레드를예약하고, RAM과모든플랫폼장치에전원을공급한다. 유휴상태 : 이상태에서는실행되는스레드가없고 CPU는일시중단모드에서인터럽트예외만관리한다. RAM에는전원이공급되어모든값이유지하지만그외모든장치가켜져있다. 일시중단 : 이상태에서는실행되는스레드가없고 CPU는일시중단모드이며타이머인터럽트가중단된다. RAM에는전원이공급되어모든값이유지하지만그외모든장치가켜져있다. 위험전원꺼짐 : 이상태에서는 CPU가일시중단되며, RAM은자동새로고침상태로에너지소비가가장적다. 모든플랫폼장치가꺼져있다. Windows CE.NET 11
적용분야 Windows CE.NET 12
Overview of Windows CE.NET
Overview Overview of Windows CE.NET Core Operating System Architecture Advanced Features of Windows CE.NET Networking and Communications Real-Time Communication Multimedia Support and Architecture Security Features and Architecture Internationalization Windows CE.NET 14
Overview of Windows CE.NET Windows CE.NET: Design Goals What is New in Windows CE.NET? Basic Configurations Target Hardware Support Windows CE.NET 15
Windows CE.NET: Design Goals Modular and compact operating system Wireless and wired connectivity Robust real-time capabilities Rich multimedia and multilingual support Strong development tool support Windows CE.NET 16
What Is New in Windows CE.NET? Internet Explorer 5.5 for CE Wireless support Multimedia Customizable UI Security Services Real-time collaboration and communication Better multi-language support ClearType Windows CE.NET 17
Basic Configurations PDA or mobile handheld device Variants with our without applications, such as WordPad Cell phone/smart phone 160x220 nominal display resolution Web Pad Touch-screen user interface and 640x480 or larger display Internet appliance Browser-based with a fixed (CRT or LCD) display and a keyboard. Media appliance Playback or store music, video, and other electronic media Digital imaging device Camera, projector, and printer Windows CE.NET 18
Basic Configurations (con t) Set-top box Connects to a TV for display of Internet /media content Residential gateway Connects to the internet and shares that connection with a wired or wireless home network Industrial automation device Human Machine Interface (HMI) or Programmable Logic Controller Retail Point-of-Sale device Self-service kiosks, electronic payment terminals, POS terminals Windows thin client Minimal remote access terminal with constrained shell and RDP Windows CE.NET 19
Basic Configurations (con t) Tiny Kernel Smallest functional Windows CE image Starting point for the most compact, headless devices Custom Device The most fully customizable configuration Allows you to choose from all operating system features Also a variant for devices Windows CE.NET 20
Target Hardware Support Processor Familly CPU SDB BSP Name Intel SA1110 Intel SA111x Assabet SDB SA11X0BD ARM ARM920 ARM1020 ARM Integrator AP SDB ARMINTEGRATOR MIPS SHx X86 Intel Xscale Intel Lubock SDB TBD NEC Vr4122 NEC Vr5432 SH4-7750 SH3-7729 P5/P4/PIII/PII/CelK6x/At hlon NS Geode NECDDB-Vr4122 Eagle SDB NEC DDB-Vrc5476 Boston SDB Hitachi SH4 Aspen SDB Hitachi SH3 Keywest SDb CEPC National Geode Reference Platofrm EAGLE DDB5476 ASPEN KEYWEST CEPC GEODE Windows CE.NET 21
Core Operating System Architecture Applications Programming Interface (Win32, COM, MFC, ATL) Communication Interface (Winsock, RAS, TAPI) Device Filesys Networking Kernel GWES Manager And OAL Device Drivers Communications System Hardware Windows CE.NET 22
Core Operating System Architecture (con t) Applications Embedded Shell Windows CE Shell Services Remote Connectivity WIN32 APIs COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI Kernel Library GWES Device Manager File Manager IrDA TCP/IP OAL Bootloader Drivers Device drivers File drivers OEM Hardware Windows CE.NET 23
Core Operating System Architecture (con t) Windows CE.NET 24
The OEM Adaptation Layer Layer between the Kernel and the hardware Set of functions related to system startup, interrupt handling, power management, profiling, time, and clock Included in BSPs for supported SDBs Coded by OEMs to adapt windows CE to their own custom platforms Linked with code provided by Microsoft to build the Kernel Windows CE.NET 25
The Kernel Module Portable across supported processors Kernel is portable as most of the operating system is written in C NK.EXE, COREDLL.DLL NK.EXE contains Kernel code and Coredll.dll is the operating system core DLL module Saving system resources CE loader is designed to save system resources by loading application pages as and when needed and by keeping only one physical copy of a DLL Demand paging Loads virtual memory pages into physical memory when needed Multiple execute in place regions Allows applications to execute code directly from read-only memory Windows CE.NET 26
Device Driver System Device driver Links an operating system and a device Built-in Drivers vs. Installable Drivers Built-in drivers are installed by the platform manufacturer Installable drivers are third-party peripheral devices that end users can connect to a windows CE-based platform Native Drivers vs. Stream Drivers All of the device drivers managed by GWES are native device drivers Device manager loads stream interface drivers when the system boots, if those drivers are listed in the registry Monolithic Drivers vs. Layered Drivers Monolithic drivers implement interface directly in terms of actions on the device they control Layered drivers separated the implementation into two layers Windows CE.NET 27
The GWES Modules Graphics, Windowing, and Event Subsystem Graphics output: display and printer User input: keyboard, stylus, and mouse Window management: message routing Graphic Device Interface (GDI) Is the drawing subsystem of GWES Control how text and graphics are displayed Uses a device context to store drawing attributes for a specified device Windows CE.NET 28
The Filesys Module The Filesys Module Implements the object store File systems Registry Property Database Substitutes for a hard drive on an embedded drive Resides in ROM, RAM, or both Can have a maximum size of 256 MB Windows CE.NET 29
The Filesys Module (con t) Storage manager Is responsible for all external storage items, including all the file systems and block drivers Installable file systems Can provide access to a floppy diskette, a hard drive, a flash file system on a PC Card, or to other external storage devices File-shadowing mechanism Allows a file to be stored both in RAM and ROM. Differences from other Windows file systems No letters assigned to file systems No concept of current directory No support for overlapped I/O All files stored in Ram are automatically compressed Windows CE.NET 30
The Filesys Module (con t) Registry Provides a common repository for system settings, application data, and user preferences Resides in RAM, if not present in RAM, the registry can be reloaded from persistent storage or rebuilt from ROM Registry functions specific to Windows CE Property Database Provides a lightweight database management system Accessible using a new set of Win32 API functions specific to Windows CE Data stored in a flat model Accessible to ActiveX Data objects for Windows CE (ADOCE) Supports multiple volumes on installable file systems Windows CE.NET 31
Real Time Operating System Bounded interrupt response latency Timer precision configurable (1millisecond default) System timer tick independent of thread quantum Nested interrupt support Priority inheritance Protected virtual memory Synchronization objects Windows CE.NET 32
Power Management Features Power management features respond to system calls for turning the system off or for idling Device level power states, DO-D4 D0-Full on: Full power with full functionality D1-Low On: Slightly reduced functionality, lower power and/or performance D2-Standby: Partial power with automatic wake D3-Sleep: Partial power with device initiated wake D4-Off: Power off The only device power state that all devices must support is D0, full on Windows CE.NET 33
Advanced Features of Windows CE.NET Networking and Communications Real-Time Communication Multimedia Security Internationalization Windows CE.NET 34
Networking and Communications Networking and Communications Architecture Wireless Platform Support Component Object Model Additional Networking Features Networking Scenarios Windows CE.NET 35
Networking and Communications Architecture Applications Web server MSMQ COM SNMP WNet WinInet TAPI RAS IP Helper Winsock Unimodem PPP Protocol Stacks(TCP/IP, IrDA) Serial NDIS(LAN, WAN, TR, IrDA) Network Drivers Serial Port Ir Port FIR H/W Network Interface Windows CE.NET 36
Wireless Platform Support 802.11 zero configuration and 802.1x Enables roaming with minimal configuration and logon using user/password and certificate Bluetooth Supports dial up networking, WLAN access and object exchange NDIS 5.1 Wireless enhancements, battery status MediaSense Connect/disconnect, roaming in range/out of range notifications Windows CE.NET 37
Component Object Model COM is a platform-independent object-oriented system OEMs can choose from the different levels of run-time support Minimal COM (MCOM) provides baseline API set COM provides a mid-range implementation of COM and OLE automation COM storage (COM_STG) combines the midrange COM implementation with structured storage functionality DCOM provides full-featured distributed COM implementation Marshaling support Windows CE.NET 38
Additional Networking Features Dynamic Host Configuration Protocol (DHCP) Internet Connection Sharing (ICS) Virtual Private Networking (VPN) Windows Sockets 2 (Winsock) Message Queuing (MSMQ) Object Exchange (OBEX) Infrared Data Association IrDA IEEE 1394 (Firewire) MediaSence Media Access Control (MAC) Bridging Windows CE.NET 39
Networking Scenarios Personal Area Networking (home, office) Scenarios: PDA, Internet Appliance, Networking Printer Features: Bluetooth, IrDA, UPnP Local Area Networking (office, factory) Scenarios: Thin Client, Enterprise Web Pad, Industrial Automation Features: Ethernet, DCOM Wireless LAM (office, coffee shop) Scenarios: Cell Phone, PDA, Web Pad Features: Ethernet, Zero Configuration 802.11/802.1x Wide Area Networking (WAN)(home, hotel) Scenarios: PDA, Internet Appliance, Web Pad, Residential Gateway Features: TAPI, RAS, PPP, Unimodem, VPN, PPTP Windows CE.NET 40
Real-Time Communication RTC Support RTC Architecture RTC Scenarios Windows CE.NET 41
RTC Support Real time Audio Communication (VoIP) SIP (Session Initiation Protocol) based Between IP devices- peer to peer or through server Across gateways to PSTN phones Instant Messaging Presence Contacts Watchers Windows CE.NET 42
RTC Architecture User App Instant Messenger RTC API SIP RTP PINT FTP HTTP TCP / IP PPP NDIS Serial Driver Hareware Windows CE.NET 43
RTC Scenarios Connectivity combinations CE device-to-ce or XP device CE device-to-pstn phone CE device-controlled PSTN Phone-to-CE or XP device Application requirements Instant Messaging over a Network CE-to-CE or CE-to-XP, no SIP server needed Monitor a Contact s Presence or Control Presence Information CE device on a network with an SIP server Windows CE.NET 44
Multimedia Support and Architecture Multimedia Support Multimedia Architecture Multimedia Scenarios Windows CE.NET 45
Multimedia Support DirectDraw Direct3D DirectDVD DirectMusic 7 DirectShow 6.1 DirectSound 6.1 Legacy Video Playback Midi Playback MP3 Playback MPEG-1 Video Playback Digital Rights Management (DRM) Windows CE.NET 46
Multimedia Architecture Browsers / Applications Media Player Control COM Interface Source Filter (ASF, AVI, etc) DirectShow filter graph manager Transform Filter Render Filter Media Source (Internet or file system) DirectX foundation Media destination (audio / video hadrware) Windows CE.NET 47
Multimedia Scenarios Stream or play live or recorded audio and video media from local or remote locations on mobile or fixed devices Possible applications Digital Media appliances Web Pads and Internet portals Set-top boxes Telecommunications equipment Industrial control and medical applications Education and training Windows CE.NET 48
Security Features and Architecture Which Security Features Are Supported? SSPI Security Architecture Security Scenarios Windows CE.NET 49
Which Security Features Are Supported? Trusted environment Certified applications CyptoAPI Protected registry Password control Protected store LDAP Security Model Secure Sockets Layer PPTP PC/SC Secure file System DCOM security 802.11 security Windows CE.NET 50
SSPI Security Architecture SSPI-Security Support Provider Interface Kerberos protocol NTLM protocol Windows CE.NET 51
Security Scenarios Control access to the device Protect against unauthorized applications Secure data storage and file systems Secure network and internet connections Windows CE.NET 52
Internationalization Platform localization options: Localization vs. Internationalization Changing the language of your operating system Adding locales Selecting codepages Creating international Applications: Building for a different Locale Shared source files Understanding Unicode and NLS Windows CE.NET 53
Internationalization (con t) Common practice for developing international software: Use a few target locales for initial development and testing Resource Localization: Strict or Non-strict Translation Tips Avoid using vague words, colloquialisms, jargon, acronyms, and abbreviations Use good grammar Avoid dynamic concatenation of different strings Avoid hard-cording file names in a binary files Avoid including text in image and icons International Conventions Locales might have different conventions for expressing information Locales might have different keyboard conventions Windows CE.NET 54
Windows CE 5.0 의특징 (1) 제한된 CPU 지원 ARM, MIPS, SH4, X86 계열의 CPU 만기본적으로지원 Intel 의전략에따라기존의 StrongARM 계열 CPU 는지원하지않음 PPC 및 SH3 계열 CPU 을지원하지않음 추가적으로삼성 S3C2410 을지원함 상용제품수준의안정화된 OAL(OEM Adaptation Layer) 제공 확장된디바이스드라이브 SDIO USB 2.0 PC CARD 32Bit 보강된장치관리자기능 ATAPI 기능보강 양질의디바이스드라이브 50 여개지원 Windows CE.NET 55
Windows CE 5.0 의특징 (2) 웹브라우즈기능추가 팝업윈도우차단, URL 자동완성기능, 상태표시바, 보강된 TV 렌즈지원등의기능추가 P3P(Plaform for Privacy Preference) 지원 멀티미디어기능추가 Direct3D Mobile DirectX 8 과 COM 기반의 3D 프로그래밍모델설계지원 빠른그래픽및텍스트렌드링과알파블렌딩처리 드라이버의최적화를위한테스트및벤치마킹도구 재생시작시간을줄이기위한 Fast Start 스틸사진코덱을위한단일라이브러리 (JPG, GIF, PNG, TIFF, BMP, ICO) 윈도우미디어코덱업데이터 Windows CE.NET 56
Windows CE 5.0 의특징 (3) 안정화된커널 Shared Heap memory 성능향상 64 개시스템인터럽트지원 워치독타이머기능향상 전원관리스레드우선순위조정 셀기능확장 사용자인터페이스기능향상 휴지통기능향상 보안기능변경 보안관련기능향상 편리한통합개발환경 기존 IDE 환경과명령프롬프트환경간의동기화지원 빌드에소요되는시간및편의성을대폭향상 Windows CE.NET 57
Windows CE 5.0 vs Windows Embeded CE 6.0 프로세스주소공간이 32MB 에서 1GB 로증가 프로세스의수가 32 개에서 32K 로증가 사용자모드및커널모드장치드라이버가가능 Device.exe, filesys.exe, GWES.exe 파일이커널모드로이동 SetKMode 및설정프로세스허용이불가능해짐 System 호출성능개선 PC 운영체제수준의성능향상및보안기능강화 Windows CE.NET 58