|
|
Ниже приведен список архитектур, поддерживаемых Owl, их варианты и
различные специфические особенности.
Версии архитектур.Для некоторых процессорных архитектур Owl поддерживает их различные подварианты (версии). Например, i386 и i686 являются версиями архитектуры x86 (IA32). Вполне допустимо (и, как правило, рекомендуется) собирать и использовать бинарные пакеты, рассчитанные на более старое "железо". Пакеты, собранные для версии архитектуры, максимально близкой к вашей, могут дать небольшой выигрыш в производительности (обычно 1...5% для большинства задач), но даже за эту малость приходится платить потерей их совместимости с более старым "железом". Более того, вы не сможете собирать пакеты (или вообще программы) для более старых версий вашей архитектуры, если используемые вами статические библиотеки рассчитаны на новую. Пакеты могут успешно собираться, устанавливаться и работать, но при этом они будут требовать использования нового "железа" - из-за унаследованных от библиотечных модулей фрагментов кода. Есть два возможных решения данной проблемы: вы можете использовать только пакеты, созданные для самой древней версии архитектуры, которая только может у вас быть, или же вы можете установить набор статических библиотек, ориентированный на более старое оборудование, а для работы своей системы использовать пакеты и динамические библиотеки, оптимизированные под ваш компьютер. Скорее всего, оптимальным окажется первый вариант, несмотря на то, что в этом случае не достигается максимальная производительность. Обратите внимание, что пакеты, собранные для более старой версии той же архитектуры, могут быть оптимизированы для вашего более нового процессора, в пределах набора возможностей выбранной версии. По умолчанию все пакеты Owl собираются именно так.
Сборка для определенной версии архитектуры.Версия архитектуры может быть указана в строке ARCHITECTURE= файла buildworld.conf. Эта строка не является обязательной и по умолчанию закомментирована - в этом случае выбирается самая старая из версий, поддерживаемых для данной архитектуры. Перекрестная сборка (cross-build) не поддерживается: нельзя собирать пакеты ни для других архитектур, ни для более новых версий используемой.
x86 (IA32).По умолчанию определены два варианта - i386 и i686. i386 позволяет собрать пакеты, которые действительно будут работать на i386 или любом более новом процессоре. Оба варианта оптимизированы для i686, отличие между ними лишь в том, что i686 использует дополнительные инструкции, доступные только для этой версии архитектуры.
x86-64 (AMD64 и EM64T).Определен единственный вариант, именуемый x86_64.
SPARC.Определены два варианта - sparc и sparcv9. sparc подразумевает как минимум SPARC V8, и оба варианта оптимизированы для UltraSPARC. Пакеты sparcv9 не будут работать ни на чем ниже Ultra. Выигрыш в производительности при использовании sparcv9 минимален (в пределах 2%, за исключением отдельных функций glibc и OpenSSL, написанных на ассемблере для SPARC V9). sparc64 в данный момент не поддерживается. Тем не менее, можно использовать и пересобирать 32-битную среду Owl, работая с ядром sparc64.
Alpha.По умолчанию определены два варианта - alpha и alphaev56. Выбор влияет как на использование расширений BWX для alphaev56, так и на оптимизацию. Пакеты, собранные для alpha, рассчитаны на более старые процессоры EV4 (21064, 21066), а собранные для alphaev56 - на процессоры EV56/PCA56 (21164A, 21164PC). Для EV5 (21164) вы можете использовать старые пакеты для alpha. Для EV6+ (21264, 21264A) используйте alphaev56. $Owl: Owl/doc/ru/ARCHITECTURES,v 1.10 2010/12/14 16:35:41 solar Exp $ |