Article de reference

Windows CE

Windows CE , également connu sous les noms de Windows Embedded CE et Windows Embedded Compact , est un système d'exploitation abandonné développé par Microsoft pour les appareil...

Windows CE , également connu sous les noms de Windows Embedded CE et Windows Embedded Compact , est un système d'exploitation abandonné développé par Microsoft pour les appareils mobiles et embarqués . Initialement destiné aux ordinateurs de poche, Windows CE a évolué vers un système d'exploitation embarqué temps réel, basé sur des composants. Il faisait partie de la famille Windows Embedded et a servi de base logicielle à plusieurs produits, notamment Pocket PC , Auto PC , Windows Mobile , Windows Phone 7 et d'autres.

Contrairement à Windows Embedded Standard , Windows for Embedded Systems , Windows Embedded Industry et Windows IoT , qui sont basés sur Windows NT , Windows CE utilise un noyau différent. Microsoft l'a concédé sous licence aux fabricants d'équipement d'origine (OEM), qui pouvaient le modifier et créer leurs propres interfaces et expériences utilisateur , le système d'exploitation fournissant la base technique nécessaire.

Les versions précédentes de Windows CE fonctionnaient sur les architectures MIPS et SuperH , mais dans la version 7.0 sortie en 2011 (date à laquelle le produit a également été renommé Embedded Compact), la prise en charge de ces architectures a été abandonnée, tandis que celle de l'architecture MIPS II a été maintenue . La version finale, Windows Embedded Compact 2013 (version 8.0), sortie en 2013, ne prend en charge que les processeurs x86 et ARM avec un package de support de carte (BSP) intégré. Le support standard a été assuré jusqu'au 9 octobre 2018 et le support étendu a pris fin le 10 octobre 2023 ; toutefois, la vente de licences aux OEM se poursuivra jusqu'en 2028.

Caractéristiques

Pocket CMD v 3.0 ( cmd.exe ) sur Windows CE 3.0

Windows CE est optimisé pour les appareils disposant d'une mémoire minimale ; un noyau Windows CE peut fonctionner avec un mégaoctet de mémoire . Les appareils sont souvent configurés sans stockage disque et peuvent être configurés comme un système « fermé » ne permettant aucune extension par l'utilisateur final (par exemple, il peut être gravé dans une ROM ). Windows CE est conforme à la définition d'un système d'exploitation temps réel , avec une latence d'interruption déterministe. À partir de la version 3, le système prend en charge 256 niveaux de priorité et utilise l'héritage de priorité pour gérer l'inversion de priorité . L'unité d'exécution fondamentale est le thread . Ceci contribue à simplifier l'interface et à améliorer le temps d'exécution.

La première version – connue pendant son développement sous le nom de code « Pegasus » – comportait une interface graphique de type Windows et un certain nombre d'applications populaires de Microsoft, toutes allégées pour s'adapter aux capacités de stockage, de mémoire et de vitesse réduites des appareils portables.

De nombreuses plateformes ont été basées sur le système d'exploitation Windows CE, notamment AutoPC de Microsoft , Pocket PC 2000 , Pocket PC 2002 , Windows Mobile 2003 , Windows Mobile 2003 SE , Windows Mobile 5 , Windows Mobile 6 , Smartphone 2002 , Smartphone 2003 , Portable Media Center , Zune , Windows Phone 7 , ainsi que de nombreux appareils industriels et systèmes embarqués. Windows CE a même alimenté certains jeux pour la Sega Dreamcast et était le système d'exploitation de la console portable Gizmondo .

Une caractéristique distinctive de Windows CE, comparé aux autres systèmes d'exploitation Microsoft, est que de larges pans de son code source sont proposés. Dans un premier temps, ce code source a été mis à la disposition de plusieurs fournisseurs afin qu'ils puissent l'adapter à leur matériel. Ensuite, des produits comme Platform Builder (un environnement intégré pour la création et l'intégration d'images système Windows CE, ou pour la conception de systèmes d'exploitation personnalisés basés sur CE) ont proposé plusieurs composants sous forme de code source au grand public. Cependant, un certain nombre de composants essentiels qui ne nécessitent pas d'adaptation à des environnements matériels spécifiques (hormis la famille de processeurs) sont toujours distribués uniquement sous forme binaire.

Contrairement à Windows NT , dont les pilotes sont basés sur le modèle de pilote Windows ou les frameworks de pilotes Windows , les pilotes de Windows CE sont basés sur le modèle de pilote Windows CE .

Windows CE utilise WCELDR comme chargeur d'amorçage secondaire sur les plateformes x86, et EBOOT sur les plateformes ARM. Il utilise un registre préconfiguré par le fabricant pour gérer les périphériques matériels. Au démarrage, l'image d'amorçage NK.BIN ou le noyau NK.EXE est chargé par WCELDR ou EBOOT.

Bien que Windows Embedded Compact 7 prenne en charge les processeurs multicœurs , le noyau NT a été utilisé pour Windows Phone 8 au lieu du noyau CE.

Windows CE 2.11 a été la première version embarquée de Windows à prendre en charge une console et une version Windows CE de cmd.exe .

Histoire

Logo de Windows CE, de 1996 (versions 1.0 à 3.0)
Logo de Windows Embedded CE, de 2006 (version 6.0)
Logo de Windows Embedded Compact, version 8.0 (2013)
Logo sur la Dreamcast : « Compatible avec Windows CE »

Windows Embedded Compact était auparavant connu sous le nom de Windows CE. Selon Microsoft, « CE » n’est pas un acronyme explicite, mais il évoque plusieurs notions que les développeurs Windows avaient à l’esprit, telles que « compact », « connectable », « compatible », « compagnon » et « efficace ». Le nom a changé une première fois en 2006, lors de la sortie de Windows Embedded CE 6.0 , puis une seconde fois en 2011, lors de la sortie de Windows Embedded Compact 7 .

Windows CE a été initialement annoncé par Microsoft lors du salon COMDEX (Computer Dealers' Exhibition) en 1996 et présenté sur scène par Bill Gates et John McGill. Microsoft avait testé Pegasus début 1995 et avait fourni une plateforme de référence stricte à plusieurs partenaires matériels. Les appareils devaient répondre aux spécifications matérielles minimales suivantes :

  • Processeur SH3 , MIPS 3000 ou MIPS 4000
  • Mémoire ROM minimale de 4 Mo
  • Mémoire vive (RAM) d'au moins 2 Mo avec une source d'alimentation de secours, telle qu'une pile bouton CR2032.
  • Alimenté par deux piles AA
  • Un clavier QWERTY physique comprenant les touches Ctrl , Alt et Maj.
  • Écran LCD de 480 × 240 pixels avec quatre niveaux de gris et une résolution de 2 bits par pixel, doté d'une fonction tactile utilisable au stylet ou avec le doigt.
  • Un émetteur-récepteur IrDA
  • port série
  • Emplacement pour carte PC
  • Haut-parleur intégré

Les appareils de l'époque étaient principalement équipés d'écrans 480×240 pixels, à l'exception du « Palmtop PC » de Hewlett-Packard , doté d'un écran 640×240. Chaque fenêtre occupait tout l'écran. La navigation s'effectuait par un ou deux clics sur un élément. Un menu contextuel était également accessible en maintenant la touche ALT enfoncée et en touchant l'écran. Contrairement à Windows 95 et Windows NT 4.0, Windows CE 1.0 ne disposait pas d'un menu Démarrer en cascade. Microsoft a cependant publié ultérieurement les Power Toys pour Windows CE 1.0, qui incluaient une icône de menu en cascade apparaissant dans la barre d'état système. Plusieurs autres utilitaires étaient également fournis, notamment une application audio pour la barre d'état système, permettant de couper ou de rétablir rapidement le son ou de régler le volume, ainsi qu'une version « de poche » de Paint.

La sortie de Windows CE 2.0 a été bien accueillie. Microsoft a tiré les leçons des retours d'expérience des utilisateurs de Windows CE 1.0 et a apporté de nombreuses améliorations au système d'exploitation. Le menu Démarrer était un menu déroulant, identique à ceux de Windows 95 et Windows NT 4.0 . Les écrans couleur étaient également pris en charge et les fabricants se sont empressés de commercialiser le premier H/PC couleur . Le premier sur le marché fut Hewlett Packard avec le HP 620LX . Windows CE 2.0 prenait également en charge une plus large gamme d'architectures de processeurs. Il était possible d'installer des programmes directement dans le système d'exploitation en double-cliquant sur les fichiers CAB. En raison de la nature des ROM contenant le système d'exploitation, les utilisateurs ne pouvaient pas flasher leurs appareils avec le nouveau système. Les fabricants proposaient donc des ROM de mise à niveau que les utilisateurs devaient installer physiquement dans leurs appareils, après avoir supprimé la version précédente. Cette opération effaçait généralement les données de l'appareil et affichait l'assistant d'installation au premier démarrage.

En novembre 1999, il a été rapporté que Microsoft prévoyait de renommer Windows CE en Windows Powered . Ce nom n'est apparu que dans Handheld PC 2000 et dans une version de Windows 2000 Advanced Server pour périphériques de stockage en réseau (sans aucun lien avec Windows CE). Divers produits Windows CE 3.0 annoncés au CES 2001 ont également été commercialisés sous l'appellation générique « Windows Powered ».

Outils de développement

Visual Studio

Microsoft Visual Studio 2012, 2013 et 2015 prennent en charge les applications et le développement Platform Builder pour Windows Embedded Compact 2013.

Microsoft Visual Studio 2008 et les versions antérieures prennent en charge les projets pour les anciennes versions de Windows CE/Windows Mobile, en générant des programmes exécutables et des images de plateforme, soit sous forme d'émulateur, soit en les connectant par câble à un appareil mobile. Un appareil mobile n'est pas indispensable pour développer une application CE. Le .NET Compact Framework prend en charge un sous-ensemble du .NET Framework avec des projets en C# et Visual Basic (.NET) , mais pas en C++ managé . Les applications « managées » utilisant le .NET Compact Framework nécessitent des appareils dotés d'une mémoire nettement plus importante (8 Mo ou plus), tandis que les applications non managées peuvent fonctionner correctement sur des appareils moins performants. Dans Visual Studio 2010, les outils de développement Windows Phone sont utilisés comme extension, permettant ainsi de concevoir et de tester des applications Windows Phone 7 directement dans Visual Studio.

Pascal libre et Lazare

Free Pascal a introduit le portage Windows CE dans la version 2.2.0, ciblant les architectures ARM et x86. Par la suite, les fichiers d'en-tête Windows CE ont été traduits pour être utilisés avec Lazarus , un logiciel de développement rapide d'applications (RAD) basé sur Free Pascal. Les applications Windows CE sont conçues et codées dans l' environnement de développement intégré (IDE) Lazarus et compilées avec un compilateur croisé approprié .

Créateur de plateforme

Cet outil de programmation permet de créer la plateforme ( BSP + noyau ), les pilotes de périphériques (à code source partagé ou personnalisés) et les applications. Il s'agit d'un environnement unique pour la mise en service du système. Platform Builder permet également d'exporter un kit de développement logiciel (SDK) pour le microprocesseur cible ( SuperH , x86, MIPS, ARM, etc.) afin de l'utiliser avec un autre ensemble d'outils associés, mentionné ci-dessous.

Autres

  • Microsoft Visual C++ intégré (eVC) est un outil de développement d'applications embarquées pour Windows CE. Il peut être utilisé de manière autonome à l'aide du kit de développement logiciel (SDK) exporté depuis Platform Builder ou via la configuration de connectivité du gestionnaire de plateforme de Platform Builder.
  • Le projet CeGcc fournit des outils de développement GNU, tels que GNU C, GNU C++ et binutils , destinés à Windows CE ; 2 SDK sont disponibles : un SDK standard pour la plateforme Windows CE basé sur MinGW et un SDK basé sur newlib , qui peut faciliter le portage de programmes depuis les systèmes POSIX.
  • CodeGear Delphi Prism s'exécute dans Visual Studio et prend également en charge le .NET Compact Framework, permettant ainsi le développement d'applications mobiles . Il utilise le compilateur Oxygene de RemObjects Software , compatible avec .NET, le .NET Compact Framework et Mono . Son compilateur en ligne de commande est gratuit.
  • Basic4ppc – un langage de programmation similaire à Embedded Visual Basic , cible le framework .NET Compact et prend en charge les appareils Windows CE et Windows Mobile.
  • GLBasic est un dialecte BASIC très facile à apprendre et à utiliser, compilable pour de nombreuses plateformes, notamment Windows CE et Windows Mobile. Il est possible de l'étendre en y intégrant du code C/C++.
  • LabVIEW – un langage de programmation graphique, compatible avec de nombreuses plateformes, dont Windows CE.
  • MortScript – est un SDK d'automatisation semi-standard et extrêmement léger, très apprécié des passionnés de GPS. Il utilise des scripts écrits dans son propre langage, dont la syntaxe diffère de celle de VBScript ou JScript .
  • AutoHotkey est un portage du logiciel utilitaire open source de création de macros et d'automatisation disponible pour Windows CE. Il permet la construction de macros et d'applications GUI simples développées par l'analyste de systèmes Jonathan Maxian Timkang.

Liens avec Windows Mobile, Pocket PC et les smartphones

Chronologie du développement de Windows CE

On utilise souvent les termes Windows CE, Windows Mobile et Pocket PC de manière interchangeable, notamment en raison de leur origine commune. Cette pratique n'est cependant pas tout à fait exacte. Windows CE est un système d'exploitation modulaire/composant qui sert de base à plusieurs catégories d'appareils. Certains modules offrent des sous-ensembles de fonctionnalités d'autres composants (par exemple, différents niveaux de prise en charge des fenêtres ; DCOM vs COM ), d'autres sont indépendants ( prise en charge des polices bitmap ou TrueType ), et d'autres encore ajoutent des fonctionnalités supplémentaires à un autre composant. Il est possible d'acheter un kit (Platform Builder) qui contient tous ces composants et les outils nécessaires au développement d'une plateforme personnalisée. Des applications telles qu'Excel Mobile (anciennement Pocket Excel) ne font pas partie de ce kit. En revanche, l'ancienne version Handheld PC de Pocket Word et plusieurs autres applications plus anciennes sont incluses à titre d'exemples.

Windows Mobile se définit comme un sous-ensemble de plateformes basées sur Windows CE. Actuellement, Pocket PC (désormais appelé Windows Mobile Classic), Smartphone (Windows Mobile Standard) et Pocket PC Phone Edition (Windows Mobile Professional) constituent les trois principales plateformes de Windows Mobile. Chaque plateforme utilise différents composants de Windows CE, ainsi que des fonctionnalités et applications supplémentaires adaptées à ses appareils respectifs.

Pocket PC et Windows Mobile sont des plateformes personnalisées de Microsoft destinées aux assistants personnels numériques (PDA). Elles se composent d'un ensemble minimal de profils (Édition Professionnelle et Édition Premium) de logiciels et de matériels compatibles, défini par Microsoft. Les règles de fabrication d'un Pocket PC sont plus strictes que celles applicables à la production d'une plateforme personnalisée basée sur Windows CE. Les caractéristiques principales du Pocket PC sont son écran tactile comme interface utilisateur principale et son format extrêmement compact.

CE 3.0 constitue la base des Pocket PC 2000 et Pocket PC 2002. CE.net succède à CE 3.0. « PocketPC [est] une couche logicielle distincte qui s'ajoute au système d'exploitation Windows CE… Pocket PC est basé sur Windows CE, mais il s'agit d'une offre différente. » Les titulaires de licence Pocket PC n'ont pas le droit de modifier la partie WinCE.

La plateforme Smartphone est un système d'exploitation et une interface riches en fonctionnalités pour téléphones portables. Elle offre des outils de productivité aux professionnels, comme la messagerie électronique, et des fonctionnalités multimédias aux particuliers. L'interface Smartphone repose principalement sur la navigation par joystick et la saisie via PhonePad. Les appareils fonctionnant sous Smartphone ne sont pas équipés d'écran tactile. Les appareils Smartphone ressemblent généralement aux autres téléphones portables, tandis que la plupart des appareils Phone Edition adoptent le format d'un PDA avec un écran plus grand.

Sorties

Version Nom Libéré État du supportChangements
1.0 Windows CE 1.0 16 novembre 1996 Non pris en charge au 31 décembre 2001.Nom de code « Pegasus » (noyau) et « Alder » (outils).
  • Appareils appelés « PC de poche » ( H/PC )
  • 4 Mo de ROM minimum
  • 2 Mo de RAM minimum
1.01 Windows CE 1.0a 1997 Non pris en charge au 31 décembre 2001.Nom de code « Pegasus » (noyau), « Alder » (outils) ou inconnu.
2.0 Windows CE 2.0 13 octobre 1997 Non pris en charge avant le 30 septembre 2002. Le support standard a pris fin avant le 30 septembre 2003 et le support étendu avant le 30 septembre 2005.Le nom de code pourrait être « Birch » (noyau), « Buzzsaw » (outils).
  • Appareils appelés « PC de poche » (PsPC)
  • Planification déterministe des tâches en temps réel
  • Architectures : ARM, MIPS, PowerPC, StrongARM, SuperH et x86
  • Écrans couleur 32 bits
  • SSL 2.0 et SSL 3.0
2.01 Windows CE 2.01 1998 Non pris en charge avant le 30 septembre 2002. Le support standard a pris fin avant le 30 septembre 2003 et le support étendu avant le 30 septembre 2005.Le nom de code pourrait être « Birch » (noyau), « Buzzsaw » (outils).
2.02 Windows CE 2.02 1998 Non pris en charge avant le 30 septembre 2002. Le support standard a pris fin avant le 30 septembre 2003.Le nom de code pourrait être « Birch » (noyau), « Buzzsaw » (outils).
2.10 Windows CE 2.10 1998 Non pris en charge avant le 30 septembre 2002. Le support standard a pris fin avant le 30 septembre 2003.Le nom de code pourrait être « Birch » (noyau), « Buzzsaw » (outils).
2.11 Windows CE 2.11 1999 Non pris en charge depuis le 30 septembre 2002. Le support standard a pris fin le 30 septembre 2003 et le support étendu a pris fin le 30 septembre 2005 pour Windows CE 2.12.Le nom de code pourrait être « Birch » (noyau), « Buzzsaw » (outils).
  • (Palm-Size PC 1.2) – basé sur le noyau Windows CE H/PC 2.11, Pocket Office supprimé .
2.12 Windows CE 2.12 1999 Non pris en charge depuis le 30 septembre 2005. Le support standard a pris fin le 30 septembre 2003 et le support étendu le 30 septembre 2005.Le nom de code pourrait être « Birch » (noyau), « Buzzsaw » (outils).
3.0 Windows CE 3.0 15 juin 2000 Le support standard a pris fin le 30 septembre 2005 et le support étendu le 9 octobre 2007.Nom de code « Cedar » (noyau), « Chainsaw » (outils) et « Galilée ».
  • Refonte majeure du code qui a rendu le traitement CE difficile en temps réel à la microseconde près.
  • Base pour le Pocket PC 2000 , le Handheld PC 2000, le Pocket PC 2002 et le Smartphone 2002
  • Les niveaux de priorité ont été augmentés de 8 à 256
  • Le nombre d’objets stockés a été augmenté de 65 536 à 4,19 millions d’objets autorisés
  • Accès restreint aux API critiques ou restriction de l’accès en écriture à certaines parties du registre
4.0 Windows CE 4.0 7 janvier 2002 Le support standard a pris fin le 10 juillet 2007 et le support étendu le 10 juillet 2012.Nom de code « Talisker » (whisky).
4.1 Windows CE 4.1 2002 Le support standard a pris fin le 8 janvier 2008 et le support étendu le 8 janvier 2013.Nom de code « Jameson » (whisky).
4.2 Windows CE 4.2 2003 Le support standard a pris fin le 8 juillet 2008 et le support étendu le 9 juillet 2013.Nom de code « McKendric » (whisky).
5.0 Windows CE 5.xAoût 2004 Le support standard a pris fin le 13 octobre 2009 et le support étendu le 14 octobre 2014.Ajoute de nombreuses nouvelles fonctionnalités. Nom de code « Macallan »
  • Ajout d'un système de rapports automatiques pour les fabricants
  • Direct3D Mobile , une version basée sur COM de l'API multimédia DirectX de Windows XP
  • DirectDraw pour les graphismes 2D et DirectShow pour la prise en charge de la numérisation de la caméra et de la vidéo
  • Prise en charge du protocole de bureau à distance (RDP)
  • La version « Pro » inclut le navigateur Internet Explorer et Windows Media Player 9.
6.0 Windows Embedded CE 6.0Septembre 2006 Le support standard a pris fin le 9 avril 2013 et le support étendu le 10 avril 2018.Nom de code « Yamazaki ».
  • L'espace d'adressage des processus est augmenté de 32 Mo à 2 Go ; chaque processus a maintenant sa propre carte de mémoire virtuelle (tous les processus partageaient une carte VM dans CE 5.0)
  • Le nombre de processus a été augmenté de 32 à 32 768
  • Les pilotes de périphériques en mode utilisateur et en mode noyau sont possibles
  • 512 Mo de mémoire gérée physiquement
  • Les fichiers Device.exe, filesys.exe et GWES.exe ont été déplacés en mode noyau.
  • Cellcore
  • Les fonctions SetKMode et Set Process Permissions ne sont plus disponibles.
  • Amélioration des performances des appels système
  • Le générateur de plateforme nécessite Microsoft Visual Studio 2005 avec le Service Pack 1 installé.
7.0 Windows Embedded Compact 7Mars 2011 Le support standard a pris fin le 12 avril 2016 et le support étendu le 13 avril 2021.
  • Prise en charge des architectures x86, SH (automobile uniquement) et ARM.
  • Prise en charge des processeurs multicœurs (SMP).
  • Système de géolocalisation Wi-Fi.
  • Prise en charge Bluetooth 3.0 + HS.
  • Alliance du réseau de vie numérique ( DLNA ).
  • Technologie DRM .
  • Protocole de transfert de médias.
  • Windows Phone 7 IE avec prise en charge de Flash 10.1.
  • Prise en charge de NDIS 6.1.
  • API UX C++ XAML utilisant des technologies telles que Windows Presentation Foundation et Silverlight pour des interfaces utilisateur attrayantes et fonctionnelles.
  • Graphismes modernisés basés sur OpenGL ES 2.0 .
  • Saisie tactile et gestuelle avancée.
  • Prise en charge du noyau pour 3 Go de RAM physique et prise en charge de l'assembleur ARMv7.
  • Le générateur de plateforme nécessite Microsoft Visual Studio 2008 avec le Service Pack 1 installé.
8.0 Windows Embedded Compact 2013 Juin 2013 Le support standard a pris fin le 9 octobre 2018 et le support étendu le 10 octobre 2023.