Comment vérifier si mon système d'exploitation est 64 bits ou 32 bits?

9

Quelle est la meilleure façon de déterminer si mon système d'exploitation est 64 bits ou 32 bits?

Supposons que, je directement sur certains os et je vais y installer un logiciel. Mais comment déterminer si le système d'exploitation est 32 bits ou 64 bits,

Le système d'exploitation peut être n'importe quoi, comme

  • Windows XP
  • vue
  • Windows 7
  • os x léopard
  • os x snow leopard
  • Red Hat Linux

Ce que je veux dire est - quelle est la meilleure et la meilleure façon de déterminer si le système d'exploitation est 64 bits ou 32 bits? Je veux dire, je parle en général. Je n'ai pas installé le système d'exploitation sur la machine de quelqu'un et si je vous dis de déterminer sa base de système d'exploitation - 64 ou 32? alors que feriez-vous?

Merci d'avance d'avoir partagé vos connaissances. Sucre.

Sagar R. Kothari
la source
Mais qu'en est-il d'OSX?
Sagar R. Kothari

Réponses:

5

Dans de nombreux systèmes de type Unix, vous pouvez taper:

uname -a

Pour FreeBSD, cela ressemble à:

FreeBSD whiplash 8.0-STABLE FreeBSD 8.0-STABLE #1: 
Tue Mar  9 15:38:19 CET 2010     root@beast:/usr/obj/usr/src/sys/WHIPLASH  amd64

(amd64 signifie que ce noyau est en 64 bits)

Pour Linux:

Linux softy.vm 2.6.18-128.el5 #1 SMP 
Wed Jan 21 10:44:23 EST 2009 i686 athlon i386 GNU/Linux

(i386 signifie que ce noyau est 32 bits)

Pour MacOSX:

Darwin iMac.local 10.0.0 Darwin Kernel Version 10.0.0: Fri Jul 31 22:47:34 PDT 2009;
root:xnu 1456.1.25~1/RELEASE_X86_64 x86_64

(x86_64 signifie que ce noyau est 64 bits)

Maciej Kucharz
la source
1
Ou tout simplement "uname -p" qui renvoie des résultats comme i386, x86_64, amd64 :)
Janne Pikkarainen
qu'est-ce que le i386? uname -p fonctionne mais je ne comprends pas i386
Sagar R. Kothari
1
Gardez à l'esprit que sous OSX, même si vous avez un processeur x86_64, (certains) le noyau peut fonctionner en 32 bits. C'est le cas par exemple du début 2008 du MacBook (4,1).
trolle3000
@sugar, i386 est une architecture de processeur 32 bits et x86_64 est une architecture 64 bits.
trolle3000
1
@sugar, vous pouvez également voir à certains endroits i486, i586 ou i686, ils sont également 32 bits, mais incluent plus d'instructions.
AndrejaKo
7

Si vous deviez effectuer des actions à l'aide de scripts CMD dans Windows, vous pourriez démarrer le fichier de commandes quelque chose comme ceci:

@echo off

if %PROCESSOR_ARCHITECTURE% == x86 (
goto :x86
) else (
goto :x64
)

:x86
start "foo.exe"
goto :eof

:x64
start "bar.exe"
goto :eof
paradroid
la source
juste ce dont j'avais besoin
Piotr Kula
3

Sous Windows:

The GUI Way

  1. Appuyez sur Win + R pour ouvrir la boîte de dialogue Exécuter ...
  2. Entrez winmsd
  3. Recherchez le processeur de ligne ou le type de système

S'ils commencent par x86, vous avez 32 bits, sinon vous avez 64 bits

Utilisation de cmd.exe
Entrez SET PROCESSOR_ARCHITECTURE
x86 signifie 32 bits, sinon c'est 64 bits

Utilisation de Powershell
Enter La $env:PROCESSOR_ARCHITECTURE
signification est la même que l'utilisation de cmd.exe

Attention
Il existe deux types d'architectures 64 bits différents.
L'un est AMD64 pour x64, l'autre est ia64 pour Itanium (je ne suis pas sûr que cette valeur soit exactement comme ça, n'a jamais fonctionné avec aucun d'entre eux)

peter
la source
ia64 est destiné aux processeurs Itanium qui sont d'une architecture complètement différente et ne font pas partie de la famille x86. Ils peuvent exécuter des programmes x86 mais leur mode 64 bits est fondamentalement complètement différent de x86 et nécessite différents compilateurs et une programmation de bas niveau complète. Amd64 est nommé d'après AMD car ils ont fait des extensions 64 bits au jeu d'instructions x86. Leurs processeurs sont toujours x86 mais peuvent fonctionner avec 64 bits et ils sont beaucoup plus liés à 32 bits x86 qu'à itanium.
AndrejaKo
2

Des moyens stupides pour Linux:

  1. Pour identifier le noyau, cat / proc / kallsymes, vérifiez si les symboles du noyau ont une largeur de 32 bits ou 64 bits. Vous saurez alors que le noyau est de 32 bits ou 64 bits.

  2. Pour l'application utilisateur, exécutez simplement: $ file / bin / ls Pour vérifier si la commande ls est 32 bits ou 64 bits, car le système d'exploitation peut contenir à la fois des applications 32 bits et 64 bits, cela peut ne pas être faux.

Sam Liao
la source
2

@paradroid - Merci pour le brainstorm ^^

Je l'utilise maintenant pour un programme Java que je distribue et qui nécessite que les utilisateurs de Windows utilisent javac. Ce script vérifie leur architecture et ouvre le téléchargement vers la bonne version de JDK dans leur navigateur par défaut ...

@echo off

Title Dragon's JDK Downloader - Runedev Script Compiler

goto menu
:menu
echo.
echo What would you like to do?
echo.
echo 1. Download JDK?
echo 2. Compile Scripts?
echo 3. Quit
echo.

:choice
set /P C=1,2,3?
if "%C%"=="3" goto quit
if "%C%"=="2" goto compile
if "%C%"=="1" goto download
goto choice

:download
if %PROCESSOR_ARCHITECTURE% == x86 (
goto :x86
) else (
goto :x64
)

:x86
START http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u23-windows-i586.exe?BundledLineItemUUID=q9.J_hCupJ8AAAEsXThZDfyg&OrderID=zHCJ_hCujC0AAAEsUjhZDfyg&ProductID=_omJ_hCwMp4AAAEsQIMcKluK&FileName=/jdk-6u23-windows-i586.exe
goto :eof

:x64
START http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u23-windows-x64.exe?BundledLineItemUUID=CMyJ_hCu.vEAAAEsWu9ZDfyf&OrderID=RZ.J_hCuAVkAAAEsUO9ZDfyf&ProductID=ZUuJ_hCwEmwAAAEsOoMcKluK&FileName=/jdk-6u23-windows-x64.exe
goto :eof

:compile
SET cc=javac
SET cflags=
SET scripts=Scripts
SET scriptspre=%scripts%\Precompiled
SET jarpathfile=Settings\path.txt

IF NOT EXIST "%jarpathfile%" (
   ECHO Path file does not exist. Please run Runedev and try again.
   GOTO menu
)

FOR /F "delims=" %%G IN (%jarpathfile%) DO SET jarpath=%%G

CALL FindJDK.bat

IF NOT EXIST %scripts%\*.java (
   ECHO No .java script source files found.
   GOTO menu
)

ECHO Compiling scripts
ECHO. > "%scripts%\.class"
DEL /F /Q "%scripts%\*.class" > NUL
"%cc%" %cflags% -cp "%jarpath%" %scripts%\*.java

:end
PAUSE
EXIT

:quit
exit
:end
Dragon
la source