Transcript 슬라이드 1
Windows CE 운영체제
개요
강의 내용
Windows
Windows
Windows
Windows
Windows
Windows
CE 개요 및 특징
CE 역사
CE.NET 4.2 개요
CE 5.0
Embedded CE 6.0
CE 5.0 vs. Windows CE 6.0
임베디드시스템소프트웨어 - Windows CE
2
Windows CE 개 요
초기부터 임베디드 운영체제 시장을 위해 설계
임베디드 시스템을 위한 실시간 운영체제
차세대 스마트 모바일 장치 및 메모리를 적게 차지하는 장
치를 신속하게 개발할 수 있도록 지원
풍부한 운영체제 기능 및 완벽한 개발 환경을 제공
다양한 네트워킹 기능, 하드 실시간, 적은 메모리 점유율,
풍부한 멀티미디어, 웹 브라우징 기능 등
사용자 정의 Windows CE 기반 장치를 개발하는 데 필요
한 모든 기능을 포함
임베디드시스템소프트웨어 - Windows CE
3
특 징 (1)
작은 시스템을 위한 OS
기능
메모리 용량
Kernel + File system
200KB
+ Communication
800KB
+ Graphics and Shell
1.3MB
+ Applications (Pocket Word)
4MB
+ Internet Explorer
8MB
임베디드시스템소프트웨어 - Windows CE
4
특 징 (2)
다양한 하드웨어 지원
Core
Model
ARM
ARM720T, ARM920T, ARM1020T, StrongARM, Xscale
MIPS
MIPS II/32 w/FP, MIPS II/32 w/o FP, MIPS16, MIPS
IV/64 w/FP, MIPS IV/64 w/o FP
SHx
SH-3, SH-3 DSP, SH-4
x86
486, 586, Geode, Pentium I/II/III/IV
PPC
PPC403, MPC823, MPC850, MPC860 .NET부터 미
지원.
(참고) - WinCE 5.0부터는 제한된 MPU만 지원
- 추가적으로 삼성 S3C2410을 지원
임베디드시스템소프트웨어 - Windows CE
5
특 징 (3)
표준 API, 프로그래밍 모델 및 도구 사용
Win32 API 제공
지원 안함 : MS-DOS, Win 3.X , ODBC, OLE
지원 : 데이터베이스, MFC, COM, ATL
OS 구성의 모듈화 및 ROM 부팅
200여개의 모듈로 되어 있음
각 모듈은 LIB 형태로 나뉘어 있음
압축되지 않은 운영체제 이미지는 ROM에서 실행가능
임베디드시스템소프트웨어 - Windows CE
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
7
특 징 (5)
효과적인 개발환경
플랫폼 빌더(Platform Builder)
정의: Windows CE 운영체제 이미지를 만들기 위한 개발
도구
운영 체제의 구성 요소(components)들을 선택하고 하드
웨어에 맞는 드라이버들을 빌드하여 운영체제 이미지 만듬
에뮬레이터, 보드 지원 패키지(BSP) 마법사, 커널 디버거,
원격 도구, Windows CE 테스트 키트, 카탈로그 등의 기능
이 포함
임베디드시스템소프트웨어 - Windows CE
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
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
10
특 징 (8)
세밀한 전원관리
전원 꺼짐: 이 상태에서는 CPU가 꺼지고 RAM에 전원을 공급하
지 않는다. (모든 플랫폼 장치가 꺼져 있는 상태.)
켜짐: 표준 실행 모드. CPU가 실행되어 스레드를 예약하고,
RAM과 모든 플랫폼 장치에 전원을 공급한다.
유휴 상태: 이 상태에서는 실행되는 스레드가 없고 CPU는 일시
중단 모드에서 인터럽트 예외만 관리한다. RAM에는 전원이 공
급되어 모든 값이 유지하지만 그 외 모든 장치가 켜져 있다.
일시 중단: 이 상태에서는 실행되는 스레드가 없고 CPU는 일시
중단 모드이며 타이머 인터럽트가 중단된다. RAM에는 전원이
공급되어 모든 값이 유지하지만 그 외 모든 장치가 켜져 있다.
위험 전원 꺼짐: 이 상태에서는 CPU가 일시 중단되며, RAM은
자동 새로 고침 상태로 에너지 소비가 가장 적다. 모든 플랫폼
장치가 꺼져 있다.
임베디드시스템소프트웨어 - Windows CE
11
적용 분야
임베디드시스템소프트웨어 - Windows CE
12
Windows CE 역사 (1)
WinCE
V6.0
Q4 2006
임베디드시스템소프트웨어 - Windows CE
13
Windows CE 역사 (2)
(1) Windows CE 1.0
- 1995년 초, Windows Pegasus라는 코드명으로 테스트 시작
- 저전력 하드웨어, 32비트 프로세서에서 배터리 문제 해결 요구
- 사양: •
①
②
③
④
⑤
⑥
⑦
⑧
기기의 크기: (18 * 10 * 2.5 cm) 를 초과하지 않아야 함
전원공급: 두 개의 AA사이즈 배터리
무게: 500g 미만
QWERTY 키보드 제공 (Shift, Control, Alt 있어야 함)
4 Gray 색상의 LCD와 터치스크린 탑재
해상도: 480 * 240
RAM: 2MB, ROM: 최소 4MB
적외선 포트, RS-232 시리얼 포트, PCMCIA 슬롯 장착
임베디드시스템소프트웨어 - Windows CE
14
Windows CE 역사 (3)
(2) Windows CE 2.0
-
1997년 코드명 Birch로 시작
256컬러 또는 16 Gray 지원
해상도: 640*240 (HPC: High Performance Computing 개념 등장)
Pocket PowerPoint 탑재, Pocket Outlook의 동기화 성능 향상
TrueType 폰트, Print 기능 지원
(3) Windows CE 3.0
- 코드명 Cedar로 커널기능 향상, 스레드 우선을 256단계로 확대
- 버전: •
①
②
eMbedded
HPC 2000- 업무형이라 엑셀, 엑세스, 워드, 파워포인트 포함
ƒPPC 2000
③
임베디드시스템소프트웨어 - Windows CE
15
Windows CE 역사 (4)
(4) Windows CE 4.0
-
2001년에 출시
Internet Explorer 5.5 채택
Windows Media Player 8.5 , MSN 인스턴트 메신저 내장
Windows CE 3.0보다 나아진 전력관리
신형 CPU (인텔 PXA시리즈 등 ARMV4i 혹은 그 이상 급)에 최적화
버전이 PPC2000에서 PPC2002로 확장
(5) Windows CE 4.1와 Windows CE 4.2
-
Windows CE 4.1 (2002년 10월), Windows CE 4.2 (2003년 9월)
Internet Explorer 6.0 호환
Windows Media Player 9 내장
기존 PPC와의 호환성 고려
임베디드시스템소프트웨어 - Windows CE
16
Windows CE 역사 (5)
(6) Windows CE 5.0
- Windows Media Player 10 지원
- DirectX 라이브러리 추가로 인한 Entertainment 강화
- Windows Mobile과 같은 코드 및 라이브러리 사용 및 라이브러리
대거 추가
(7) Windows CE 6.0
- 2006년 10월 발표함과 동시에 Windows CE 6.0이라는 명칭을
Windows Embedded CE 6.0으로 명명
임베디드시스템소프트웨어 - Windows CE
17
Windows CE 역사 (6)
Windows Mobile
Windows CE를 기반으로 한 모바일 플랫폼 (모바일 운영체제의 브
랜드 명)
Windows CE를 기반으로 하고 있지만, 모바일 플랫폼과 관련한
API와 기능들이 추가되어 단독 운영체제로 인정
Windows CE vs. Windows Mobile
Windows CE: PMP, Navigation 또는 산업용 단말기와 같은 단말기 운
영체제
Windows Mobile: Pocket PC, Smart Phone인 모바일 플랫폼으로 한정
Windows Mobile을 만든 이유
모바일 단말기의 표준 플랫폼을 정의
‚UI, Shell, Development Tools, API를 위한 가이드 라인 제공
Windows용 애플리케이션의 호환성 향상
임베디드시스템소프트웨어 - Windows CE
18
Windows CE 역사 (7)
Windows Mobile
(계속)
Windows Mobile 6.1기반 Mobile Phones
임베디드시스템소프트웨어 - Windows CE
19
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
21
Overview of Windows CE.NET
Windows CE.NET: Design Goals
What is New in Windows CE.NET?
Basic Configurations
Target Hardware Support
임베디드시스템소프트웨어 - Windows CE
22
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
23
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
24
Basic Configurations
PDA or mobile handheld device
Cell phone/smart phone
Browser-based with a fixed (CRT or LCD) display and a
keyboard.
Media appliance
Touch-screen user interface and 640x480 or larger display
Internet appliance
160x220 nominal display resolution
Web Pad
Variants with our without applications, such as WordPad
Playback or store music, video, and other electronic media
Digital imaging device
Camera, projector, and printer
임베디드시스템소프트웨어 - Windows CE
25
Basic Configurations (con’t)
Set-top box
Residential gateway
Human Machine Interface (HMI) or Programmable Logic
Controller
Retail Point-of-Sale device
Connects to the internet and shares that connection with a
wired or wireless home network
Industrial automation device
Connects to a TV for display of Internet /media content
Self-service kiosks, electronic payment terminals, POS
terminals
Windows thin client
Minimal remote access terminal with constrained shell and
RDP
임베디드시스템소프트웨어 - Windows CE
26
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
27
Target Hardware Support
Processor Familly
ARM
MIPS
SHx
X86
CPU
SDB
BSP Name
Intel SA1110
Intel SA111x
Assabet SDB
SA11X0BD
ARM920
ARMINTEGRATOR
ARM1020
ARM Integrator
AP SDB
Intel Xscale
Intel Lubock SDB
TBD
NEC Vr4122
NECDDB-Vr4122
Eagle SDB
EAGLE
NEC Vr5432
NEC DDB-Vrc5476
Boston SDB
DDB5476
SH4-7750
Hitachi SH4
Aspen SDB
ASPEN
SH3-7729
Hitachi SH3
Keywest SDb
KEYWEST
P5/P4/PIII/PII/CelK6x/At
hlon
CEPC
CEPC
NS Geode
National Geode
Reference Platofrm
GEODE
임베디드시스템소프트웨어 - Windows CE
28
Core Operating System Architecture
Applications
Programming Interface
Communication Interface
(Win32, COM, MFC, ATL)
(Winsock, RAS, TAPI)
Device
Kernel
GWES
Manager
Device Drivers
OAL
Filesys
Networking
And
Communications
System
Hardware
임베디드시스템소프트웨어 - Windows CE
29
Core Operating System Architecture
(con’t)
Applications
Embedded Shell
Remote
Connectivity
Windows CE Shell Services
WIN32 APIs
COREDLL, WINSOCK, OLE, COMMCTRL, COMMDLG, WININET, TAPI
Kernel
Library
GWES
File
Manager
Device
Manager
IrDA
OAL
Bootloader
Drivers
Device
drivers
TCP/IP
File drivers
OEM Hardware
임베디드시스템소프트웨어 - Windows CE
30
Core Operating System Architecture
(con’t)
임베디드시스템소프트웨어 - Windows CE
31
The OEM Adaptation Layer(OAL)
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
32
The Kernel Module
Portable across supported processors
NK.EXE, COREDLL.DLL
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
NK.EXE contains Kernel code and Coredll.dll is the operating
system core DLL module
Saving system resources
Kernel is portable as most of the operating system is written
in C
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
33
Device Driver System
Device driver
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
Links an operating system and a device
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
34
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
35
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
36
The Filesys Module (con’t)
Storage manager
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
Is responsible for all external storage items, including all the
file systems and block drivers
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
37
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
38
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
39
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
40
Advanced Features of Windows
CE.NET
Networking and Communications
Real-Time Communication
Multimedia
Security
Internationalization
임베디드시스템소프트웨어 - Windows CE
41
Networking and Communications
Networking and Communications
Architecture
Wireless Platform Support
Component Object Model
Additional Networking Features
Networking Scenarios
임베디드시스템소프트웨어 - Windows CE
42
Networking and Communications
Architecture
Applications
Web server
TAPI
RAS
Unimodem
MSMQ
COM
SNMP
IP Helper
PPP
WNet
WinInet
Winsock
Protocol Stacks(TCP/IP, IrDA)
Serial
NDIS(LAN, WAN, TR, IrDA)
Network Drivers
Serial Port
임베디드시스템소프트웨어 - Windows CE
Ir Port
FIR H/W
Network Interface
43
Wireless Platform Support
802.11 zero configuration and 802.1x
Bluetooth
Supports dial up networking, WLAN access and
object exchange
NDIS 5.1
Enables roaming with minimal configuration and logon
using user/password and certificate
Wireless enhancements, battery status
MediaSense
Connect/disconnect, roaming in range/out of range
notifications
임베디드시스템소프트웨어 - Windows CE
44
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
45
Additional Networking Features
Dynamic Host
Configuration Protocol
(DHCP)
Internet Connection
Sharing (ICS)
Virtual Private Networking
(VPN)
Windows Sockets 2
(Winsock)
Message Queuing (MSMQ)
임베디드시스템소프트웨어 - Windows
CE
Object Exchange (OBEX)
Infrared Data Association
IrDA
IEEE 1394 (Firewire)
MediaSence
Media Access Control
(MAC) Bridging
46
Networking Scenarios
Personal Area Networking (home, office)
Local Area Networking (office, factory)
Scenarios: Thin Client, Enterprise Web Pad, Industrial
Automation
Features: Ethernet, DCOM
Wireless LAM (office, coffee shop)
Scenarios: PDA, Internet Appliance, Networking Printer
Features: Bluetooth, IrDA, UPnP
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
47
Real-Time Communication
RTC Support
RTC Architecture
RTC Scenarios
임베디드시스템소프트웨어 - Windows CE
48
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
49
RTC Architecture
User App
Instant Messenger
RTC API
SIP
RTP
PINT
FTP
HTTP
TCP / IP
PPP
NDIS
Serial Driver
Hareware
임베디드시스템소프트웨어 - Windows CE
50
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
51
Multimedia Support and
Architecture
Multimedia Support
Multimedia Architecture
Multimedia Scenarios
임베디드시스템소프트웨어 - Windows CE
52
Multimedia Support
DirectDraw
Direct3D
DirectDVD
DirectMusic 7
DirectShow 6.1
DirectSound® 6.1
임베디드시스템소프트웨어 - Windows
CE
Legacy Video
Playback
Midi Playback
MP3 Playback
MPEG-1 Video
Playback
Digital Rights
Management (DRM)
53
Multimedia Architecture
Browsers / Applications
Media Player Control
COM Interface
DirectShow filter graph manager
Source Filter
(ASF, AVI, etc)
Transform Filter
Media Source
(Internet or file system)
Render Filter
DirectX foundation
Media destination
(audio / video hadrware)
임베디드시스템소프트웨어 - Windows CE
54
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
55
Security Features and Architecture
Which Security Features Are Supported?
SSPI Security Architecture
Security Scenarios
임베디드시스템소프트웨어 - Windows CE
56
Which Security Features Are
Supported?
Trusted environment
Certified applications
CyptoAPI
Protected registry
Password control
Protected store
임베디드시스템소프트웨어 - Windows
CE
LDAP Security Model
Secure Sockets Layer
PPTP
PC/SC
Secure file System
DCOM security
802.11 security
57
SSPI Security Architecture
SSPI-Security Support Provider Interface
Kerberos protocol
NTLM protocol
임베디드시스템소프트웨어 - Windows CE
58
Security Scenarios
Control access to the device
Protect against unauthorized applications
Secure data storage and file systems
Secure network and internet connections
임베디드시스템소프트웨어 - Windows CE
59
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
60
Internationalization (con’t)
Common practice for developing international
software:
Translation Tips
Use a few target locales for initial development and testing
Resource Localization: Strict or Non-strict
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
61
Windows CE 5.0 &
Windows Embedded CE
6.0
Windows CE 5.0 구조 (1)
Windows CE 5.0 구조
임베디드시스템소프트웨어 - Windows CE
63
Windows CE 5.0 구조 (2)
Windows CE 5.0 구조
(1) OAL (OEM Adaptation Layer)
커널과 하드웨어 사이의 계층 (Windows CE의 커널과 하드웨어 사이에
서 상호 간에 정보를 교환해 주는 창고역할)
시스템 시작, 인터럽트 처리, 전원관리, 타이머와 클락 등을 관리
OAL 소스는 BSP (Board Support Package)에 포함되어 OEM에서 제공
커널, OAL, KITL (Kernel Independent Transport Layer) 이 하나의 파일
(nk.exe)로 링크되어 만들어짐
Windows CE 5.0의 OAL:
임베디드시스템소프트웨어 - Windows CE
64
Windows CE 5.0 구조 (3)
Windows CE 5.0 구조
(2) 커널모듈
커널코드는 nk.exe로 불리는 파일 안에 포함
메모리 관리, 프로세스 관리, 예외처리, 멀티태스킹/스레드 지원
메모리 확장: DLL 사용
Coredll.dll: 운영체제의 핵심 DLL 모듈
대부분 WIN32 API 함수들을 export할 수 있음
(3) 디바이스 매니저
모든 디바이스 드라이버를 관리 (load / unload)
종류: built-in, install type
임베디드시스템소프트웨어 - Windows CE
65
Windows CE 5.0 구조 (3)
Windows CE 5.0 구조
(4) GWES (Graphics, Windowing, Events Subsystem) 모듈
사용자의 입력에 대한 정보를 애플리케이션과 운영체제에 메시지로 전달
User: 키보드, 마우스 등으로부터의 사용자 입력과 메시지 이벤트 처리
GDI: 디스플레이 디바이스로 그래픽과 텍스트를 생성/관리하고 사용자 출력을
처리
윈도우, 대화상자, 컨트롤, 메뉴, 사용자 인터페이스에 의해 만들어진 자
원을 지원
비트맵, 커서, 캐릿, 텍스트형태로 사용자에게 정보를 제공
(5) 파일 시스템
파일 시스템 모듈인 Filesys.exe는 사용자가 설치하거나 생성한 실행파일
과 데이터 파일을 담도 있는 저장소 Object Store
9개의 FAT 볼륨을 지원
각 볼륨은 저장카드로 취급
만약 저장카드가 다중 분할되면 각각의 부분은 분리된 볼륨으로 취급
임베디드시스템소프트웨어 - Windows CE
66
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
67
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
68
Windows CE 5.0 특징 (3)
안정화된 커널
Shared Heap memory 성능 향상
64개 시스템 인터럽트 지원
워치독 타이머 기능 향상
전원관리 스레드 우선순위 조정
셀 기능 확장
사용자 인터페이스 기능 향상
휴지통 기능 향상
임베디드시스템소프트웨어 - Windows CE
69
Windows CE 5.0 특징 (4)
보안 기능 변경
보안 관련 기능 향상
편리한 통합 개발 환경
기존 IDE 환경과 명령 프롬프트 환경간의 동기화 지원
빌드에 소요되는 시간 및 편의성을 대폭 향상
임베디드시스템소프트웨어 - Windows CE
70
Windows CE 5.0 메모리 구조(1)
임베디드시스템소프트웨어 - Windows CE
71
Windows CE 5.0 메모리 구조(2)
Windows CE 5.0 Application Memory Map
임베디드시스템소프트웨어 - Windows CE
72
Windows CE 5.0 시스템 호출
Windows CE 5.0 시스템 호출 구조
애플리케이션에 의한 호출
- PSL에 의한 커널간의 의사소통
커널
- 파라 미터 유효성 검사
- 슬롯0으로 서비스 매핑하기
- 캐쉬 플러시(Cache Flush)
- 서비스(Service) 호출
서비스
- 실행
- 커널로 복귀
커널
- 슬롯0으로 서비스 매핑하기
- 캐쉬 플러시(cache flush)
- 애플리케이션으로 복귀
임베디드시스템소프트웨어 - Windows CE
73
Windows CE 6.0 메모리 구조
Windows Embedded CE 6.0 메모리 구조
임베디드시스템소프트웨어 - Windows CE
74
Windows CE 6.0 시스템 호출
Windows Embedded CE 6.0 시스템 호출 구조
애플리케이션에 의한 호출
- PSL에 의한 커널간의 의사소통
커널
- 파라 미터 유효성 검사
- 서비스 호출
서비스
- 실행
- 애플리케이션으로 바로 복귀
임베디드시스템소프트웨어 - Windows CE
75
Windows CE 5.0 vs.
Windows Embedded CE 6.0 (1)
프로세스 주소 공간이 32MB에서 1GB로 증가
프로세스의 수가 32개에서 32K로 증가
사용자 모드 및 커널 모드 장치 드라이버가 가능
Device.exe, filesys.exe, GWES.exe 파일이 커널 모드로
이동
SetKMode 및 설정 프로세스 허용이 불가능해짐
System 호출 성능 개선
PC 운영체제 수준의 성능 향상 및 보안 기능 강화
임베디드시스템소프트웨어 - Windows CE
76
Windows CE 5.0 vs.
Windows Embedded CE 6.0 (2)
Kernel & OAL 구성
Windows CE 5.0
- OAL + Kernel = kern.exe
- OAL + Kernel + KITL =
kernkitl.exe
- OAL + Kernel + KITL +
Profiler = kernkitlprof.exe
Windows Embedded CE 6.0
- OAL = oal.exe
- Kernel = kernel.dll
- KITL = kitl.dll
임베디드시스템소프트웨어 - Windows CE
77
Windows CE 5.0 vs.
Windows Embedded CE 6.0 (3)
임베디드시스템소프트웨어 - Windows CE
78
Windows CE 5.0 vs.
Windows Embedded CE 6.0 (4)
Windows CE 5.0
시스템 호출
임베디드시스템소프트웨어 - Windows CE
Windows Embedded CE 6.0
시스템 호출
79