Разница и связь между прошивкой и драйвером устройства

27
  1. Чем отличаются прошивка и драйвер устройства? Я думаю, что оба устройства управления?
  2. Всегда ли микропрограмма загружается автоматически, а драйвер должен запускаться / загружаться ОС?
Тим
источник

Ответы:

24
  1. Прошивка - это программное обеспечение, которое работает на устройстве. Драйвер - это программа, которая сообщает операционной системе, как взаимодействовать с устройством. Не все устройства имеют прошивку - только устройства с некоторым уровнем интеллекта.

  2. Я не совсем уверен, что вы имеете в виду ... Вообще говоря, прошивка не имеет ничего общего с "загрузкой" ... Я думаю, может быть, то, что вы спрашиваете, всегда ли на устройствах с прошивкой установлена ​​прошивка, или он загружается после загрузки. Если это то, что вы спрашиваете, ответ нет ...

Чаще всего устройства с микропрограммой имеют встроенную микропрограмму, запрограммированную в устройстве (либо с микросхемой ПЗУ, либо с программируемой микросхемой ПЗУ), но есть некоторые устройства, в которых микропрограмма загружается в устройство во время инициализации. Я могу вспомнить некоторые сетевые карты и веб-камеры, которые работают таким образом, но я уверен, что есть и другие.

Flimzy
источник
Благодарность! в 2 под самозагрузкой я подразумеваю, что если прошивка запускается сама по себе, а не другими, а драйвер запускается ОС, а не сама? Я взял слово «Самозагрузка» из слов «Без операционной системы пользователь не может запустить прикладную программу на своем компьютере, если только сама прикладная программа не загружается сам» в en.wikipedia.org/wiki/Operating_system
Tim
1
Прошивка запускается самим аппаратным устройством ... Я думаю, что отвечает на вопрос? Примите во внимание следующее: многие некомпьютерные устройства имеют «прошивку» - например, цифровые камеры, DVD-плееры, мобильные телефоны и т. Д. Таким образом, очевидно, что в этих случаях прошивка полностью автономна в самом устройстве. Только если / когда вы подключите одно из этих устройств к вашему компьютеру, вам понадобится драйвер .
Хлипкий
1
Благодарность! От en.wikipedia.org/wiki/Computer_software : «Микропрограмма - это низкоуровневое программное обеспечение, которое часто хранится на электрически программируемых запоминающих устройствах. Микропрограммному обеспечению присваивается название, поскольку оно рассматривается как аппаратное обеспечение и запускается (« выполняется ») другими программными программами». Прошивка выполняется другими программами или самим оборудованием?
Тим
-1 почему ты говоришь only devices with some level of intelligence have firmware? Я бы сказал, что все наоборот: простые (электронные) устройства могут не иметь операционных систем, но имеют встроенное программное обеспечение.
Celeritas
@Celeritas: Потому что только устройства с некоторым уровнем интеллекта имеют прошивки, в отличие от тех (например, порт RS-232), которые не имеют. Если вы сравниваете устройства с целой ОС (мобильный телефон, iPod, программируемый GPS и т. Д.), Вы говорите о совершенно другом уровне абстракции, который на самом деле не имеет ничего общего с «драйверами устройств». Этот класс программного обеспечения для доступа часто называют «драйвером устройства», но на самом деле это протокол сетевого приложения, реализованный поверх драйвера устройства (например, тот, который связывается с портом USB или Bluetooth).
Хлипкий
5

Микропрограмма реализует низкоуровневые детали, необходимые для работы оборудования, и обеспечивает API / ABI на более высоком уровне. Драйвер устройства обеспечивает адаптер между ОС и API / ABI, предоставляемым микропрограммой.

Игнасио Васкес-Абрамс
источник
1
Благодарность! Является ли драйвер устройства частью ОС и запускается ядром ОС? Является ли прошивка частью устройства и запускается ли она ядром ОС или самой прошивкой?
Тим
1
Драйвер устройства считается частью ОС и обычно выполняется на центральном процессоре хоста. Прошивка обычно запускается устройством; хотя она может быть загружена на устройство операционной системой.
Игнасио Васкес-Абрамс
Это должен быть принятый ответ.
Эрик Ван
4

Современное определение или обычное использование встроенного программного обеспечения не имеет ничего общего с определенной функциональностью программного обеспечения. Микропрограмма - это просто программное обеспечение, которое хранится в чипах энергонезависимой полупроводниковой памяти (например, PROM, EEPROM или флэш-память), а не в устройстве хранения большой емкости, таком как жесткий диск. Хранимое программное обеспечение может быть монолитно-связанным двоичным файлом или состоять из загрузчика, ядра и прикладных модулей. (ОТО, я видел несколько плат ТВ-тюнеров для ПК, которые требуют загрузки «прошивки» ядром Linux для завершения инициализации.)

Происхождение этого термина связано с логикой, управляемой процессором, а не с аппаратной логикой. Программное обеспечение, хранящееся на жестких дисках, может быть легко изменено и обновлено. Пересмотр и обновление аппаратной логики требует перепроектирования и замены платы или модуля. Срединная земля была процессором, исполняющим программное обеспечение для управления оборудованием. Программное обеспечение было названо фирменным программным обеспечением, чтобы отразить среднюю позицию между программным обеспечением и аппаратно- проводной логикой. Первоначально прошивка хранилась в микросхемах ROM, PROM или EPROM для поддержания модульности платы. Развитие EEPROM и микросхем флэш-памяти позволило встроенные и встроенные обновления прошивки.

Поскольку процессоры (и периферийные устройства) стали меньше, дешевле и потребляли меньше энергии, расширились возможности их встраивания в каждое устройство / устройство. Чтобы программное обеспечение для работы с этими устройствами было надежным и безопасным, оно хранится в микросхемах флэш-памяти, а не на жестком диске; это также делает устройство меньше и намного дешевле. Термин «встроенное программное обеспечение» был расширен, чтобы охватить все программное обеспечение в устройствах / устройствах со встроенными процессорами, хотя некоторые части хранимого кода могут не иметь отношения к замене аппаратной логики.

опилки
источник
Тогда что значит установить прошивку на большое хранилище? Понравился этот пакет Debian ?
xuhdev
1
@xuhdev - Этот пакет Debian состоит из файлов, которые могут использоваться различными драйверами устройств Linux. Файлы называются «прошивками», поскольку они записываются на подключенное устройство драйвером Linux. Файлы могут содержать рабочие данные или код для встроенного uC / uP устройства. Обратите внимание, что этот файл, переданный на устройство, загружается в энергозависимую память устройства, и загрузка должна выполняться после каждого сброса устройства или системы. «Установка» этого «прошивка» на массовом хранении хозяина является лишь процедурным механизмом (т.е. обработки пакета).
опилки
3

Кто-то недавно опубликовал этот вопрос , сказав:

Прошивка представляет собой комбинацию постоянной памяти, программного кода и данных, хранящихся в нем. Типичными примерами устройств, содержащих встроенное ПО, являются встроенные системы, такие как светофоры, бытовые приборы, цифровые часы, компьютеры, компьютерная периферия, мобильные телефоны и цифровые камеры. Встроенное ПО, содержащееся в этих устройствах, предоставляет управляющую программу для устройства.

На самом деле driversтег SuperUser определен:

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

и firmwareтег определен:

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

Первоначально я думал, что он firmwareбыл установлен на чип или плату напрямую и жил там, поэтому его нужно «прошить», а вы должны установить driverповерх операционной системы.

Вывод:

Firmwareпозволяет аппаратным средствам "делать" что-то, и driversпозволяет программному обеспечению взаимодействовать с аппаратным обеспечением.

bgmCoder
источник