Запуск программного обеспечения для чужой архитектуры


Все большую популярность приобретают 64-битовые архитектуры, особенно с появлением 1386-совместимой 64-битовой архитектуры AMD. Способность работать под управлением 32- и 64-битовых операционных систем является, пожалуй, огромным преимуществом аппаратного обеспечения с коммерческой точки зрения. Однако программное обеспечение должно учитывать особенности 64-битовых платформ. Несмотря на то что мир свободного программного обеспечения уже много лет работает с 64-битовыми платформами благодаря Sun Solaris, есть много программ, созданных для 32-битовых операционных систем. Если вы работаете с операционной системой на платформе amd64, рано или поздно вам встретится программное обеспечение, доступное только для аппаратного обеспечения i386. Что можно сделать в этом случае?

Вот хорошая новость для вас: при наличии параметра СOМРАТ_IА32 в ядре (уже входит в состав GENERIC) FreeBSD/amd64 способна исполнять любое программное обеспечение FreeBSD/i386. Единственное, чего нельзя, — это использовать разделяемые библиотеки FreeBSD/amd64 для программ FreeBSD/i386. To есть чтобы запустить сложную 32-битовую программу на 64-битовом компьютере, вам придется обеспечить доступность 32-битовых библиотек. Такая возможность поддерживается операционной системой — в файле rc.conf есть параметры настройки ldconfig(8), такие как ldconfig32_paths и ldconfig_local32_dirs. В 64-битовой версии операционной системы эти параметры определяют местоположение 32-битовых библиотек.

Еще удивительнее то, что FreeBSD/amd64 может запускать 32-битовые программы для Linux! Так как 32-битовое программное обеспечение для Linux более широко распространено, чем 64-битовое, в режиме Linux операционной системы FreeBSD можно работать с 32-битовым программным обеспечением. Для этого достаточно включить в настройках ядра параметр C0MPAT_LINUX32. Никакая дополнительная или необычная настройка не требуется — режим Linux в архитектуре amd64 работает точно так же, как и в архитектуре i386. В настоящее время FreeBSD не поддерживает работу с 64-битовым программным обеспечением для Linux, но это и не требуется, так как все, что доступно для 64-битовой версии Linux, доступно и для 64-битовой версии FreeBSD.

Тему управления программным обеспечением можно изучать бесконечно, однако теперь вы знаете достаточно, чтобы двигаться дальше. Давайте теперь рассмотрим вопросы обновления FreeBSD.

Комментарии запрещены.