demande de rappel immédiat

Windows : Environnement 32bit/64bits

Posted by Jean-Paul Blanc Monday, May 03, 2010 7:48:56 AM
Rate this Content 0 Votes




J'aborde ici quatre aspects du passage du 32 Bits au 64 Bits.

  1. Tout d'abord je fais le point sur le matériel, quelles sont les plateformes présentes sur le marché ?
  2. Ensuite je fais le point sur les systèmes Windows. Quel système sur quelle plateforme.
  3. Ensuite je donne quelques recettes pour déterminer la nature du système qu'on utilise et l'architecture matérielle sous-jacente.
  4. Enfin je fais un résumé écueils à éviter pour le passage du 32 Bits au 64 Bits.

Architectures matérielles.

 

Les systèmes Windows s'installent sur des plateformes 32 Bits et 64 Bits. Ces architectures sont souvent représentées par les symboles x86 et x64. Dans la pratique ce n'est pas aussi simple. Les deux principales entreprises pourvoyeuses de processeurs que sont Intel et Advanced Micro Devices (AMD) ont bien des processeurs 32 Bits (x86) compatibles. Mais, en ce qui concerne le 64 Bits, c'est un peu différent.

Intel à ouvert le bal en 2001 avec une famille de processeurs Itanium. L'architecture Itanium, nommée IA64 (voire IA-64), est basée sur la technologie EPIC (Explicitly Parallel Instruction Computing), considérée comme le successeur du RISC. HP a fortement contribué au développement du processeur afin qu'il remplace ses propres PA-RISC et DEC Alpha (architecture héritée du rachat de Compaq). Cette architecture rompt avec la compatibilité ascendante des processeurs x86 afin d'accroitre les performances.

AMD à contre attaqué avec le x86-64, ou x64. La gamme AMD64 introduit une extension du jeu d'instructions x86 d'Intel. Face à l'engouement du marché pour ce type de processeur Intel utilisera cette extension en l'appelant initialement EM64T (Extended Memory 64 Technologie) renommé aujourd'hui en Intel 64. Cette extension permet la gestion des nombres entiers sur 64 bits, avec pour corollaire un adressage mémoire possible bien au-delà de la limite des 4 Go.

En 2008, la gamme Itanium est à la quatrième place des microprocesseurs utilisés en entreprises derrière x86-64, IBM POWER, et SPARC. Cette architecture conçue à l'origine par Intel pour remplacer l'architecture x86, se retrouve reléguée à l'équipement des serveurs. Ce processeur souvent très bien placé dans les comparatifs de performance reste très onéreux. En 2006 l'embauche par AMD de ressources-clés qui œuvraient au développement du processeur Itanium a ralenti Intel sans pour autant provoquer l'arrivée de processeurs EPIC chez AMD.

Les systèmes Windows.

 

Windows XP (NT 5.1) est le premier système à être livré en 64 Bits (même s'il semble y avoir eu des versions 64 Bits de Windows 2000). Deux déclinaisons de cette édition pour processeurs 64 bits existent, une x86-64 et une IA-64. La seconde a été arrêtée début 2005, après que Hewlett-Packard, dernier distributeur des postes de travail Itanium, eut cessé de vendre des systèmes basés sur Itanium lancés sur le marché en tant que « postes de travail ». Cependant, Itanium est toujours très présent dans les éditions de serveur de Windows.

Windows Server 2003 existe en version x86, AMD64 et IA-64, cependant la version R2 ne semble pas avoir été éditée pour sur IA-64.

Windows Vista et Windows Sept existent en version x86 et AMD64, mais pas en version IA-64.

Windows Server 2008 existe en version x86, AMD64 et IA-64, cependant la version R2 n'a pas été éditée pour sur x86. C'est le premier système Windows a ne pas être édité en 32 Bits.

Version du système versus Architecture matérielle.

 

Pour retrouver la version du système d'exploitation installée, il suffit de regarder les propriétés de l'ordinateur (comme le montrent les copies d'écran ci-dessous)

Version Windows 64 Bits

Version Windows 32 Bits

L'administrateur peut aussi récupérer cette information avec la ligne de commande suivante :

wmic os get OSArchitecture

AMD64 est une extension du jeu d'instructions x86. Conséquence il est possible d'installer une version 32 Bits ou 64 Bits (AMD64) de Windows sur un matériel à base processeur 64 Bits de type AMD64. Cela entraine les deux conséquences suivantes :

  1. Il n'y a pas moyen de voir simplement su le système s'exécute sur un processeur 64 Bits ou 32 Bits. La ligne commande WMI permet de faire la distinction :
    C:\temp>wmic cpu get Name,description,AddressWidth,DataWidth
    AddressWidth  DataWidth  Description                           Name
    64            64         Intel64 Family 6 Model 23 Stepping 6  Intel(R) Core(TM)2 Duo CPU     T9600  @ 2.80GHz
  2. Sur les plateformes Windows 64 bits, il est possible d'exécuter des programmes 32 Bits au sein de l'émulateur Windows 32 over Windows 64 Bits (WOW64). Même si le système d'exploitation est 64 Bits, dans l'émulation, Windows se comporte comme un Windows x86. Ainsi la variable d'environnement PROCESSOR_ARCHITECTURE vaut x86 au lieu d'ADM64. Vous pouvez toujours distinguer le matériel sous-jacent grâce à la nouvelle variable PROCESSOR_ARCHITEW6432 positionnée par l'émulateur. Si cette nouvelle variable n'existe pas vous êtes sur une architecture x86 comme le résume le tableau suivant :
    Variables d'environnement/Architecture 32 Bits (natif) 64 Bits (natif) WOW64
    PROCESSOR_ARCHITECTURE x86 AMD64 x86
    PROCESSOR_ARCHITEW6432 Non défini Non défini AMD64

 Les écueils à éviter lors du changement d'architecture.

 

  • Le passage du 32 Bits au 64 Bits est une migration et non une mise à jours. Si vous prévoyez de migrer un PC d'un système 32 Bits, vers un système 64 Bits, il faut prévoir une réinstallation complète.  Vous pourrez utilisez des produits tel que Windows Easy Transfer pour migrer le paramétrage, mais vous ne pourrez ni faire une migration, ni même démarrer l'installation d'un système 64 Bits depuis l'ancien système 32 Bits.
  • Vérifier vos pilotes de périphériques. Vous ne pouvez pas utiliser les pilotes noyaux  32 Bits sur un système 64 Bits. Le Sous système WOW64 n'est disponible qu'en mode utilisateur et non en mode noyau.
  • Disparition des applications 16 Bits. Il n'est plus possible d'exécuter des applications 16 bits sur un système 64 Bits. Le bon vieil edit.exe à disparu ! Fini les applications des années 90. Si un utilisateur à besoin d'exécuter une application comptable 16 Bits, il faut prévoir de lui donner accès depuis une machine 32 Bits. Vous pouvez aussi utiliser un terminal TSE 32 Bits ou encore fournir une machine virtuelle 32 Bits pour exécuter les applications 16 Bits.
  • Comprendre l'incompatibilité entre les applications 32 Bits et 64 Bits. Un système 32 Bits ne peut pas exécuter du code 64 Bits. AMD64 et IA-64 exécutent du code 32 Bits, mais dans un processus à part dans lequel on ne peut pas mêler de code 64 Bits. Les version 64 bits d'une application ne peuvent pas appeler de modules 32 Bits. La notion de "thunking" telle quelle existait dans la migration 16 Bits 32 Bits n'existe pas ici. Un bon exemple de cela est Internet Explorer qui est livré en version 32 Bits sur les plateformes 64 Bits afin de supporter les extensions 32 bits des éditeurs tierces qui ne sont pas encore passé au 64 Bits.
  • L'architecture IA64 est particulière. Elle ne peut exécuter que des systèmes IA64, ce qui la cantonne aux rôles de serveur. Les rôles de serveur d'impression, ou de FAX pourraient poser des problèmes car ils nécessitent des pilotes IA64. Par ailleurs il n'y a que peu d'applications compilées pour cette plateforme.

En résumé le support des anciens programmes 32 Bits sur les systèmes 64 Bits simplifie énormément les choses. Il ne faut pas perdre de vue que vous devez disposer des pilotes 64 Bits avant de commencer une migration. Lors de migration de code propriétaire il faut garder en mémoire que vous ne pouvez pas panacher au sein d'un même processus du code 32 Bits et du code 64 Bits. Enfin, il faut éliminer les applications 16 Bits.

Comments are closed on this post.