I386 amd64 linux что это

Debian: простое превращение i386 в amd64

Это краткая статья о том, как без переустановки организовать 64-битную архитектуру на вашем 32-битном Debian/Deabian-based дистрибутиве (который вы могли по-невнимательности загрузить вместо 64bit).

* Ваше железо должно изначально поддерживать amd64, магию творить никто не собирается.
* Это может повредить систему, так что действуйте очень осторожно.
* Всё проверялось на Debian10-buster-i386.
* Не делайте этого, если хоть что-то здесь не понимаете.

Dpkg, apt и sources.list

Сразу к делу, если вы сумaсшедший всё взвесили, начинаем подготовку пакетов (в принципе здесь порядок не имеет значения, но по пунктам удобнее)

1. Выбираем amd64 в /etc/apt/sources.list, вставляя ‘ [arch=amd64] ‘ между deb\deb-src и URL

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

2.Добавляем amd64 в dpkg, чтобы он не ругался:

3.Обновляем список пакетов:

Разумеется всё это не имеет смысла без 64-х битного ядра, поэтому устанавливаем его:

Место $VERSION подставить нужную версию ядра.

После установки ядра grub перенастроится автоматически.

Завершение

После перезагрузки наша система уже сможет работать с amd64, но с пакетами могут возникнуть некоторые проблемы. У меня для их решения было достаточно выполнить данные команды:

Хотя сильно на этот счёт беспокоиться тоже не стоит — все нужные пакеты со временем сами установятся как зависимости, а ненужные удаляются так:

Источник

32-bit против 64-bit – в чем разница?

В кратце, 32-bit и 64-bit компьютеры отличаются в архитектуре. Главная разница между архитектурами заключается в поддержке размерности данных. Машины с архитектурой 32-bit могут понимать данные размерностью в 32-bit. Все что больше этого значения такая машина прочитать не сможет. Аналогично, машина с 64-bit может прочитать и обработать данные длиною в 64-bit. Не смотря на то, что 64 это в два раза больше чем 32, 64-bit данные могу содержать в себе намного больше, чем просто двойную информацию 32-bit. Это также объясняет почему 64-битные машины могут работать быстрее и эффективнее чем 32-битные.

Другим отличием между 32-bit и 64-bit машинами является тот размер оперативной памяти, которые они могут поддерживать. 32-bit машина поддерживает максимальный размер памяти в 4GB. В то время как 64-bit – теоретически не ограничена в размене ОЗУ (если посмотреть на цифры, то это около 17.2 миллиардов гигабайт). Однако большинство операционных систем штучно ограничивают до 16GB (или 32GB) ОЗУ, что на наше время ассоциируется с очень мощными машинами.

Что такое Amd64?

В зависимости от использования 32-bit и 64-bit люди дали им имена. Архитектуру 32-bit часто ассоциируют с именами i386 или x86, в то время как 64-bit архитектура широко известна как AMD64/EM64T или /x86-64/x64, в зависимости от продукта и производителя.

Почему AMD64? В соответствии с информации с Википедии фирма AMD была первой, кто разработал спецификацию 64-битного процессора. Они первоначально назвали эту архитектуру x86-64, но позднее переименовали в AMD64, когда вышел релиз их первого 64-битного процессора: серия AMD-K8. С того времени AMD ввела термин 64-битного процессора.

Компания Intel (конкурент AMD) конечно же не могла использовать название AMD64 для их 64-битного процессора, поэтому они вышли под именем EM64T, а затем были переименованы в Intel 64. В некоторых материнских платах компании Intel при загрузке BIOS вы до сих пор сможете увидеть слово «EM64T», которое может пробегать на вашем мониторе.

В наше время технология AMD64 уже ассоциируется с 64-битной архитектурой и ничем не связана с процессорами компании AMD.

Работает ли AMD64 Ubuntu только с процессорами AMD?

Если вернутся к вопросу о выборе ISO образа Ubuntu, то в случае если у вас 32-bit процессор, то вам необходимо загружать и устанавливать Ubuntu версии i386. Если же ваш процессор поддерживает архитектуру 64-bit, то в таком случае можете смело загружать и устанавливать версию amd64, в независимости от того какой фирмы у вас процессор.

Читайте также:  Для чего нужен windows security notification

С увереностю могу сообщить что если у вас компьютер поддерживает архитектуру 64-bit, то вы также без проблем можете устанавливать и работать в версии Ubuntu i386 (32-bit). Но в таком случае вы не сможете использовать весь ресурс своего компьютера. Если у вас машина 32-bit, то AMD64 Ubuntu у вас однозначно работать не будет.

Возможно ли запускать приложения 32-bit на Ubuntu версии amd64?

В большинстве случаев вы без проблем сможете запускать 32-bit приложения на Ubuntu 64-bit, но при этом не сможете полностью использовать вашу систему. Однако наоборот не получится. Вы не сможете запустить 64-bit приложение на 32-bit системе (к примеру разместить маленький контейнер в большом получиться, но засунуть большой в маленький – никак). Если устанавливать приложения через менеджер пакетов Synaptic, то вы увидите что некоторый софт идет в версии 32-bit, а некоторый в 64-bit (это отображается только тогда, когда вы используете Ubuntu 64-bit). Вы можете выбрать ту версию, которая вам больше подходит. В дополнение можно сказать что не все 32-bit приложения корректно работают в 64-bit системе. Это касается как Windows, так и Linux приложений, которые требуют доступ к аппаратным настройкам.

Комментарии

Поиск
Пользователи
Последний пользователь:

Кто онлайн:
Нет пользователей за последние 10 минут.

Источник

Разница между загрузкой i386 и amd64?

В чем разница между стандартной загрузкой i386 и загрузкой amd64 Ubuntu 11.04? В настоящее время я использую i386 на машине amd, лучше ли будет работать моя система с загрузкой amd64? (моя машина работала под управлением Windows 7 64bit, но я не обратил на это внимания перед установкой Ubuntu).

i386 относится к 32-разрядной версии, а amd64 (или x86_64) относится к 64-разрядной версии для процессоров Intel и AMD.

Википедия i386 запись:

Intel 80386, также известный как i386, или просто 386, был 32-разрядным микропроцессором, представленным Intel в 1985 году . Это называется x86, IA-32 или архитектура i386, в зависимости от контекста.

Запись в Википедии x86_64:

x86-64 является расширением набора команд x86. Он поддерживает гораздо большие виртуальные и физические адресные пространства, чем это возможно в x86, что позволяет программистам удобно работать с гораздо большими наборами данных . После запуска архитектуры под именем «x86-64» AMD переименовала его в AMD64 . x86 -64 до сих пор используется многими в отрасли как термин, не зависящий от производителя, в то время как другие, в частности Sun Microsystems (сейчас Oracle Corporation) и Microsoft, используют x64.

Даже если у вас есть процессор Intel, вы должны использовать AMD64 для установки 64-битной версии на свой компьютер (он использует те же наборы инструкций).

Я настоятельно рекомендую использовать его. По большей части вы не заметите разницы, но для больших рабочих нагрузок (таких как редактирование видео, игры и т. Д.) Компьютер будет работать быстрее (у компьютера есть возможность вычислить 2 + 2 + 2 = 6 вместо необходимости выполнять 2 + 2 = 4 + 2 = 6 в примере). В мире Windows 32-битная ОС не позволит вам использовать более 3,5 ГБ ОЗУ на вашем компьютере (даже если у вас есть 8!). Вам необходимо использовать 64-битную ОС, чтобы полностью использовать всю оперативную память. Однако для Linux такого ограничения нет (спасибо, Ури).

Несмотря на это, мир изменился с 32-разрядных, и он только там поддерживает старые машины, которые не способны работать на 64-разрядных.

Архитектура названа в честь AMD, потому что AMD изобрела ее с Athlon 64. Аналогично, 32-разрядная архитектура i386 названа в честь процессора Intel 386, поскольку она была первой в своем роде, но i386 также будет работать на процессорах AMD. Так что да, вы можете использовать этот образ ISO.

да, вы можете установить amd64 bit на 64-битный процессор Intel. AMD изобрела процессор набора битовых команд x86-64, так что название — это просто дань AMD.

Разница между amd64 и i386 заключается в том, что amd64 является 64-разрядным, а i38632-разрядным . Это ширина (в битах) регистров, доступных в ядре.

По сути, наибольшее число, которое 32-разрядное ядро ​​процессора может обработать за один раз, составляет чуть более 4,29 миллиарда, в то время как 64-разрядное ядро ​​может обрабатывать чуть более 18,44 миллиарда миллиардов.

Ядра современных ПК могут работать как 64-разрядный или 32-разрядный процессор, в зависимости от того, какую версию операционной системы вы установили.

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

Компиляция в 32-битной системе даст код, отличный от 64-битной системы. Вы можете доказать это, скомпилировав код ассемблера в двух системах. Предполагая, что ваш C-файл — myfile.c, попробуйте gcc -S myfile.c в обеих системах сравнить myfile.s

Хорошо написанный код для 32-разрядной системы должен компилироваться и выполняться в 64-разрядной системе, но не весь код написан хорошо. Многие программисты делают предположения о системе, которые могут быть неверными: например, ширина регистра или порядок байтов.

Без доступа к исходному коду трудно понять, в чем проблема, но segmenation fault указывает, что была сделана попытка получить доступ к памяти, которая не принадлежит программе. Это может, например, указывать на то, что mem_ptr является 32-битным указателем, что хорошо в 32-битной системе, но должно быть 64-битным указателем в 64-битной системе.

Источник

GNU/Linux: AMD64 или i386 — что выбрать?

Впервые опубликовано 2008-01-12.

Если в вашем компьютере установлен современный процессор от AMD или Intel 1) , вероятнее всего он является 64-битным, т.е. поддерживает обе эти архитектуры.

В выборе, какую из версий дистрибутива GNU/Linux устанавливать — под AMD64 (64-битную) или под i386 (32-битную), однозначно рекомендую предпочесть первый вариант.

В чём преимущества архитектуры AMD64 над i386?

Основные особенности архитектуры, имеющие значение даже для тех, кому не нужны преимущества в управлении большими объёмами ОЗУ, состоят в следующем:

Ожидать ли прироста производительности от перехода на AMD64?

Да. Дело в том, что современные компиляторы с C/C++ и других высокоуровневых языков обладают достаточным “интеллектом”, чтобы путём простой перекомпиляции под новую архитектуру, ускорить даже не оптимизированные специально под неё программы. Прежде всего – задействованием дополнительных регистров общего назначения, а также использованием инструкций SSE и SSE2 там, где раньше приходилось прибегать к более медленным инструкциям математического сопроцессора (FPU).

В результате всего этого, после простой перекомпиляции под AMD64, программы начинают работать от 20 до 100% быстрее, даже без каких-либо изменений в исходном коде. Подробности представлены в этом тестировании (другие форматы: ODT, PDF) 2) .

Кроме того, в конце 2009-го года Phoronix провёл собственное сравнение производительности 32- и 64-битного ПО, подтвердив вышеприведённые результаты, а в следующем сравнении от апреля-2011 преимущество 64-битного ПО был не просто подтверждёно ещё раз и во множестве тестов, но также высказано недоумение, почему некоторые дистрибутивы GNU/Linux до сих пор предлагают устаревшую 32-битную версию в качестве основной.

На замену полностью 64-битной amd64 в 2012-м году была предложена смешанная архитектура x32, однако было продемонстрировано, что она не имеет заметных преимуществ над полной 64-битностью, поэтому amd64 по-прежнему остаётся предпочтительным выбором.

Какие ещё плюсы есть у AMD64?

Поскольку 64-битная арифметика на 64-битной архитектуре выполняется гораздо быстрее, чем на 32-битной, некоторые программы могут под AMD64 задействовать её там, где под i386 не использовали, т.к. было слишком медленно.

К примеру, счётчик переданных и полученных данных в сетевом коде ядра Linux на 32-битных архитектурах является 32-битным числом, и соответственно, обнуляется каждые 4 гигабайта. Именно поэтому, на 32-битных архитектурах невозможно увидеть более 4 ГБ в строчке “RX bytes/TX bytes” вывода команды ifconfig . Как пишут в одном списке рассылки,

На 64-битной же архитектуре, с этим нет никаких проблем:

Каких проблем можно ожидать при использовании 64-битного дистрибутива?

Какие проблемы были раньше, но уже решены?

Здесь в качестве примера приводится дистрибутив Debian Lenny для amd64.

Источник

Десять имён для одной архитектуры


На пятничном семинаре учебного проекта лаборатории МФТИ-Интел один из студентов задал мне примерно такой вопрос: а почему 64-битный вариант архитектуры процессоров Intel называется x64, а 32-битный — x86? Я начал объяснять, что не всё так просто. Захотелось нарисовать более полную картину. Ведь на самом деле это не x64, и даже не x86.

386-ые, Пентиумы и Коры

На самом деле названий для этого феномена, около сорока лет присутствующего на сцене процессорных технологий, было придумано несколько. Даже больше, чем хотелось бы. Они появились из разных источников и используются в разных контекстах, разными компаниями и разными сообществами. Конечно же, это вносит некоторую неразбериху.
Я постарался здесь собрать все известные мне названия. Не хочу пытаться доказать, что одна группа имён лучше другой, — меньше использовать их не станут.

8086 и семейство

В 1978 году был выпущен 16-битный процессор Intel, который имел «имя» 8086. За ним были 8088, 80186, 80286, 80386 (плюс вариации), 80486 (плюс вариации). Легко заметить, что (почти) все эти числовые имена оканчиваются на две цифры 86, что дало название всей серии x86. Оно укрепилось, его продолжили использовать и после того, как процессорам перестали давать цифровые имена, а появились Intel Pentium, Celeron, Xeon, Core, Atom и т.д. Совместимые продукты других вендоров, таких как IBM, AMD, Cyrix, VIA и т.д., также описываются как x86.
По моим наблюдениям, x86 — самый популярный вариант для имени этой архитектуры в Интернете, статьях и прочей литературе, особенно, когда не стоит задачи точно специфицировать разрядность архитектуры или речь явным образом идёт о 32-битном варианте.
Используются также вариации этого названия для 32-битных вариантов, позволяющие более точно указать минимальный набор поддерживаемых инструкций: i386, i486, i586, i686, — например, для различения вариантов сборок бинарных пакетов дистрибутивов Linux.

Пришествие 64 бит

Своими стараниями Intel расширила машинное слово в описанной ранее серии процессоров с 16 до 32 бит. Достигнуть этой архитектуре 64 бит помогла компания AMD, в 2003 году представившая процессор, поддерживающий новые инструкции и регистры и реализующий AMD64.
Для того, чтобы явно указать повышенную битность процессора/кода/пакета, имя x86 стало получать новый суффикс «64». Вот только через какой знак его приписывать не договорились, и иногда видишь x86_64, а порой x86-64. Например, вывод команды uname в Linux использует подчерк. Наконец, у пакетов можно увидеть и суффикс amd64 строчными буквами.
Intel же обозначала это расширение архитектуры сперва IA-32e, затем EM64T. В настоящее время можно встретить оба варианта в различных именах пакетов, документации и прочем. Тем не менее, есть и третье введённое Intel название…

Как это называет Intel

В официальной документации 32-битная архитектура имеет имя IA-32; её 64-битный вариант получил довольно странное с моей точки зрения имя Intel 64. Почему странное — оно создаёт потенциал для путаницы, как мы увидим ближе к концу статьи.

Компании-поставщики софта

Если кому-то показалось, что у этой несчастной архитектуры как-то мало имён и суффиксов, то сейчас я обозначу ещё одно известное мне. Происходит оно от поставщиков программного обеспечения, которым как-то надо различать варианты поставляемых пакетов для 32 и 64 бит. Тут их мнения разделились примерно вот таким образом (подробнее — в Википедии).

  • Дистибутивы Linux: x86 и x86_64, иногда x86 и amd64.
  • Apple: x86 и x86_64.
  • Microsoft и Oracle: x86 и x64.

Итак, ещё одно имя — x64.

Всё вместе

Подведу предварительный итог упомянутых в моей заметке обозначений вариантов архитектуры Intel.

  • Для 32-битного варианта: IA-32, x86, i386, i486, i586, i686.
  • Для 64-битного варианта: Intel 64, AMD64, amd64, EM64T, IA-32e, x86_64, x86-64, x64.

Итого четырнадцать. Если отбросить i386 — i686 как несущественные вариации, то десять.

Ложные имена

Как известно, за свою сорокалетнюю историю Intel выпускала (и выпускает сейчас) не только процессоры IA-32. Были и до сих пор присутствуют продукты других архитектур. Они тоже имеют свои имена, иногда несколько созвучные. При этом происходит путаница, от которой хотелось бы предостеречь.

Intel IA-64. Является полным синонимом термина «Intel Itanium». Используется для обозначения 64-битной архитектуры, несовместимой ни с IA-32, ни с 64-битным её вариантом ни по набору команд, ни по принципам работы. Да, существуют аппаратные и программные прослойки для запуска IA-32 приложений на Итаниуме, но это — тема для отдельного и интересного рассказа. Кстати, и для Itanium есть ещё одно обозначение — IPF, используемое изредка как суффикс.

К сожалению, линейки таких семейств процессоров Intel, как i432, i860, i960 или не дожили до наших дней, или же имеют крайне узкую нишу применения. А то глядишь — пришлось бы для каждого из них запоминать ещё по десятку имён.

Источник

Читайте также:  Script programming in linux
Оцените статью