Come verificare se il mio sistema operativo è a 64 o 32 bit?


9

Qual è il modo migliore per determinare se il mio sistema operativo è a 64 o 32 bit?

Supponiamo che, ho direttamente su alcuni sistemi operativi e ho intenzione di installare un software su di esso. Ma come determinare se il sistema operativo è a 32 o 64 bit,

Il sistema operativo può essere qualsiasi cosa, come

  • Windows XP
  • vista
  • Windows 7
  • os x leopard
  • os x snow leopard
  • Red Hat Linux

Ciò che intendo è: qual è il modo migliore e comune per determinare se il sistema operativo è a 64 o 32 bit? Voglio dire, sto parlando in generale. Non ho installato il sistema operativo sul computer di qualcuno e se ti dico di determinarne la base del sistema operativo - 64 o 32? allora cosa faresti?

Grazie in anticipo per aver condiviso le tue conoscenze. Zucchero.


Ma per quanto riguarda OSX?
Sagar R. Kothari,

Risposte:


5

In molti sistemi simili a Unix puoi digitare:

uname -a

Per FreeBSD sembra che:

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 significa che questo kernel è a 64 bit)

Per 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 significa che questo kernel è a 32 bit)

Per 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 significa che questo kernel è a 64 bit)


1
O semplicemente "uname -p" che restituisce risultati come i386, x86_64, amd64 :)
Janne Pikkarainen,

cos'è i386? uname -p funziona ma non capisco i386
Sagar R. Kothari il

1
Tieni presente che su OSX, anche se hai una CPU x86_64, (alcuni) il kernel potrebbe funzionare a 32 bit. Questo è vero ad esempio per i primi MacBook del 2008 (4,1).
trolle3000,

@sugar, i386 è un'architettura CPU a 32 bit e x86_64 è un'architettura a 64 bit.
trolle3000,

1
@sugar potresti anche vedere in alcuni punti i486, i586 o i686 anche questi sono a 32 bit ma includono più istruzioni.
AndrejaKo

7

Se dovessi compiere azioni utilizzando gli script CMD in Windows, potresti avviare il file batch in questo modo:

@echo off

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

:x86
start "foo.exe"
goto :eof

:x64
start "bar.exe"
goto :eof

proprio quello di cui avevo bisogno
Piotr Kula,

3

Sotto Windows:

The GUI Way

  1. Premi Win + R per aprire la finestra Esegui ...
  2. Inserisci winmsd
  3. Cerca riga Processore o Tipo di sistema

Se iniziano con x86 hai 32 bit, altrimenti hai 64 bit

Utilizzando cmd.exe,
immettere SET PROCESSOR_ARCHITECTURE
x86 significa 32 bit, altrimenti è 64 bit

L'uso di Powershell
Invio Il $env:PROCESSOR_ARCHITECTURE
significato è lo stesso dell'uso di cmd.exe

Attenzione
Esistono due diversi tipi di architetture a 64 bit.
Uno è AMD64 per x64 l'altro è ia64 per Itanium (non sono sicuro che questo valore sia esattamente così, non ha mai funzionato con nessuno di essi)


ia64 è per processori Itanium che hanno un'architettura completamente diversa e non fanno parte della famiglia x86. Possono eseguire programmi x86 ma la loro modalità a 64 bit è sostanzialmente completamente diversa da x86 e richiede compilatori diversi e tutta la programmazione di basso livello. Amd64 prende il nome da AMD perché ha creato estensioni a 64 bit per il set di istruzioni x86. I loro processori sono ancora x86 ma possono funzionare a 64 bit e sono molto più correlati a 32 bit x86 che a itanium.
AndrejaKo

2

Modi stupidi per Linux:

  1. Per identificare il kernel, cat / proc / kallsyms, controllare se i simboli per il kernel sono larghi 32 bit o larghi 64 bit. Quindi saprai che il kernel ha 32 bit o 64 bit.

  2. Per l'applicazione utente, basta eseguire: $ file / bin / ls Per verificare se il comando ls è a 32 bit o 64 bit, poiché il sistema operativo può contenere sia applicazioni a 32 bit sia a 64 bit, questo potrebbe non essere sbagliato.


2

@paradroid - Grazie per il brainstorming ^^

Ora lo uso per un programma Java che distribuisco e che richiede agli utenti Windows di utilizzare javac. Questo script controlla la loro architettura e apre il download alla versione corretta di JDK nel browser predefinito ...

@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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.