Overview of Windows CE.NET. Overview Overview of Windows CE.NET Core Operating System Architecture...

42
Overview of Windows CE .NET

Transcript of Overview of Windows CE.NET. Overview Overview of Windows CE.NET Core Operating System Architecture...

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

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: Design Goals

Modular and compact operating system

Wireless and wired connectivity

Robust real-time capabilities

Rich multimedia and multilingual support

Strong development tool support

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

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

Basic Configurations (continued) 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 (PLC) variants

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

Basic Configurations (continued)

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 without displays

Target Hardware Support

Processor Family CPU SDB BSP Name

ARM Intel SA1110 Intel SA111x Assabet SDB

SA11X0BD

ARM920 ARM Integrator AP SDB

ARMINTEGRATOR

ARM1020

Intel Xscale Intel Lubbock SDB TBD

MIPS NEC Vr4122 NEC DDB-Vr4122 Eagle SDB

EAGLE

NEC Vr5432 NEC DDB-Vrc5476Boston SDB

DDB5476

SHx SH4-7750 Hitachi SH4 Aspen SDB

ASPEN

SH3-7729 Hitachi SH3 Keywest SDB

KEYWEST

x86 P5/P4/PIII/PII/CelK6x/Athlon

CEPC CEPC

NS Geode National Geode Reference Platform

GEODE

Core Operating System Architecture

Hardware

OALDevice Drivers

GWESKernel

Filesys

Applications

Programming Interfaces(Win32, COM, MFC, ATL)

Communications interfaces (Winsock, RAS, TAPI)

Networkingand

CommunicationsSystem

DeviceManager

The OEM Adaptation Layer

Layer between the Kernel and the hardware

Set of functions related to system startup, interrupt handling, power management, profiling, timer, 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

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

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 separate the implementation into two layers

The GWES Module

Graphics, Windowing, and Event Subsystem Graphic output: display and printer User input: keyboard, stylus, and mouse Window management: message routing

Graphic Device Interface (GDI)

Is the drawing subsystem of GWES Controls how text and graphics are displayed Uses a device context to store drawing attributes for a

specified device

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

The Filesys Module (continued)

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

The Filesys Module (continued)

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

Real Time Operating System

Bounded interrupt response latency

Timer precision configurable (1 millisecond default)

System timer tick independent of thread quantum

Nested interrupt support

Priority inheritance

Protected virtual memory

Synchronization objects

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

Advanced Features of Windows CE .NET

Networking and Communications

Real-Time Communication

Multimedia

Security

Internationalization

Networking and Communications

Networking and Communications Architecture

Wireless Platform Support

Component Object Model

Additional Networking Features

Networking Scenarios

Networking and Communications Architecture

WinsockWinsock

Protocol Stacks (TCP/IP, IrDA)Protocol Stacks (TCP/IP, IrDA)

NDIS (LAN, WAN, TR, IrDA)NDIS (LAN, WAN, TR, IrDA)Network DriversNetwork Drivers

TAPITAPI IP HelperIP Helper

SNMPSNMP WNetWNet WinInetWinInet

ApplicationsApplications

Network InterfaceNetwork Interface

SerialSerial

Serial PortSerial Port Ir PortIr Port FIR H/WFIR H/W

COMCOMMSMQMSMQ

RASRAS

PPPPPPUnimodemUnimodem

Web Web ServerServer

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

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

Marshalling support

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)

MediaSense

Media Access Control (MAC) Bridging

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 LAN (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

Real-Time Communication

RTC Support RTC Architecture RTC Scenarios

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

RTC Architecture

TCP/IPTCP/IP

NDISNDISSerial DriverSerial DriverPPPPPP

HardwareHardware

FTPFTP HTTPHTTPRTPRTPRTC APIRTC API

User AppUser App Instant Instant MessengerMessenger

SIPSIP PINTPINT

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

Multimedia Support and Architecture

Multimedia Support

Multimedia Architecture

Multimedia Scenarios

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)

Multimedia Architecture

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

Security Features and Architecture

Which Security Features Are Supported?

SSPI Security Architecture

Security Scenarios

Which Security Features Are Supported?

Trusted environment

Certified applications

CryptoAPI

Protected registry

Password control

Protected store

LDAP Security Model

Secure Sockets Layer

PPTP

PC/SC

Secure file system

DCOM security

802.11 security

SSPI Security Architecture

SSPI – Security Support Provider Interface

Kerberos protocol

NTLM protocol

Security Scenarios

Control access to the device

Protect against unauthorized applications

Secure data storage and file systems

Secure network and internet connections

Internationalization

Platform localization options:

Localization vs. Internationalization

Changing the language of your operating system

Adding locales

Selecting codepages

Internationalization (continued)

Creating International Applications:

Building for a different Locale

Shared source files

Understanding Unicode and NLS

Internationalization (continued)

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-coding file names in a binary file Avoid including text in images and icons

International Conventions Locales might have different conventions for expressing information Locales might have different keyboard conventions

Review

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