# Windows Embedded Compact

Windows Embedded Compact (conosciuto anche come Windows CE e precedentemente noto come Windows Embedded CE) è un sistema operativo real time sviluppato da Microsoft, a partire dal 1996, per dispositivi portatili (PDA, Palmari, Pocket PC), smartphone e sistemi embedded: come si intuisce dal nome, è un derivato della famiglia di sistemi operativi Windows, ma ha un kernel differente e non è quindi una semplice "riduzione"; le API e l'aspetto grafico sono comunque molto simili.

## Caratteristiche

Il termine "Windows CE" è in realtà il nome "tecnico" con il quale viene indicata la piattaforma generale di sviluppo di questo sistema operativo. Essendo "Windows CE" sufficientemente modulare e flessibile, sono state sviluppate delle specifiche versioni per dispositivi differenti (oltre che per processori differenti dal x86, quali MIPS, ARM, Hitachi SuperH, Intel XScale).
Tali specifiche versioni prendono il nome "commerciale" di "MS Handheld 3.0" (e 3.1), "MS Handheld 2000", "Microsoft Pocket PC 2000" (e 2002), "MS Smartphone 2002", tutta la serie Windows Mobile e Windows Phone 7.x (da non confondere con Windows Phone 8 che si basa sul Kernel NT di Windows 8). Tali varianti fanno tutte riferimento a specifiche evoluzioni della piattaforma di riferimento "Windows CE". Data la moltitudine di nomi non è raro che generi ambiguità, impiegando erroneamente in modo ambivalente i termini "Windows Mobile" o "Windows CE" e simili. Questo sistema operativo funziona anche con un netbook di nome Minimind (della Mindtech).

## Utilizzo

Questo sistema operativo in passato veniva anche utilizzato per i palmari Salvatempo, sostituiti a loro volta da nuovi terminali Android, e per alcune casse automatiche, dei supermercati e ipermercati Coop, anche quelle sostituite da nuovi terminali dotati di Windows 10.
Questo sistema è utilizzato attualmente sui vagoni ferroviari Trenord, per la visualizzazione della tratta attuale e delle informazioni di contatto sui monitor. È utilizzato inoltre anche in alcuni navigatori GPS o autoradio e su pannelli di comando Siemens comfort panel HMI di solito associati a plc utilizzati nelle automazioni industriali. Infine è anche utilizzato nei display (della Xerox) per gli abbonamenti a bordo dei bus DolomitiBus.

## Versioni

| Versione | Cambiamenti |
| 1.0 | Distribuito il 16 novembre 1996. Codename "Alder". Dispositivi nominati "PC portatili" (HPC). |
| 2.0 | Distribuito il 29 settembre 1997. Codename "Birch". Dispositivi indicati con "Palm-sized PC". Schedulazione task deterministica in real-time (Real-time deterministic task scheduling). Architetture: ARM, MIPS, PowerPC, StrongARM, SuperH and x86. Schermi con colori a 32-bit. SSL 2.0 e SSL 3.0. |
| 3.0 | Distribuito il 15 giugno 2000. Codename "Cedar". Principale ricodifica che ha resto CE hard real-time a livello di microsecondo. Base per Pocket PC 2000, Handheld PC 2000, Pocket PC 2002 e Smartphone 2002. Livelli di priorità passati da 8 a 256. Object store portato da 65,536 a 4.19 milioni di possibili oggetti. Ristretto accesso a API critiche o accesso in scrittura a parti del registro. |
| 4.x | Distribuito il 7 gennaio 2002. Codename "Talisker/Jameson/McKendric". Struttura dei driver structure fortemente modificata, aggiunte funzionalità. Base per "Pocket PC 2003". Supporto Bluetooth. TLS (SSL 3.1), IPsec L2TP VPN, o Kerberos. |
| 5.x | Distribuito in agosto 2004. Aggiunte molte nuove funzionalità. Codename "Macallan". Report automatico dei bug al produttore. Direct3D Mobile, una versione delle API multimedia DirectX di Windows basate su COM. DirectDraw per grafica 2D e DirectShow a supporto della digitalizzazione di foto e video. Supporto Remote Desktop Protocol (RDP). |
| 6.0 | Distribuito in settembre 2006. Codename "Yamazaki". Addess space dei processi portato da 32 MB a 2 GB. Numero di processi portato da 32 a 32,768. Diventa possibile avere driver in modalità user e kernel. Gestita fisicamente la memoria fino a 512 MB Device.exe, filesys.exe, GWES.exe spostati a Kernel mode. Cellcore SetKMode e impostazione dei permessi dei processi impossibile. Migliorate performance delle system call. |
| 7.0 | Distribuito in marzo 2011. Supporto multi-core CPU (SMP) Wi-Fi Positioning System Bluetooth 3.0 + HS DLNA (Digital Living Network Alliance) Tecnologia DRM Media Transfer Protocol Windows Phone 7 IE con supporto Flash 10.1 Supporto NDIS 6.1 UX C++ XAML API usando tecnologie come Windows Presentation Foundation e Silverlight per interfacce utenti attrattive e funzionali Input avanzato a tocco e gesture Supporto Kernel per 3 GB di RAM fisica e supporto di codice ARMv7 |
| 8.0/ 2013 | Distribuito in giugno 2013. Miglioramenti al core, inclusa la gestione della memoria e della rete Migliorate le prestazioni del file-system, permettendo ai dispositivi di essere sempre disponibili Avvio ottimizzato, con lo snapshot boot, l'avvio è possibile in pochi secondi Supporto al Wi-Fi integrato, bluetooth e rete cellulare, supporto a Windows Azure, per lo sviluppo robusto di intelligent system Supporto da migliaia di sviluppatori e partner, che hanno sviluppato soluzioni di terze parti, inclusi browser HTML5 Supporto alle applicazioni Windows Store fatte per Windows 8 e presenta una interfaccia più simile ai Windows Phone |