- Чем отличаются прошивка и драйвер устройства? Я думаю, что оба устройства управления?
- Всегда ли микропрограмма загружается автоматически, а ОС должна запускаться / загружаться?
4 ответа
Прошивка - это программное обеспечение, которое работает на устройстве. Драйвер - это программа, которая сообщает операционной системе, как взаимодействовать с устройством. Не все устройства имеют прошивку - только устройства с некоторым уровнем интеллекта.
Я не совсем уверен, что вы имеете в виду ... вообще говоря, прошивка не имеет ничего общего с "загрузкой" ... Я думаю, может быть, вы спрашиваете, всегда ли на устройствах с прошивкой установлена прошивка на устройстве или она загружается после загрузки. Если это то, что вы спрашиваете, ответ нет ...
Чаще всего устройства с микропрограммой имеют встроенную микропрограмму, запрограммированную в устройстве (либо с микросхемой ПЗУ, либо с программируемой микросхемой ПЗУ), но в некоторых устройствах микропрограмма загружается в устройство во время инициализации. Я могу вспомнить некоторые сетевые карты и веб-камеры, которые работают таким образом, но я уверен, что есть и другие.
Прошивка реализует низкоуровневые детали, необходимые для работы оборудования, и предоставляет API/ABI на более высоком уровне. Драйвер устройства предоставляет адаптер между ОС и API/ABI, предоставляемым микропрограммой.
Современное определение или обычное использование встроенного программного обеспечения не имеет ничего общего с определенной функциональностью программного обеспечения. Микропрограмма - это просто программное обеспечение, которое хранится в микросхемах энергонезависимой полупроводниковой памяти (например, PROM, EEPROM или флэш-памяти), а не в устройстве хранения большой емкости, таком как жесткий диск. Хранимое программное обеспечение может быть монолитно связанным двоичным файлом или состоять из загрузчика, ядра и прикладных модулей. (OTOH Я видел несколько плат ТВ-тюнера для ПК, которые требуют загрузки "прошивки" ядром Linux для завершения инициализации.)
Происхождение этого термина связано с логикой, управляемой процессором, а не с аппаратной логикой. Программное обеспечение, хранящееся на жестких дисках, может быть легко изменено и обновлено. Пересмотр и обновление аппаратной логики требует перепроектирования и замены платы или модуля. Срединная земля была процессором, исполняющим программное обеспечение для управления оборудованием. Программное обеспечение было названо фирменным программным обеспечением, чтобы отразить среднюю позицию между программным обеспечением и аппаратно- проводной логикой. Первоначально прошивка хранилась в чипах ROM, PROM или EPROM для поддержания модульности платы. Развитие EEPROM и флэш-микросхем позволило встроенные и встроенные обновления прошивки.
Поскольку процессоры (и периферийные устройства) стали меньше, дешевле и потребляли меньше энергии, расширились возможности их встраивания в каждое устройство / устройство. Чтобы программное обеспечение для работы с этими устройствами было надежным и безопасным, оно хранится в микросхемах флэш-памяти, а не на жестком диске; это также делает устройство меньше и намного дешевле. Термин «встроенное программное обеспечение» был расширен, чтобы охватить все программное обеспечение в устройствах / устройствах со встроенными процессорами, хотя некоторые части хранимого кода могут не иметь отношения к замене аппаратной логики.
Кто-то недавно опубликовал этот вопрос, сказав:
Прошивка представляет собой комбинацию постоянной памяти, программного кода и данных, хранящихся в нем. Типичными примерами устройств, содержащих встроенное ПО, являются встроенные системы, такие как светофоры, бытовые приборы, цифровые часы, компьютеры, компьютерная периферия, мобильные телефоны и цифровые камеры. Встроенное ПО, содержащееся в этих устройствах, предоставляет управляющую программу для устройства.
Фактически, тег drivers
SuperUser определен:
Драйвер, также называемый драйвером устройства или программным драйвером, является программным обеспечением, которое позволяет компьютерным программам более высокого уровня взаимодействовать с аппаратным устройством. Когда компьютерная программа запрашивает взаимодействие с определенным аппаратным устройством, драйвер будет обрабатывать перевод команд и выходных данных между устройством и компьютерной программой, вызывающей драйвер.
и тег firmware
определяется:
В общем, разница между программным обеспечением и прошивкой заключается в том, на каком уровне оно взаимодействует с оборудованием. Прошивка взаимодействует на очень низком уровне оборудования, в то время как программное обеспечение взаимодействует на высоких уровнях. Прошивка обычно контролирует базовую синхронизацию, элементы управления и функциональность оборудования.
Первоначально я думал, что firmware
была установлена на чип или плату напрямую и жила там, поэтому она должна быть "перепрошита", в то время как вы устанавливаете driver
поверх операционной системы.
Заключение:
Firmware
позволяет аппаратным средствам "делать", а drivers
позволяют программному обеспечению взаимодействовать с аппаратным обеспечением.