Windows CE 3.0 is a major step up from the previous version. Features have been added in all major areas, including:
Real-Time Support: While Windows CE 3.0 isn't a hard real-time operating system, a number of enhancements bring it very close, including increasing the number of priority levels to 256 from the eight available in earlier versions. Plus, nested priority interrupts have been added, allowing higher priority interrupts to take command of the processor. Furthermore, improved scheduler control provides programmers the ability to control the quantum of any thread in the system. Thread switch response is better due to tighter upper-bound scheduling latencies.
Kernel Services: Several kernel services have been added. On-chip debugging support now allows debugging of the OEM Adaptation Layer (OAL) before the operating-system kernel is running.
Semaphore support is another addition. Full-kernel mode support is available too, so all threads can run in the kernel mode if the developer desires. Multiple execute-in-place (XIP) regions allow applications to run from ROM, reducing RAM requirements. The Common Executable Format component enables the same application to run on multiple CPUs without recompiling. Compression for the ROM and object store can be enabled or disabled. A number of new event-tracking functions have improved system event tracking. A device I/O control (IOCTL) function now allows a unique serial number to be assigned to each device.
Finally, a new kernel-level security model prevents unauthorized applications from accessing system APIs and potentially damaging the platform. New APIs allow software developers to retrieve the assigned trust level of a module or a process.
Security: Security changes were in demand due to the type of networking environments that embedded Windows CE is destined for. A Cryptography Service Provider Development Kit is included with Windows CE. A smart-card subsystem with a resource manager API and reader drivers for developing PS/SC-compliant smart-card systems is new as well. Additionally, Windows CE presently supports the RSAENH (Microsoft Enhanced Cryptography Service) with 128-bit encryption.
Interprocess Communication Services: A number of interprocess communication services have been added. Two separate COM modules now offer different levels of COM support. These are a limited-feature, small-footprint module that provides interprocess calls plus a free-threading mode, and a full-featured module that supports out-of-process calls, full-threading model support, and Distributed Common Object Model.
With the exception of the security interfaces, the Distributed Common Object Model module is fully compatible with Windows NT version 4.0 SP5. Also, enhanced MSMQ server support compatible with Windows NT, Windows 98, and Windows 2000 Message Queuing Services is now included.
Driver And Hardware Support: Windows CE can now update the platform image via dial-up boot loader. It supports security and certificate authentication, and connection via hypertext transfer protocol (HTTP), file transfer protocol (FTP), point-to-point protocol (PPP), and serial line Internet protocol (SLIP).
A USB Universal Host Controller Interface (UHCI) driver and a USB Human Interface Device (HID) driver with Direct Input interface are included too. Plus, new Serial MDD drivers have been added. Furthermore, sample USB, Personal Computer Memory Card International Association (PCMCIA), and Serial Smart Card drivers are included as well. Currently, support for M-Systems' DiskOnChip is standard.
Enhanced Display Driver Support: Enhanced display driver support is comprised of flat-mode display drivers for the CEPC platform. These work with most of the PC-based display cards. ATI Rage XL 2D-only hardware-accelerated display drivers are currently included. Performance enhancements have been made to the S3Virge display driver. Sample display drivers with software cursors and anti-aliased text support have been added too.
Object Store: The object store size has increased to 256 Mbytes from 16 Mbytes. At present, individual files can be as large as 32 Mbytes and database volumes can go up to 256 Mbytes. Also, object-store address size was increased from 16 to 22 bits. Additionally, support for querying VERSIONINFO resources to obtain version and language-support information about files is available.
Communications: Windows CE includes RAS client support that uses TAPI. Support for a subset of TAPI 2.1, which includes inbound data-modem call capability and support for adding telephony service providers (TSPs), has been added. Simple network management protocol (SNMP) support includes SNMPv2c extensible agent support, MIB II (TCP/IP stack), and host MIB support. The improved TCP/IP support now includes dead gateway detection and forwarding across multiple interfaces.
In addition, the web (HTTP) server presently supports ASP (active server pages), ISAPI (Internet server API) filters, and extensions. Windows CE currently provides full support for DNS, WINS, and broadcast name resolution. Also, dynamic host configuration protocol (DHCP) client support now includes Autonet support. Autonet assigns an IP address to a device if a DHCP server isn't available. Better TCP/IP control is provided through IP Helper APIs.
The full-feature WinInet component used by Internet applications to access HTTP and FTP services has been added. IrDA protocol support and serial communication support has been improved. Intermediate network-driver-interface-specification (NDIS) driver support has been added. At present, the Windows CE 3.0 DDK includes a new, improved NDIS test utility. Finally, the common Internet file system (CIFS)/server message block (SMB) protocol redirector provides access to network file systems on Windows servers.
Shell Services: Resolution-independent controls and dialog boxes have been added along with DirectX support. The Pocket Internet Explorer browser supports frames, tables, and JavaScript, plus JPEG, GIF, and WAV files.
A new browser control has been added. Although it's compatible with IE 4 for the desktop, it's optimized for Windows CE, with support for ActiveX controls. In addition, it supports JScript (ECMAScript), HTML version 4.0, DHTML, cascading style sheets, 40- and 128-bit SSL (secure sockets layer), and offline browsing, plus GIF, JPEG, and BMP image files.