Как проверить, является ли моя ОС 64-битной или 32-битной?
27953
Sagar R. Kothari
Как лучше всего определить, является ли моя ОС 64-битной или 32-битной?
Предположим, что я непосредственно на какой-то ОС, и я собираюсь установить программное обеспечение на нем. Но как определить, является ли ОС 32-битной или 64-битной,
ОС может быть чем угодно, например
Windows XP
перспектива
Windows 7
ос х леопард
ос х снежный барс
Красная шляпа Линукс
Я имею в виду, что это лучший и наиболее распространенный способ определить, является ли ОС 64-битной или 32-битной? Я имею в виду, я говорю в целом. Я не установил ОС на чью-то машину, и если я скажу вам определить базу ОС - 64 или 32? тогда что бы вы сделали?
Заранее спасибо за то, что поделились своими знаниями. Сахар.
Но как насчет OSX?
Sagar R. Kothari 13 лет назад
0
Если бы вы выполняли какие-либо действия с использованием сценариев CMD в Windows, вы могли бы запустить командный файл примерно так:
@echo off if %PROCESSOR_ARCHITECTURE% == x86 ( goto :x86 ) else ( goto :x64 ) :x86 start "foo.exe" goto :eof :x64 start "bar.exe" goto :eof
только то, что мне нужно
ppumkin 12 лет назад
0
6
Maciej Kucharz
Во многих Unix-подобных системах вы можете ввести:
uname -a
Для FreeBSD это выглядит так:
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 означает, что это ядро 64-битное)
Для 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 означает, что это ядро 32-битное)
Для 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 означает, что это ядро 64-битное)
Или просто "uname -p", который возвращает результаты, такие как i386, x86_64, amd64 :)
Janne Pikkarainen 14 лет назад
1
что такое i386? uname -p работает но я не понимаю i386
Sagar R. Kothari 14 лет назад
0
Имейте в виду, что в OSX, даже если у вас процессор x86_64, (некоторые из них) ядро может работать в 32-битном режиме. Это верно для MacBook начала 4,1 (например).
trolle3000 14 лет назад
1
@sugar, i386 - это 32-битная архитектура процессора, а x86_64 - это 64-битная архитектура.
trolle3000 14 лет назад
0
@sugar вы также можете увидеть в некоторых местах i486, i586 или i686, они также 32-битные, но содержат больше инструкций.
AndrejaKo 14 лет назад
1
почему ты забываешь про винду ..?
ppumkin 12 лет назад
0
3
peter
Под виндой:
GUI Way
Нажмите Win + R, чтобы открыть диалог Выполнить ...
Введите winmsd
Ищите строку Процессор или Тип системы
Если они начинаются с x86, у вас есть 32-битная, в противном случае у вас есть 64-битная
Использование cmd.exe Введите SET PROCESSOR_ARCHITECTURE x86 означает 32-разрядный, в противном случае это 64-разрядный
Использование Powershell Enter $env:PROCESSOR_ARCHITECTURE Значение такое же, как и при использовании cmd.exe.
Остерегайтесь Существует два разных типа 64-битных архитектур. Один - AMD64 для x64, другой - ia64 для Itanium (не уверен, что это значение точно такое, никогда не работал ни с одним из них)
ia64 предназначен для процессоров Itanium, которые имеют совершенно другую архитектуру и не входят в семейство x86. Они могут запускать программы для x86, но их 64-битный режим в основном полностью отличается от x86 и требует различных компиляторов и целого низкоуровневого программирования. Amd64 назван в честь AMD, потому что они сделали 64-битные расширения для набора команд x86. Их процессоры все еще x86, но могут работать с 64 битами, и они гораздо больше связаны с 32 битными x86, чем с itanium.
AndrejaKo 14 лет назад
0
2
Sam Liao
Глупые пути для Linux:
Чтобы идентифицировать ядро, cat / proc / kallsyms, проверьте, имеют ли символы для ядра ширину 32 бита или ширину 64 бита. Тогда вы будете знать, что ядро 32-битное или 64-битное.
Для пользовательского приложения просто запустите: $ file / bin / ls Чтобы проверить, является ли команда ls 32-битной или 64-битной, поскольку ОС может содержать как 32-битные, так и 64-битные приложения, это может быть не так.
2
Dragon
@paradroid - Спасибо за мозговой штурм ^^
Теперь я использую это для распространяемой Java-программы, которой нужны пользователи Windows, чтобы использовать javac. Этот скрипт проверяет их архитектуру и открывает загрузку для соответствующей версии JDK в браузере по умолчанию ...
@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