3

В чем разница между U-Boot и BIOS? Оба эти устройства присутствуют на определенном процессоре, или когда одно устройство может присутствовать одновременно? Было бы хорошо, если бы кто-то приводил примеры.

4 ответа4

8

В чем разница между U-Boot и BIOS? Оба эти устройства присутствуют на определенном процессоре, или когда одно устройство может присутствовать одновременно?

Существует множество различий между U-Boot и BIOS.
Кстати, это и программное обеспечение, а не "устройства".

  • BIOS - это, по сути, концепция ПК, появившаяся в персональных компьютерах CP/M и оригинальном IBM PC.
    U-Boot пытается оправдать свое имя ("Универсальная загрузка") и был портирован на многие архитектуры / платформы.

  • Функции BIOS включают базовую инициализацию системы после сброса или включения питания, выполнение самотестирования при включении питания (также называемого POST), обеспечивают интерактивный интерфейс конфигурации оборудования (также называемый настройкой BIOS) и загрузку ПК. Использование встроенных драйверов устройств оригинального BIOS IBM PC было прекращено в пользу драйверов устройств ОС.
    Функции U-Boot включают базовую инициализацию системы и начальную загрузку системы. При желании последовательность загрузки может быть прервана для входа в интерактивный сеанс командной строки. Поскольку U-Boot является расширяемым, любое количество функций может быть настроено или добавлено, например, POST и другие средства диагностики, утилиты обслуживания файловой системы, сетевые возможности, такие как получение времени суток (SNTP) или IP-адреса (клиент DHCP). и чтение / запись / изменение областей памяти. Фактические функции и возможности U-Boot будут зависеть от системы / установки в систему.

  • BIOS обрабатывает начальный запуск ПК в качестве загрузчика первого уровня. Обычно он выполняется на месте (XIP) во флэш-памяти, в которой он находится.
    U-Boot обычно является загрузчиком второй (или даже третьей) стадии. Это может быть начальный загрузчик 1-го уровня, такой как BIOS, поскольку он может XIP, но я не знаю, действительно ли какая-либо платформа сделала это. Обычно U-Boot загружается из флэш-памяти и выполняется в основной памяти, например, SDRAM.

  • В качестве начального загрузчика BIOS довольно ограничен тем, что он загружает и выполняет, например, Master Boot Record (MBR) с жесткого диска. BIOS обычно не загружает реальный образ ОС.
    U-Boot, когда ему предоставляется формат файла uImage, знает о загружаемой ОС и может правильно подготовить буферы памяти и параметры для правильной инициализации ОС.

  • BIOS, поскольку он основан на ПК, обычно использует видеоадаптер и клавиатуру в качестве устройств ввода-вывода оператора.
    U-Boot обычно использует последовательный порт RS232 в качестве устройства ввода-вывода оператора.

  • Исходный BIOS IBM PC был опубликован в технической документации IBM PC в виде списка языков ассемблера x86. Современные версии, продаваемые AMI, Award и Phoenix, являются собственностью.
    U-Boot выпущен под лицензией GNU GPL.

Linux на ПК обычно использует Grub в качестве программы начальной загрузки после BIOS. Я полагаю, что вместо Grub можно использовать U-Boot, но я не знаю причин такого или против такого внедрения.

2

Я считаю, что разница в том, что U-boot - это Open Source.

U-Boot был впервые создан для 8xx PowerPC. Он был перемещен на sourceforge.net с именем PPCBoot. Два года спустя он объединился с ARMBoot, загрузчиком для процессора ARM. Затем он эволюционировал для поддержки различных других чипов и платформ.

BIOS был создан для компьютеров IBM. Так что я думаю, что это закрытый источник.

1

Основное отличие в том, что u-boot - это просто загрузчик. Биос - это загрузчик и функционирует для использования оборудования на вашей плате.

-1

Вообще говоря, нет никакой разницы. И U-Boot, и BIOS являются формами загрузчиков. У вас не будет обоих в одной системе, вы берете одну или другую.

Ваш BIOS (базовая система ввода / вывода) представляет собой сложный набор программ хранения флэш-памяти, который запускается при включении питания для инициализации аппаратного обеспечения вашей системы и загрузки операционной системы.

U-Boot - это загрузчик с открытым исходным кодом, который используется в различных системах Linux, и я полагаю, что некоторые системы ARM используют его. Еще раз он используется для обработки оборудования и операционных систем при запуске.

Извиняюсь, если это немного кратко. Если вы хотите прочитать все подробности о загрузке u-boot, вы можете получить их через github, а в Интернете представлена информация о BIOS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .