plate forme x86, x64, ia64 et systems d'exploitation 32bits et 64bits

Le
Stephane
bonjour,

quelqu'un pourrait il m'expliquer concrètement ce que signifient plate forme
x86, x64, ia64 ainsi que les systems d'exploitation 32bits et 64bits ?

merci d'avance et bonne journée.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JF
Le #20174561
> bonjour,


Bonjour

quelqu'un pourrait il m'expliquer concrètement ce que signifient plate forme
x86, x64, ia64



x86 = Intel
cette appellation vient de l'Intel 8086 et de son jeu d'instructions
http://fr.wikipedia.org/wiki/X86

x64 = AMD
http://fr.wikipedia.org/wiki/X64

ia64 = processeurs pour serveurs
http://fr.wikipedia.org/wiki/IA-64
http://fr.wikipedia.org/wiki/Itanium



ainsi que les systems d'exploitation 32bits et 64bits ?



1/ Tous les processeurs actuels sont 64 bits

2/ Système d'exploitation 32 bits
Son adressage ne dépasse pas un nombre binaire constitué de 32 bits :
11111111 11111111 11111111 11111111 = 2puissance32-1 = (2^32-1)
Entrer ce nombre en binaire dans la calculatrice scientifique de
Windows (WIN+R, calc) ==>
FFFFFFFF en hexadécimal
4 294 967 295 en décimal
On dit que ce système ne peut adresser plus de 4 Giga d'emplacements
mémoire d'un octet, on parle couramment de limite mémoire de 4 Go.

3/ Système d'exploitation 64 bits
Devrait adresser 2^64-1 octets ==>
1111111111111111111111111111111111111111111111111111111111111111
FFFFFFFFFFFFFFFF
18 446 744 073 709 551 615
18 Exa octets
En pratique c'est moins
http://www.presence-pc.com/actualite/windows-4go-ram-64bits-33121/

Les cartes mères sont souvent limitées à 6 ou 8 Go.

Un os 64 bits saura faire fonctionner les applis 32 bits.
Mais les applis 64 bits utiliseront toutes les ressource du processeur
et de son système d'adressage. Elles ne sont pas nombreuses.

Le gros inconvénient est celui des pilotes. Les fabricants ne
fournissent pas toujours les drivers adéquats pour les matériels.

Le gros avantage est la possibilité d'utiliser plusieurs Go de RAM. On
peut alors travailler très confortablement avec de grosses
applications, faire fonctionner plusieurs machines virtuelles en même
temps, etc.



Comment faire pour déterminer si votre ordinateur exécute une version
32 bits ou 64 bits de Windows XP
http://support.microsoft.com/kb/827218/fr

Démarrer>Exécuter :
cmd /k set
pour afficher les variables d'environnement :
Extrait pour un 64 bits :
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 26 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION04

Extrait pour un 32 bits :
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 26 Stepping 4, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION04

On peut se contenter de :
cmd /k echo %PROCESSOR_ARCHITECTURE%


Comparaison de l'architecture des mémoires 32 bits et 64 bits pour les
éditions 64 bits de Windows XP et Windows Server 2003
http://support.microsoft.com/kb/294418


Discussion :
http://groups.google.com/group/microsoft.public.fr.windows.vista.general/msg/115a925c2a39d3f2

--
Salutations, Jean-François
http://fspsa.free.fr/Virus-Malwares-Comment-on-se-fait-infecter.htm
Marc Lognoul [MVP]
Le #20174781
Bonjour,

Wow, ça c'est complet ;)
Juste 2 précisions:

Un os 64 bits saura faire fonctionner les applis 32 bits.


Un OS "Windows" fait cela, ce n'est pas forcément le cas des autres ;)
Et comme d'habitude, cela se fait tellement naturellement sous Windows que
l'on ignore que certaines chemins sur le disque et dans le registre sont
"redirigés" en fonction de l'éxécutable 32 ou 64-bit...

On peut se contenter de :
cmd /k echo %PROCESSOR_ARCHITECTURE%


Cette méthode n'est pas fiable car la variable ne dépend pas de la
plateforme mais du type d'éxécutable.
Si tu éxécutes cette commande dans un CMD 32-bit sur un Windows 64-bit, elle
retournera x86...

--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/
JF
Le #20175681
> Bonjour,


Bonjour

Wow, ça c'est complet ;)



Wow est le mot (C:WindowsSysWOW64cmd.exe)

Juste 2 précisions:

Un os 64 bits saura faire fonctionner les applis 32 bits.


Un OS "Windows" fait cela, ce n'est pas forcément le cas des autres ;)
Et comme d'habitude, cela se fait tellement naturellement sous Windows que
l'on ignore que certaines chemins sur le disque et dans le registre sont
"redirigés" en fonction de l'éxécutable 32 ou 64-bit...

On peut se contenter de :
cmd /k echo %PROCESSOR_ARCHITECTURE%


Cette méthode n'est pas fiable car la variable ne dépend pas de la plateforme
mais du type d'éxécutable.
Si tu éxécutes cette commande dans un CMD 32-bit sur un Windows 64-bit, elle
retournera x86...



Merci coach pour ces précisions :

http://www.niouzes.org/microsoft-public-windowsxp/408546-administrateur.html#post1543926
==>

Sur une plateforme 32 bits :
PROCESSOR_ARCHITECTURE=x86 en natif (32 bits)

Sur une plateforme 64 bits :
PROCESSOR_ARCHITECTURE=x86 sous WOW64 (32 bits)
PROCESSOR_ARCHITECTURE=AMD64 en natif (64 bits)

Donc un processus 32 bits retourne toujours x86 quelle
que soit la plateforme 32/64 bits sur laquelle il s'exécute.

Il est toutefois à noter la présence de la variable d'environnement
PROCESSOR_ARCHITEW6432 sous WOW64 qui retourne bien cette fois-ci AMD64

32-bit and 64-bit Application Data in the Registry
http://msdn.microsoft.com/en-us/library/ms724072.aspx

--
Salutations, Jean-François
http://fspsa.free.fr/index-de-la-faq-winxp-de-panthere-noire.htm
Marc Lognoul [MVP]
Le #20199541
Bonjour,

Il est toutefois à noter la présence de la variable d'environnement
PROCESSOR_ARCHITEW6432 sous WOW64 qui retourne bien cette fois-ci AMD64



Exact! Petit post en anglais de David Wang qui détaille une méthode facile
de détection:
http://blogs.msdn.com/david.wang/archive/2006/03/26/HOWTO-Detect-Process-Bitness.aspx

--
Marc Lognoul [MCSE, MCTS, MVP]
Heureux celui qui a pu pénétrer les causes secrètes des choses
Happy is the one who could enter the secret causes of things
Blog EN: http://www.marc-antho-etc.net/blog/
Blog FR: http://www.marc-antho-etc.net/blogfr/
JF
Le #20202251
> Bonjour,


Bonjour

Il est toutefois à noter la présence de la variable d'environnement
PROCESSOR_ARCHITEW6432 sous WOW64 qui retourne bien cette fois-ci AMD64


Exact! Petit post en anglais de David Wang qui détaille une méthode facile de
détection:
http://blogs.msdn.com/david.wang/archive/2006/03/26/HOWTO-Detect-Process-Bitness.aspx



Pas facile d'adapter en batch du fait que la variable est indéfinie sur
un OS 32 bits :
os32-64.cmd



@echo off>nul
set fichier=%temp%%random%%random%.txt
if /i %PROCESSOR_ARCHITECTURE%==x86 goto :32
if /i %PROCESSOR_ARCHITECTURE%==AMD64 goto :64
goto :end
:32
echo %PROCESSOR_ARCHITEW6432% >%fichier%
for /F %%a in (%fichier%) do if /i %%a==AMD64 goto :64
echo Windows 32 bits !
goto :end
:64
echo Windows 64 bits !
:end
del %fichier%
@pause
goto :eof
http://fspsa.free.fr/os32-64.cmd




Dans un processus 32 bits, %PROCESSOR_ARCHITECTURE%=x86 et on est
branché sur l'étiquette :32

Le côté indéfini que peut avoir la variable %PROCESSOR_ARCHITEW6432%
pose alors problème.

C'est donc par un procédé inavouable qu'on récupère le contenu de
%PROCESSOR_ARCHITEW6432% si la variable est définie.

Si alors ce contenu est "AMD64" c'est qu'on est dans un processus 32
bits tournant dans un OS 64 Bits, et on est alors branché sur
l'étiquette :32

Ça a l'air de fonctionner :
Vista 32 répond 32 bits
Vista 64 répond :

C:WindowsSystem32cmd.exe os32-64.cmd ==> 64 bits
C:WindowsSysWOW64cmd.exe os32-64.cmd ==> 64 bits

--
Salutations, Jean-François
http://fspsa.free.fr/hijackthis-c-fini.htm
JF
Le #20202241
CORRECTION :
Si alors ce contenu est "AMD64" c'est qu'on est dans un processus 32
bits tournant dans un OS 64 Bits, et on est alors branché sur
l'étiquette :64

--
Salutations, Jean-François
http://fspsa.free.fr/hijackthis-c-fini.htm
Pierre TORRIS
Le #20204411
JF
Bonjour JF,

Pas facile d'adapter en batch du fait que la variable est indéfinie sur un OS
32 bits :



Ce n'est pas qu'elle est indéfinie, mais qu'elle n'est pas définie. ;-)

Le côté indéfini que peut avoir la variable %PROCESSOR_ARCHITEW6432% pose
alors problème.

C'est donc par un procédé inavouable qu'on récupère le contenu de
%PROCESSOR_ARCHITEW6432% si la variable est définie.



Utilise DEFINED pour tester si la variable est définie :

:32
if DEFINED PROCESSOR_ARCHITEW6432 goto :64

Si alors ce contenu est "AMD64" c'est qu'on est dans un processus 32 bits
tournant dans un OS 64 Bits...



AMHA il est préférable de se baser sur la mention "x86",
car la mention "AMD64" peut être remplacée par "IA64" (Itaniums).

--
Bien à vous. Pierre TORRIS
www.ptorris.com
JF
Le #20206591
> Bonjour JF,


Bonjour Pierre
Pas facile d'adapter en batch du fait que la variable est indéfinie sur un
OS 32 bits :


Ce n'est pas qu'elle est indéfinie, mais qu'elle n'est pas définie.



C'est ça.

Utilise DEFINED pour tester si la variable est définie :
if DEFINED PROCESSOR_ARCHITEW6432 goto :64



J'ai cru que ça n'existait pas en batch
XXV-A-2. Instruction "if defined"
http://windows.developpez.com/cours/ligne-commande/

Si alors ce contenu est "AMD64" c'est qu'on est dans un processus 32 bits
tournant dans un OS 64 Bits...


AMHA il est préférable de se baser sur la mention "x86",
car la mention "AMD64" peut être remplacée par "IA64" (Itaniums).



Bien vu. Correction :


@echo off>nul
if /i %PROCESSOR_ARCHITECTURE%==x86 goto :32
if defined PROCESSOR_ARCHITEW6432 goto :wow64
echo Processus 64 bits natif sur une plateforme
%PROCESSOR_ARCHITECTURE%
goto :end
:32
if defined PROCESSOR_ARCHITEW6432 goto :wow64
echo Processus 32 bits natif
goto :end
:wow64
echo Processus 32 bits sur une plateforme 64 bits
:end
@pause
goto :eof
http://fspsa.free.fr/os6432.cmd



Merci pour le coup de pouce.

--
Salutations, Jean-François
http://fspsa.free.fr/Capture-Ecran-et-Publication-vers-Newsgroups.htm
nano000 Hors ligne
Le #24326481
Le vendredi 18 Septembre 2009 à 14:23 par Stephane :
bonjour,

quelqu'un pourrait il m'expliquer concrètement ce que signifient plate
forme
x86, x64, ia64 ainsi que les systems d'exploitation 32bits et 64bits ?

merci d'avance et bonne journée.


Salut, il y a LARGEMENT plus simple pour detecter si on est sous windows 32 ou 64 bits:

if "%PROCESSOR_ARCHITECTURE%%PROCESSOR_ARCHITEW6432%"=="x86" goto w32
echo Ici on est sous Windows en 64 Bits
goto suite
:w32
echo Ici on est sous Windows en 32 Bits
:suite

et voilà ! :-)

en fait on concatene les 2 variables et on test si il n'y a que x86 comme resultat, si c'est le cas alors c'est du pur windows 32 bits , sinon c'est du 64 bits (environnement 32 ou 64 bits tournant sous du windows 64 bits).
Publicité
Poster une réponse
Anonyme