Title: Windows CE.NET ??
1Windows CE.NET ??
2? ?
- Windows CE 3.0? ?? ??
- ???? ???? ???? ??? ?? ??
- ???? ???? ?? ??? ????
- ??? ??? ??? ?? ? ???? ?? ???? ??? ???? ??? ? ???
?? - ?? ?? ?? ?? ? ??? ?? ??? ??
- ??? ????, ?? ???, ?? ??? ???, ??? ?????, ? ????
?? ? - ??? ?? Windows CE ?? ??? ???? ? ??? ?? ??? ??
3? ?
4? ? (1)
?? ??? ??
Kernel File system 200KB
Communication 800KB
Graphics and Shell 1.3MB
Applications (Pocket Word) 4MB
Internet Explorer 8MB
5? ? (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 -gt .NET?? ???.
6? ? (3)
- ?? API, ????? ?? ? ?? ??
- Win32 API ??
- ?? ?? MS-DOS, Win 3.X , ODBC, OLE
- ?? ??????, MFC, COM, ATL
- OS ??? ??? ? ROM ??
- 200??? ??? ?? ??
- ? ??? LIB ??? ??? ??
- ???? ?? ???? ???? ROM?? ????
7? ? (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 - ???(???) ??? ?? ????
- ???????, ??, ??????, ????, ???, ?????, ?????, ??
8? ? (5)
- ???? ????
- ??? ??(Platform Builder)
- ?? Windows CE ???? ???? ??? ?? ?? ??
- ?? ??? ?? ??(components)?? ???? ????? ?? ??????
???? ???? ??? ?? - ?????, ?? ?? ???(BSP) ???, ?? ???, ?? ??, Windows
CE ??? ??, ???? ?? ??? ??
9? ? (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 ??)? ?? ??
10? ? (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)
??
11? ? (8)
- ??? ????
- ?? ?? ? ????? CPU? ??? RAM? ??? ???? ???. (??
??? ??? ?? ?? ??.) - ?? ?? ?? ??. CPU? ???? ???? ????, RAM? ?? ???
??? ??? ????. - ?? ?? ? ????? ???? ???? ?? CPU? ?? ?? ???? ????
??? ????. RAM?? ??? ???? ?? ?? ????? ? ? ?? ???
?? ??. - ?? ?? ? ????? ???? ???? ?? CPU? ?? ?? ???? ???
????? ????. RAM?? ??? ???? ?? ?? ????? ? ? ?? ???
?? ??. - ?? ?? ?? ? ????? CPU? ?? ????, RAM? ?? ?? ?? ???
??? ??? ?? ??. ?? ??? ??? ?? ??.
12?? ??
13Board Support Package(BSP)
14BSP (1)
- ??
- Boot loader, OEM Adaptation layer(OAL), Device
Drivers
15BSP (2)
- Boot Loader
- ?? ???? ??? ??? ???? ??? ??
- Serial, Ethernet? ??. ?? Ethernet? ??
- TFTP ????? ???? ???? ????
- IP address ??(static IP or DHCP)
- target ??? BOOTME packet? ???
- Platform Builder??? ??? ??.
- TFTP ????? ???? ???? ????.
- ?? ??
- ???? ???? ???? ???
- ?? ? MMU ??
- ?? ????
- ??? ???
16BSP (3)
- OAL (OEM Adaptation layer)
- ?? ??? ??, ???, ????, ???? ???? ?? ??
- ??? ??? ????? ????? ??? ??? ??? ????? ??? ??????
??? ???? ???? ??? OEM_XX? ???? ?? - OAL Layer? ??? ???? ??? ??
17BSP (4)
18Overview of Windows CE.NET
19Overview
- 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
20Overview of Windows CE.NET
- Windows CE.NET Design Goals
- What is New in Windows CE.NET?
- Basic Configurations
- Target Hardware Support
21Windows 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
22What 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
23Basic 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
24Basic Configurations (cont)
- 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
25Basic Configurations (cont)
- 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
26Target Hardware Support
Processor Familly CPU SDB BSP Name
ARM Intel SA1110 Intel SA111x Assabet SDB SA11X0BD
ARM ARM920 ARM Integrator AP SDB ARMINTEGRATOR
ARM ARM1020 ARM Integrator AP SDB ARMINTEGRATOR
ARM Intel Xscale Intel Lubock SDB TBD
MIPS NEC Vr4122 NECDDB-Vr4122 Eagle SDB EAGLE
MIPS NEC Vr5432 NEC DDB-Vrc5476 Boston SDB DDB5476
SHx SH4-7750 Hitachi SH4 Aspen SDB ASPEN
SHx SH3-7729 Hitachi SH3 Keywest SDb KEYWEST
X86 P5/P4/PIII/PII/CelK6x/Athlon CEPC CEPC
X86 NS Geode National Geode Reference Platofrm GEODE
27Core Operating System Architecture
28Core Operating System Architecture (cont)
29The 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
30The 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
31Device 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
32The 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
33The 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
34The Filesys Module (cont)
- 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
35The Filesys Module (cont)
- 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
36Real 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
37Power 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
38Advanced Features of Windows CE.NET
- Networking and Communications
- Real-Time Communication
- Multimedia
- Security
- Internationalization
39Networking and Communications
- Networking and Communications Architecture
- Wireless Platform Support
- Component Object Model
- Additional Networking Features
- Networking Scenarios
40Networking 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
41Wireless 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
42Component 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
43Additional 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
44Networking 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
45Real-Time Communication
- RTC Support
- RTC Architecture
- RTC Scenarios
46RTC 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
47RTC Architecture
User App
Instant Messenger
RTC API
SIP
RTP
PINT
FTP
HTTP
TCP / IP
PPP
NDIS
Serial Driver
Hareware
48RTC 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 Contacts Presence or Control Presence
Information - CE device on a network with an SIP server
49Multimedia Support and Architecture
- Multimedia Support
- Multimedia Architecture
- Multimedia Scenarios
50Multimedia 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)
51Multimedia Architecture
Browsers / Applications
Media Player Control
COM Interface
DirectShow filter graph manager
Source Filter (ASF, AVI, etc)
Transform Filter
Render Filter
Media Source (Internet or file system)
DirectX foundation
Media destination (audio / video hadrware)
52Multimedia 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
53Security Features and Architecture
- Which Security Features Are Supported?
- SSPI Security Architecture
- Security Scenarios
54Which 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
55SSPI Security Architecture
- SSPI-Security Support Provider Interface
- Kerberos protocol
- NTLM protocol
56Security Scenarios
- Control access to the device
- Protect against unauthorized applications
- Secure data storage and file systems
- Secure network and internet connections
57Internationalization
- 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
58Internationalization (cont)
- 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