Summary of the Windows CE Operating System
The following section outlines the major features of Windows CE. The features mentioned are discussed in more detail throughout the chapter.
Kernel
The Kernel — the core of the operating system — provides system services for managing threads, memory, and resources. It includes:
- Preemptive, priority-based thread scheduling based on the Win32 process and thread model. Priority inversion is prevented with a system of priority inheritance that dynamically adjusts thread priorities.
- Predictable thread synchronization mechanisms, including wait objects. Examples of these mechanisms are named mutexes, critical sections, and named and unnamed event objects.
- Efficient memory management based on dynamic-link libraries (DLLs), which link user applications at run-time.
- A flat, virtual address space, with 32 MB of memory reserved for each process. Process memory is protected by altering page protections.
- On-demand paging for both read-only memory (ROM) and random access memory (RAM).
- Heap size that is limited only by available memory.
- Control of interrupt handling. You can map interrupt requests (IRQs) to hardware interrupts and implement your own interrupt service routines and interrupt service threads.
- Extensive debugging support, such as including just-in-time debugging.
Persistent Storage
The file system supports persistent storage of information. It includes:
- Support for FAT file systems with up to nine FAT volumes.
- Transactioned file handling to protect against data loss.
- Demand paging for devices that support paging.
- FAT file system mirroring to allow preservation of the file system if power is lost or cold reset is needed.
- Installable block device drivers.
Communications Interface
The communications interface supports a wide range of technologies. It includes:
- Support for serial communications, including infrared links.
- Support for Internet client applications, including Hypertext Transfer Protocol (HTTP) and File Transfer Protocol (FTP) protocols.
- A Common Internet File System (CIFS) redirector for access to remote file systems by means of the Internet.
- A subset of Windows Sockets (Winsock) version 1.1, plus support for Secure Sockets.
- A Transmission Control Protocol/Internet Protocol (TCP/IP) transport layer configurable for wireless networking.
- An Infrared Data Association (IrDA) transport layer for robust infrared communication.
- Both Point-to-Point Protocol (PPP) and Serial Line Internet Protocol (SLIP) for serial-link networking.
- Support for local area networking through the network driver interface specification (NDIS).
- Support for managing phone connections with the Telephony API (TAPI).
- A Remote Access Services (RAS) client for connections to remote file systems by modem.
Graphics, Windowing, and Events Subsystem (GWES)
The GWES module supports the graphics and windowing functionality needed to display text and images and to receive user input. It includes:
- Support for a broad range of window styles, including overlapping windows.
- A large selection of customizable controls.
- Support for keyboard and stylus input.
- A command bar combining the functionality of a toolbar and a menu bar.
- An Out of Memory dialog box that requests user action when the system is low on memory.
- Full UNICODE support.
- A multiplatform graphics device interface (GDI) that supports the following features:
- Both color and grayscale displays, with color depths of up to 32 bits per pixel.
- Palette management.
- TrueType and raster fonts.
- Printer, memory, and display device contexts (DCs).
- Advanced shape drawing and bit block transfer capabilities.