Организация UNIX-систем и ОС Solaris

       

Замечание о загрузке систем UltraSPARC


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

Процессоры UltraSPARC-1 с частотой 200 MГц и меньше имеют ошибку в микрокоде, из-за которой при запуске на компьютерах с такими процессорами 64-битной программы может произойти останов процессора из-за выполнения определеной комбинации команд. Чтобы избежать этой неприятности, при работе на таких компьютерах Solaris при загрузке выбирает 32-битное ядро, так как 64-битное приложение не сможет запуститься при работе с 32-разрядным ядром.

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

В тех системах, где вероятность запуска такой "зловредной" программы мала, а пользователи работают только с обычными приложениями, полученными из надежных источников или собранных из исходных текстов языка высокого уровня типа С, администратор может явным образом потребовать у загрузчика выполнять загрузку 64-разрядного ядра при старте системы. Для этого надо изменить файл политики загрузки /platform/platform-name/boot.conf:

ALLOW_64BIT_KERNEL_ON_UltraSPARC_1_CPU=true



Содержание раздела