Microsoft Windows CE

Microsoft Windows CE

Windows CE

Windows CE (officiellement nommé Windows Embedded Compact depuis la version 6.0 (nom de code "Yamazaki")[1][2]), parfois abrégé WinCE, est une variation de Windows pour les systèmes embarqués et autres systèmes minimalistes, utilisée notamment dans les PC de poche ou Handheld. Il utilise un noyau distinct des autres Windows plutôt qu'une version allégée et supporte les architectures processeur Intel x86 et similaires, MIPS (jusqu'à CE 3.0), ARM et aussi Hitachi SH.

Windows CE est une branche d'OS à part, indépendante de la famille NT notamment. Il ne faut pas la confondre avec l'offre Windows XP Embedded qui est une dérivation, pour l'embarqué, de la famille NT/XP disponible uniquement pour architecture x86 avec l'offre Windows CE qui est disponible pour x86, ARM, SH et MIPS.

La sortie officielle de la dernière version, Windows Embedded CE 6.0, a eu lieu le 1er novembre 2006. Une version R2 est disponible depuis début 2007.

Windows CE est optimisé pour les appareils possédant une faible capacité de stockage - le noyau peut tourner avec moins d'un mégaoctet de mémoire vive. Les systèmes sont souvent produits sans disque de stockage et peuvent être pensés pour ne pas pouvoir être étendus (par exemple, le système peut être écrit en ROM). Windows CE est conforme à la définition d'un système d'exploitation temps réel. Il supporte 256 niveaux de priorité et permet l'inversement de priorité. À l'inverse des systèmes ressemblant à UNIX, l'unité fondamentale d'exécution est le thread permettant d'obtenir des programmes plus simples et plus rapides en concurrence.

Microsoft a indiqué que « CE » n'est pas un acronyme, mais beaucoup de personnes croient qu'il signifie « Consumer Electronics » ou « Compact Edition ». La première version, surnommée « Pegasus », proposait une interface graphique similaire aux autres Windows ainsi qu'un certain nombre de logiciels de Microsoft, tous allégés en capacité de stockage, mémoire et vitesse.

Depuis, Windows CE a évolué - d'après les documents de Microsoft - en un système d'exploitation basé sur des composants, embarqué et temps réel. Il n'est plus réservé aux seuls ordinateurs tenant dans la main. Beaucoup de plate-formes sont basées sur le cœur du système Windows CE telles que Microsoft's Handheld PC, Pocket PC, Pocket PC 2002 et Smartphone 2002.

Il est souvent indiqué que Windows CE 3.0 et Pocket PC sont la même chose, or le Pocket PC est dérivé du successeur de Windows CE 3.0.

Versions actuelles : 4.2 (dite .Net), 5.0, 6.0 et 6.0R2.

Le principal concurrent de ce système était Palm OS lancé sur une plate-forme incompatible avec Windows CE.

Sommaire

Fonctionnalités

Généralités

  • Windows CE est prévu pour fonctionner sur des périphériques à faible empreinte mémoire. Une image système sans support graphique peut être de l'ordre du MO.
  • Windows CE peut fonctionner sans support de stockage, exclusivement en RAM/ROM
  • Windows CE est un système 32 bits pouvant fonctionner sur architecture ARM, x86, MIPS, SHx
  • Windows CE répond aux contraintes d'un système temps-réel avec un ordonnanceur préemptif à 256 niveaux de priorités fixes et un temps de latence des interruptions déterministe. Sous certaine conditions, un mécanisme d'inversion de priorité peut être pris en charge par l'OS. L'unité d'exécution est le thread.
  • Windows CE prend en charge un environnement graphique basé sur une mécanique évènementielle (GWES - Graphic Windowing and Events Subsystem) et intégrant une couche GDI (Graphic Device Interface) allégée par rapport à ce qui est disponible sur XP.
  • Communication: Bluetooth, IrDA, Ethernet, Wifi, NDIS 5.1, TCP/IP, ...

Nouvelles fonctionnalités en version 6

  • Les gestionnaires système des systèmes de fichiers (anciennement filesys.exe), de l'environnement graphique (anciennement GWES.exe) et des pilotes périphérique (anciennement device.exe) migrent dans l'espace kernel et sont intégrés au noyau (nk.exe) sous la forme de DLL.
  • Nouveau modèle de mémoire virtuelle : les 4 Gio sont répartis en 2 Gio inférieurs pour l'espace utilisateur et 2 Gio supérieurs pour l'espace kernel (noyau). Chaque dispose d'une zone privée de 2 Gio remappée dans l'espace utilisateur.
  • Nouveau modèle de pilote de périphérique avec la distinction des pilotes chargés en mode user et en mode kernel
  • La limite des 32 processus passe à 32768 processus.
  • La limite des 32 Mio de mémoire virtuelle par processus passe à 2 Gio.
  • L'IDE Platform Builder est intégré à Microsoft Visual Studio 2005 sui permet ainsi le développement système et applicatif depuis un seul et même environnement.
  • Support du mode lecture seule pour le système de fichiers UDF 2.5.
  • Support du système de fichier exFAT.
  • Support des standards sans fil 802.11i (WPA2) et 802.11e (QoS)
  • Support radio.
  • Architectures processeur supportées: x86, ARM, SH4 et MIPS.
  • Nouveau composant "Cellcore" pour la gestion facilitée des connexions données et appels vocaux via un réseau cellulaire.

Outils de développement

Les outils de développements se répartissent en trois familles :

  • Développement système : Platform Builder
  • Développement applicatif : Embedded VC, Visual Studio et WINDEV Mobile
  • Diagnostic et analyse : Remote tools

Il existe également un compilateur croisé libre qui permet de développer des applications Windows CE à partir d'autres plateformes comme Linux, FreeBSD ou Mac OS X : CeGCC (dérivé de la famille des GCC)[3].

Platform Builder

C'est l'outil qui permet de générer l'OS. Il est livré avec un ensemble de sources et librairies prébuildées qui constituent l'ensemble des fournitures nécessaires pour générer un système Windows CE. Cet outil permet donc de générer un OS mais c'est aussi l'environnement de développement de toutes les fonctionnalités systèmes comme par exemple les pilotes additionnels. Cet outil permet aussi de fournir des BSP (Board Support Package) et des SDK (Software Development Kit) à destination des équipes de développement système et applicative respectivement.

Cet outil est apparu en version graphique avec CE 3.0 en 1999. Depuis la version 6.0 il n'est plus "standalone" mais se présente comme un composant additionnel à Visual Studio 2005 (VS 8.0).

Embedded Visual C

C'est l'outil qui permet de faire du développement croisé en code natif pour les systèmes Windows CE depuis la version 3.0 jusqu'à la version 5.0. Depuis la version 6.0 de Windows CE, cet outil est remplacé par Visual Studio qui intègre dorénavant les compilateurs croisés.

Les correspondances de version de l'outil eVC avec Windows CE sont les suivantes:

  • eVC 3.0 : Windows CE 3.0
  • eVC 4.0 : Windows CE 4.0
  • eVC 4.0 sp1: Windows CE 4.1
  • eVC 4.0 sp2: Windows CE 4.2
  • eVC 4.0 sp4: Windows CE 5.0

Pour information, une version d'outil Embedded Visual Basic était disponible en version 3.0. Elle permettait de faire du développement en VB 6.0 pour Windows CE. Cet outil n'a pas été supporté au delà de la version 3.0. Le développement en Visual Basic sur Windows CE est de nouveau possible via le support des technos .NET et Visual Basic 7.0 et plus.

Visual Studio

Depuis la version VS 2002 SDE il est possible de faire du développement managé (i.e. .NET) pour cible Windows CE et du développement natif depuis la version VS 2005.

La prise en charge de .NET sous Windows CE est assurée par une version allégée du Framework .Net: le Compact Framework .NET.

Visual Studio 2005 est donc, depuis Windows Embedded CE 6.0, l'environnement complet de développement aussi bien pour le système via le composant additionnel Platform Builder, que pour le développement applicatif natif (C/C++) ou managé (.NET).

WINDEV Mobile

Existe depuis 2004.

WINDEV Mobile est un environnement de développement complet en français qui permet de développer des applications pour les terminaux embarquants un système basé sur Windows CE (> CE 3). La programmation se fait avec un langage très proche de l'algorithmique et du langage naturel.

Une version express gratuite est disponible en téléchargement sur le net.

Remote tools

Il s'agit d'un ensemble d'outils d'analyse permettant, via une connexion à une cible Windows CE, d'obtenir des informations sur le système:

  • ZoomIn: copie d'écran
  • File Viewer: visualisation du système de fichier cible
  • Registry Editor: visualisation de la base de registre cible
  • System Infos: bilan des informations système
  • Spy++: Espionnage de la messagerie Windows
  • Heap Walker: analyse des tas des process pour le suivi des allocations mémoire
  • Process Viewer: listes des process et threads actifs
  • Call Profiler: analyse de l'arbre d'appel
  • Performance Monitor: visualisation de l'évolution des métriques système
  • Kernel Tracker: chronogramme de l'évolution de l'ensemble des objets noyaux

Licence

Une licence de développement, sous forme d'un outil de génération d'images (Platform Builder), est nécessaire. Les images générées ne sont alors plus limitées à 120 jours. Par ailleurs, chaque appareil livré doit être doté d'une licence (Run time license), matérialisée par un autocollant. Aucune activation n'est prévue. Les licences peuvent être acquises auprès de distributeurs spécifiques et agréés par Microsoft, après signature d'un contrat d'acceptation des conditions.

Ouverture

Pour accélérer le développement d'applications compatible Windows CE, inciter au développement de matériel compatible, et ainsi gagner la confiance des constructeurs d'appareils électroniques, Microsoft a rendu public une partie du code de Windows CE. La consultation du code est possible après acceptation d'une licence spécifique (Share source license). Le programme de génération des Images CE est payant (Windows CE Platform Builder), avec une version d'évaluation pleinement fonctionnelle mais limitée à 120 jours (outil et image). Le développement d'applications nécessite des outils spécifiques comme embedded Visual C++, distribué gratuitement, ou des plug-ins intégrés à MS Visual Studio. Il n'est évidemment pas question de logiciel libre : les éditeurs ayant payé une licence peuvent modifier des copies de ce code source, et ne sont pas obligés de révéler à Microsoft leur propre code source. La redistribution n'est pas limitée : les éditeurs peuvent redistribuer des versions modifiées à des fins commerciales. Certains craignent la confusion avec le code Open Source propre au logiciel libre.

Windows Embedded CE 6.0, comme les versions précédentes, est livré avec une partie des codes source[4].

Historique & Versions

  • 1.0 : Windows CE est sorti pour la première fois en 1996 (nom de code "Pegasus"). Cette version n'offrait pas les fonctionnalités systèmes actuelles, en particulier au niveau de l'ordonnancement et de la gestion mémoire.
  • 2.0, 2.11, 2.12 : Versions fondées sur l'architecture 1.0. Jusqu'à la version 2.12 l'ordonnancement était fondé sur un système à 8 niveaux de priorités variables. Windows CE n'était donc pas encore un système éligible pour le temps-réel.
  • 3.0 : La première rupture technologique a lieu avec CE 3.0 en 1999 avec l'intégration d'un ordonnanceur preemptif à 256 niveaux de priorités fixes rendant Windows CE éligible en tant que système temps réel. Windows CE 3.0 marque aussi l'apparition des outils graphiques pour le développement système et applicatif.
  • 4.0, 4.1, 4.2 : Sorties entre 2001 et 2003, support de fonctionnalités renforcés (communication, média, ...) et amélioration des outils de développement
  • 5.0 : Sortie fin 2004, le principe de gestion de la mémoire commence à devenir limite pour les systèmes fortement orientés multimédia et en particulier pour les appareils grand public fonctionnant sous Windows CE, à savoir les pocket PC et Smartphone. La réflexion est en cours pour une nouvelle architecture mémoire cependant aucune modification majeure n'est effectuée sur cette version. Windows CE 5.0 représente un système industriel dont l'architecture est stabilisée depuis 7 ans.
  • 6.0 : Windows Embedded CE 6.0 marque la seconde rupture technologique dans cette famille d'OS. Cette fois l'architecture mémoire est révisée pour offrir le support de plus de 32 000 processus avec chacun 2 Go d'espace adressable. Pour mémoire, jusqu'à CE 5.0 les limites étaient de 32 processus avec 32 Mo d'espace adressable. Cette version marque le début d'un nouveau cycle pour l'architecture du système.

Dreamcast

Bien que le système d'exploitation principal de la console de jeux vidéo Dreamcast de SEGA fut SegaOS, la Dreamcast était également compatible avec Windows CE. Bien que peu utilisé, celui-ci facilitait notamment le portage de jeux PC DirectX vers la console en un temps record. Il fut notamment utilisé pour le jeu Sega Rally 2. Cependant l'utilisation de Windows CE n'était pas obligatoire. En effet, la console utilisait SegaOS par défaut, et le système était éventuellement chargé si le jeu en question était un jeu Windows CE (identifié par la présence du logo Powered by Windows CE, notamment au lancement du jeu), directement depuis le GD-Rom du jeu, la Dreamcast ne possédant pas Windows CE sur mémoire morte en son sein.

Lien avec Windows Mobile

L'offre Windows Mobile repose sur une version de Windows CE agréementée d'un ensemble de fonctionnalités. De plus, l'architecture matérielle pouvant faire fonctionner une version Windows Mobile est déterminée par Microsoft. Ceci signifie que l'offre Windows Mobile peut être vue comme la fourniture d'un OS avec un ensemble de fonctionnalités mais aussi comme la spécification d'une architecture matérielle. Ainsi l'offre Mobile a toujours fonctionné sur processeur ARM jusqu'à présent.

En 1999 sort sur le marché le premier Pocket PC. Cet appareil est basé sur un OS Windows CE 3.0. Cette sortie marque le début de l'expansion de l'OS Windows CE via l'offre Mobile avec pour chaque génération de l'offre Windows Mobile une version de Windows CE sous-jacente :

  • SmartPhone 2002 (Windows Mobile 2002) : Windows CE 3.0
  • Windows Mobile 2003 : Windows CE 4.20
  • Windows Mobile 2003 SE : Windows CE 4.21
  • Windows Mobile 5.0 : Windows CE 5.1
  • Windows Mobile 6.0 : Windows CE 5.2
  • Windows Mobile 6.1 : Windows CE 5.2

Les versions Windows Mobile 5.0 et 6.x reposent donc sur une version dérivée de Windows CE 5.0. Les version 5.1 et 5.2 sont des réservées à l'offre Windows Mobile. De plus, bien que sortie après Windows Embedded CE 6.0 (novembre 2006), Windows Mobile 6.0 (février 2007) ne s'appuie pas sur cette nouvelle version.

Windows Embedded CE 6.0 sera a priori la base de Windows Mobile 7 (nom de code "Photon").[5] Windows Mobile 8 devrait faire une vraie cassure dans l'ergonomie de Windows CE d'après Derek Snyder : le système devrait être en grande majorité réécrit et l’interface actuelle devrait disparaitre et laisser sa place à un modèle entièrement neuf.

Articles connexes

Notes et références

Liens externes

Ce document provient de « Windows CE ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Microsoft Windows CE de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”