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

Вам нужен: флеш-накопитель, ПК / Mac, файл ISO для Ubuntu, который можно получить здесь: http://www.ubuntu.com/download/desktop. Вот инструкции для ...

Windows: http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows Mac: http: // www. Ubuntu: http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu
1
задан 22 March 2014 в 18:44

4 ответа

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

Источник: https://superuser.com/questions/128482/ubuntu-amd64-vs-i386

38
ответ дан 25 May 2018 в 19:41

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

8
ответ дан 25 May 2018 в 19:41
  • 1
    Спасибо, что прояснили это. Я знаю, что это был простой вопрос, но я не мог найти ответ нигде. – Dave Wolover 1 June 2012 в 19:22

Да, вы можете использовать этот .ISO. amd64 относится к архитектуре. AMD первой создала 64-битный процессор, поэтому я считаю, что он был назван в то время, и имя застряло. Это кажется немного запутанным, но amd64 просто означает 64-битный.

6
ответ дан 25 May 2018 в 19:41
  • 1
    Они не были первыми, кто создал 64-битный процессор. У Intel был один, но он не был обратно совместимым, поэтому он не получил широкого распространения. Название amd64 состояло в том, чтобы отличать архитектуру AMD от IA64 от Intel, которая теперь прекращена. – psusi 1 June 2012 в 03:09

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

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

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

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

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

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

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

6
ответ дан 25 May 2018 в 19:41
  • 1
    я проверю его и вернусь к этому ... Thankx – bikram990 19 March 2013 в 11:45
  • 2
    Функция realloc(mem_ptr, 0) освобождает память, ранее выделенную с помощью malloc, calloc и т. Д. Если этот указатель был поврежден каким-либо образом, вы пытаетесь освободить память, которой вы не являетесь, и это создает ошибку сегментации – Warren Hill 19 March 2013 в 14:05

Другие вопросы по тегам:

Похожие вопросы: