Open Firmware

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Open Firmware (OpenBoot) — стандарт, определяющий интерфейсы компьютерной прошивки. Стандарт был разработан Sun Microsystems и применялся компаниями Sun, Apple, IBM и другими производителями не-x86 компьютеров. Open Firmware позволяет системе загружать платформенно-независимые драйверы напрямую из PCI.

Доступ к Open Firmware может осуществляться с помощью командной оболочки на языке Forth. Большая часть кода разработана на языке Forth

Несколько коммерческих продуктов на основе Open Firmware были переданы в свободное пользование в 2006, включая Sun OpenBoot, Firmworks OpenFirmware и Codegen SmartFirmware. Исходный код доступен в рамках проекта OpenBIOS.

Преимущества[править | править исходный текст]

Код Forth может быть скомпилирован в байт-код FCode, независимый от таких деталей компьютерной архитектуры как набор инструкций и иерархия памяти. Поэтому Open Firmware предоставляет платформенно-независимые средства для диагностики во время загрузки и для конфигурирования. FCode является очень компактным, например, драйвер диска может занимать 1-2 килобайта.

Доступ[править | править исходный текст]

На системах Sun SPARC интерфейс Open Firmware (OpenBoot) доступен до начала загрузки операционной системы. Доступ во время работы системы осуществляется нажатием клавишей Stop-A (L1-A). В операционной системе Solaris для изменения конфигурации OpenBoot существует команда eeprom.

На компьютерах Macintosh на основе PowerPC доступ к Open Firmware осуществляется нажатием клавиш Cmd-Option-O-F при включении. Эта функциональность в основном используется разработчиками; для конечных пользователей существует доступ через графический интерфейс. Некоторые изменения можно осуществить с помощью команды nvram.

На Pegasos доступ осуществляется нажатием клавиши Esc.

На системах IBM POWER, Open Firmware доступен через SMS Boot Menu, которое вызывается нажатием «1» или «F1» во время загрузки.

См. также[править | править исходный текст]

Ссылки[править | править исходный текст]