Что означает «i686» в Ubuntu?

57

Чтобы проверить, использую ли я 32-битную или 64-битную Ubuntu. Я посмотрел в Как я могу проверить, есть ли у меня 32-битная или 64-битная ОС? и нашел этот ответ uname -a. Если он показан как i386, он будет 32-разрядным, а amd64 - 64-разрядным, но я получил такой результат:

Linux mukund-ThinkPad-Edge-E431 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/Linux

Что это за i686? Это 32-битная или 64-битная версия - я думаю, что она 32-битная, потому что все пакеты Debian, которые я в ней установил, 32-битные, поэтому кто-нибудь может дать подробное объяснение.

Mukund
источник
1
этот superuser.com/a/238131/18500 и ответ на ваш вопрос: serverfault.com/a/188203/26514
Брайан,

Ответы:

56

i686 означает, что вы используете 32 bitОС.

Зайдите в терминал и введите.

uname -a

Если ваши результаты аналогичны приведенным ниже, то ваш 64-битный; в противном случае он 32-битный.

Linux ubuntu-tm 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux

Если у вас есть x86_64, значит ваш компьютер 64-битный.

Если ваши результаты похожи на этот; тогда у вас 32-битный.

Linux Server 2.6.15-23-386 #1 SMP Tue Mar 1 13:49:40 UTC 2011 i686 GNU/Linux

Обратите внимание на i686 в коде, это означает, что ваша машина 32-битная.

ОБНОВИТЬ:

Введите следующее в терминале;

uname -m

Это даст вам либо x86_64 , который является 64-битным, либо что-то еще, что является 32-битным.

Предоставлено: https://superuser.com/a/260999/130574 (это копия этого ответа)

Это также называется P6 microarchitectureмикроархитектурой Intel x86 шестого поколения, реализованной микропроцессором Pentium Pro, который был представлен в ноябре 1995 года. Код i686 предназначен для выполнения на процессорах, совместимых с 32-битной платформой Intel x86, которая включает все 32-разрядные процессоры Intel x86 вплоть до Pentium 4 и т. д., а также процессоры AMD и других производителей, производящие совместимые 32-разрядные чипы.

Предоставлено: Википедия и эта ссылка

Короче говоря:

Это просто означает, что вы используете 32-битное ядро, поддерживающее коды, совместимые с i686архитектурой процессора.

NB:

Это не означает, что ваша система может работать только с 32-битным ядром, это просто означает, что вы в настоящее время используете 32-битную ОС на базе ядра.

saji89
источник
41

i686 не отличается от микроархитектуры P6 от Intel, представленной в Pentium Pro 1

Одним словом, это 32-битная архитектура. 8086 и 80286 даже 16-битные процессоры. 80386 - первый 32-разрядный процессор Intel (введен защищенный режим работы, помимо реального режима ). 80586 - это знаменитый Pentium ™ .

i686 широко используется для описания архитектуры 32-битного процессора P6, которая совместима с Pentium Pro / II и имеет набор команд. Например, AMD K7 (Duron ™ и Athlon ™) - это i686.

Danatela
источник
6
Intel никогда не производила процессоры под номером 80686 (Pentium II под номером 80522/3/4).
Алистер Бакстон
3
i686 относится к архитектуре P6, которая началась с Pentium Pro, а не с Pentium II.
Эндрю Медико
27

Как говорили разные авторы, ваше ядро ​​32-битное. Однако значение i686 заслуживает более подробного объяснения.

При компиляции ядра Linux (что обычно не требуется для конечных пользователей в наши дни - хорошие люди из Ubuntu предоставляют готовое ядро ​​скомпилированным), есть различные варианты, которые вы можете настроить. Одним из важных вариантов является поддержка функций процессора.

Все процессоры x86 совместимы с исходным Intel 80386 (сокращенно i386), поэтому, если вам нужно ядро, совместимое со всеми процессорами x86, вы должны скомпилировать ядро ​​i386.

Однако современные процессоры имеют много дополнительных функций (встроенный модуль с плавающей запятой, MMX и т. Д.), Которые Linux может использовать, если он настроен для этого. В качестве баланса между обратной совместимостью и производительностью ядро ​​Ubuntu скомпилировано с поддержкой функций, которые были доступны в Intel Pentium II (иногда сокращенно i686), поэтому ядро ​​отображается как i686.

Это также отчасти объясняет, почему приложения, скомпилированные для 64-битных процессоров, иногда работают быстрее. I686 впервые появился в 1997 году, и современные процессоры имеют много функций, которые не были доступны в i686 (SSE, дополнительные регистры и т. Д.), Но приложения должны быть скомпилированы с поддержкой этих функций, что может нарушить совместимость со старыми системами. В отличие от этого, процессоры x86_64 впервые появились в 2003 году, поэтому приложения могут быть скомпилированы с поддержкой некоторых функций, появившихся в период с 1997 по 2003 год, не опасаясь проблем совместимости.

James_pic
источник
2
Стандартного определения «i686» не существует. Он использовался для описания всего: от архитектуры P6 (которая включает в себя процессоры, которые больше не могут запускать Ubuntu), «Pentium II и выше» Ubuntu и до «Atom / Core2 или выше» других дистрибутивов.
Алистер Бакстон
Мне нравится, когда вы говорите: «Это также отчасти объясняет, почему приложения, скомпилированные для 64-битных процессоров, иногда работают быстрее». Когда я впервые запустил полную 64-битную систему, улучшение скорости меня поразило. Однако вы не увидите этого ускорения при запуске смешанной 32- / 64-битной системы.
Зейн
2
ЦПУ также имеют инструкцию CPUID, которая позволяет ЦП сообщать о флагах функций. Вы можете увидеть это в / proc / cpuinfo. Таким образом, даже если программное обеспечение скомпилировано для i686, оно может проверить флаги, чтобы увидеть, поддерживаются ли другие текущие функции.
Zan Lynx
Приветствует информацию о флагах функций и капризах именования процессоров. Должен признаться, прошло много времени с тех пор, как мне приходилось собирать свое собственное ядро ​​(возможно, где-то в серии 2.0), и я думаю, что Linux с тех пор стал намного умнее относиться к функциям процессора. Если вы считаете, что презентация может быть улучшена, предложите любые изменения, которые вы можете придумать.
James_pic
Если ваша система имеет ограниченный объем ОЗУ и не выполняет значительную числовую обработку, вы можете получить более высокую производительность от 32-битной системы, поскольку различные вещи хранятся более компактно, и ваша система может сделать немного больше, прежде чем прибегнуть к помощи. к использованию диска IO. Не делайте слишком много предположений по этому поводу без тестирования.
mc0e
1

Откройте «Системные настройки», затем нажмите «Подробнее». Затем вы видите, какой тип ОС у вас есть.

У меня Ubuntu 12.04 LTS 64 bit и uname -aпоказывает это:

Linux ubuntu1 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

См. Https://superuser.com/questions/238112/what-is-the-difference-between-i686-and-x86-64.

SPRBRN
источник
есть одна проблема, я не могу найти системные настройки в UE 3.8, я только что установил их, системные настройки не видны в системе / администрировании или в системе / предпочтениях, почему?
Mukund
1
Если вы не можете найти его, вы можете начать, если с терминала:gnome-control-center
SPRBRN
0

i686 широко используется для описания архитектуры 32-битного процессора P6, которая совместима с Pentium Pro / II и имеет набор команд.

Ibbu Md
источник
0

Из того, что я могу найти, вы также можете использовать, lscpuчтобы найти свою архитектуру, и не ограничено, для какой версии было скомпилировано ваше ядро.

iggy12345
источник