Como verificar se o meu SO é de 64 bits ou 32 bits?

10

Qual é a melhor maneira de determinar se meu sistema operacional é de 64 bits ou 32 bits?

Suponha que, diretamente em alguns sistemas operacionais & Eu vou instalar um software nele. Mas como determinar se o sistema operacional é de 32 bits ou 64 bits,

O SO pode ser qualquer coisa, como

  • windows xp
  • vista
  • windows 7
  • os x leopard
  • os x snow leopard
  • Red hat linux

O que quero dizer é - qual é o melhor & maneira comum de determinar se o os é de 64 bits ou 32 bits? Quero dizer, estou falando em geral. Eu não instalei o SO na máquina de alguém & se eu disser para você determinar sua base de sistema operacional - 64 ou 32? então o que você faria?

Agradecemos antecipadamente por compartilhar seu conhecimento. Açúcar.

    
por Sagar R. Kothari 10.08.2010 / 09:15

5 respostas

6

Em muitos sistemas semelhantes a Unix, você pode digitar:

uname -a

Para o FreeBSD, parece:

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 que este kernel é de 64 bits)

Para 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 que este kernel é de 32 bits)

Para 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 que este kernel é de 64 bits)

    
por 10.08.2010 / 09:43
7

Se você fizesse alguma ação usando scripts CMD no Windows, poderia iniciar o arquivo em lote assim:

@echo off

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

:x86
start "foo.exe"
goto :eof

:x64
start "bar.exe"
goto :eof
    
por 10.08.2010 / 15:02
3

No Windows:

O modo da GUI

  1. Pressione Win + R para abrir a caixa de diálogo Run ...
  2. Digite winmsd
  3. Procure por processador de linha ou tipo de sistema

Se eles começam com x86, você tem 32-Bit, ou você tem 64-Bit

Usando cmd.exe
Digite SET PROCESSOR_ARCHITECTURE
x86 significa 32 bits, caso contrário é 64 bits

Usando o Powershell
Digite $env:PROCESSOR_ARCHITECTURE
Significado é o mesmo que usar cmd.exe

Cuidado com
Existem dois tipos diferentes de arquiteturas de 64 bits. Um é AMD64 para x64 e o outro é ia64 para Itanium (não tenho certeza se esse valor é exatamente assim, nunca trabalhei com nenhum deles)

    
por 10.08.2010 / 10:06
2

Formas estúpidas para o Linux:

  1. Para identificar o kernel, cat / proc / kallsyms, verifique se os símbolos do kernel têm 32 bits de largura ou 64 bits de largura. Então você saberá que o kernel é de 32 bits ou 64bits.

  2. Para o aplicativo do usuário, basta executar: $ file / bin / ls Para verificar se o comando ls é de 32 bits ou 64bits, já que o sistema operacional pode conter ambos os 32bits e aplicativos de 64 bits, isso pode não estar errado.

por 10.08.2010 / 09:26
2

@paradroid - Obrigado pelo brainstorm ^^

Agora eu uso isso para um programa Java que distribuo, que precisa de usuários do Windows para utilizar o javac. Este script verifica sua arquitetura e abre o download para a versão correta do JDK em seu navegador padrão ...

@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
    
por 19.12.2010 / 05:38