В чем разница между U-Boot и BIOS? Оба эти устройства присутствуют на определенном процессоре, или когда одно устройство может присутствовать одновременно? Было бы хорошо, если бы кто-то приводил примеры.
4 ответа
В чем разница между 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, но я не знаю причин такого или против такого внедрения.
Я считаю, что разница в том, что U-boot - это Open Source.
U-Boot был впервые создан для 8xx PowerPC. Он был перемещен на sourceforge.net с именем PPCBoot. Два года спустя он объединился с ARMBoot, загрузчиком для процессора ARM. Затем он эволюционировал для поддержки различных других чипов и платформ.
BIOS был создан для компьютеров IBM. Так что я думаю, что это закрытый источник.
Основное отличие в том, что u-boot - это просто загрузчик. Биос - это загрузчик и функционирует для использования оборудования на вашей плате.
Вообще говоря, нет никакой разницы. И U-Boot, и BIOS являются формами загрузчиков. У вас не будет обоих в одной системе, вы берете одну или другую.
Ваш BIOS (базовая система ввода / вывода) представляет собой сложный набор программ хранения флэш-памяти, который запускается при включении питания для инициализации аппаратного обеспечения вашей системы и загрузки операционной системы.
U-Boot - это загрузчик с открытым исходным кодом, который используется в различных системах Linux, и я полагаю, что некоторые системы ARM используют его. Еще раз он используется для обработки оборудования и операционных систем при запуске.
Извиняюсь, если это немного кратко. Если вы хотите прочитать все подробности о загрузке u-boot, вы можете получить их через github, а в Интернете представлена информация о BIOS.