В чем разница между стандартной загрузкой 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 такого предела нет (спасибо, Uri).
Несмотря на это, мир переместился с 32 бит, и он существует только для поддержки старых машин, которые не могут работать на 64 бит.
Архитектура названа в честь AMD, потому что AMD изобрела ее,
Athlon 64. Аналогично, 32-битная архитектура i386 названа в честь
Intel 386, потому что он был первым в своем роде, но i386
также будет работать на процессорах AMD. Так что да, вы можете использовать этот образ ISO.
Источник: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386
да, вы можете установить бит amd64 на процессор Intel 64 бит. AMD изобрела процессор с процессором x86-64 бит, поэтому это просто дань памяти AMD.
Да, вы можете использовать этот .ISO. amd64 относится к архитектуре. AMD первой создала 64-битный процессор, поэтому я считаю, что он был назван в то время, и имя застряло. Это кажется немного запутанным, но amd64 просто означает 64-битный.
Разница между amd64 а также i386 в том, что amd64 является 64-битный в то время как i386 является 32-битный, Это ширина (в битах) регистров, доступных в ядре.
В основном наибольшее число, которое 32-разрядное ядро процессора может обрабатывать за один раз, составляет чуть более 4,29 миллиарда, в то время как 64-битное ядро может обрабатывать несколько бит более 18,44 миллиарда, миллиард.
Сердечники на современных ПК способны вести себя как 64-разрядный или 32-разрядный процессор в зависимости от версии установленной операционной системы.
64-битный код имеет тенденцию работать быстрее, чем 32-разрядный код либо потому, что он может работать с большими номерами в пути, либо потому, что в 64-битных ядрах есть больше регистров, поэтому можно хранить больше вещей, не загружая вещи во внешнюю память. Хотя нет гарантии, что 64-битный код будет работать быстрее, если код не был написан, чтобы воспользоваться дополнительными функциями процессора.
Компиляция на 32-битной системе приведет к созданию другого кода, чем 64-разрядная система. Вы можете это доказать, составив код сборки в двух системах. Предполагая, что ваш файл C myfile.c пытаться gcc -S myfile.c
на обеих системах и сравнить мои файлы
Хорошо написанный код для 32-битной системы должен компилироваться и запускаться на 64-битной системе, но не весь код хорошо написан. Многие программисты делают предположения о системе, которые могут быть неверными: например, ширина регистров или порядок байтов.
Без доступа к исходному коду трудно понять, в чем проблема, но segmenation fault
указывает, что была сделана попытка доступа к памяти, которая не принадлежит программе. Это может, например, указать, что mem_ptr это 32-разрядный указатель, который отлично подходит для 32-разрядной системы, но должен быть 64-разрядным указателем на 64-битной системе.