Разрядность операционной системы определяет набор инструкций процессора, которые будут использоваться для работы с данными и памятью компьютера. Существует две самые популярные разрядности, это i386 или 32 битная разрядность и x86_64 или 64 битная разрядность. Первая уже устаревшая и поддерживает работу с не больше чем 4 гигабайта оперативной памяти.
Вторая же более современная и сейчас используется практически везде. Все современные процессоры поддерживают обе архитектуры, однако многие дистрибутивы Linux уже отказались от поддержки i386 в пользу x86_64. В этой небольшой статье мы рассмотрим как узнать разрядность Linux.
Как посмотреть разрядность Linux
Самый простой способ узнать разрядность операционной системы Linux - это воспользоваться утилитой arch. Она просто выводит разрядность и больше ничего:
arch
Команда uname выводит архитектуру ядра Linux если передать ей опцию -m, архитектура ядра соответствует архитектуре системы, поэтому этот метод можно использовать:
uname -m
Команда file позволяет просматривать информацию о файлах в файловой системе. Для исполняемых файлов отображается их архитектура. Если вы посмотрите архитектуру какого-либо важного системного файла, то узнаете и разрядность системы. Например:
file /lib/systemd/systemd
Вы можете узнать разрядность системы и в графическом интерфейсе. Например, в Ubuntu, для этого надо открыть утилиту Настройки, а затем раздел О системе:
Тут есть пункт Тип ОС, в котором указана разрядность системы. В данном случае, это 64 бит. Обратите внимание, что то, что система имеет архитектуру 64 бит не означает, что она не может запускать 32 битные программы и библиотеки. Эта архитектура сохраняет обратную совместимость и процессоры всё ещё могут выполнять 32 битные программы. Для этого достаточно установить пакет совместимости и необходимые 32 битные библиотеки. Но в обратную сторону это не работает, 32 битные системы не могут выполнять 64 битные программы. Во всяком случае теперь вы знаете как посмотреть разрядность системы Linux.
https://gist.github.com/gmvk/bfdb6e9c7f22ab9b8c7630eb4ccec1aa
#include
int main()
{
printf ("Эта ОС %ldх-битная.n", sizeof(void*) * 8);
return 0;
}