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


27
  1. Чим відрізняються та пов'язані між собою прошивки та драйвер пристрою? Я думаю, що обидва пристрої управління?
  2. Чи завжди прошивка самозавантажується, тоді як драйвер повинен запускатися / завантажуватися ОС?

Відповіді:


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

  2. Я не точно впевнений, що ви маєте на увазі ... Взагалі кажучи, вбудована програма не має нічого спільного з "завантаженням" ... Я думаю, можливо, те, що ви запитуєте, чи потрібно, щоб пристрої з прошивкою завжди встановлювали прошивку на пристрої, або завантажується він після часу завантаження. Якщо це те, що ви запитуєте, відповідь - ні ...

Найчастіше пристрої з вбудованим програмним забезпеченням мають вбудовану програму (або з мікросхемою ROM, або з програмованим чіпом ROM), але є деякі пристрої, на яких прошивка завантажується в пристрій під час ініціалізації. Я можу придумати деякі мережеві карти та веб-камери, які працюють таким чином, але я впевнений, що є й інші.


Спасибі! 2, маючи на увазі, я маю на увазі, що якщо прошивка запускається не самими іншими, тоді як драйвер працює під управлінням ОС не сам по собі? Я підібрав слово самозавантаження з "Без операційної системи, користувач не може запустити прикладну програму на своєму комп’ютері, якщо тільки програма не самозавантажується" в en.wikipedia.org/wiki/Operating_system
Тим,

1
Прошивку управляє самим апаратним пристроєм ... Я думаю, що це відповідає на питання? Враховуйте це: багато некомп'ютерних пристроїв мають "прошивку" - наприклад, цифрові камери, програвачі DVD, стільникові телефони тощо. Очевидно, що в цих випадках прошивка повністю є самодостатньою в самому пристрої. Тільки якщо / коли ви підключите один із цих пристроїв до комп'ютера, вам потрібен драйвер .
Flimzy

1
Спасибі! З en.wikipedia.org/wiki/Computer_software : "Прошивка - це програмне забезпечення низького рівня, яке часто зберігається на електрично програмованих пристроях пам'яті. Прошивці присвоєно назву, оскільки вона обробляється як апаратне забезпечення та виконується (" виконується ") іншими програмними програмами." Чи прошивка керується іншими програмними програмами або самим обладнанням?
Тім

-1 чому ти кажеш only devices with some level of intelligence have firmware? Я б сказав, що навпаки, прості (електронні) пристрої можуть не мати операційних систем, але вони мають прошивку.
Селерітас

@Celeritas: Тому що лише пристрої з певним рівнем інтелекту мають прошивку, на відміну від таких (як порт RS-232), яких немає. Якщо ви порівнюєте пристрої, які мають цілу ОС (мобільний телефон, iPod, програмований GPS тощо), ви говорите про зовсім інший шар абстракції, який насправді не має нічого спільного з "драйверами пристроїв" у традиційному розумінні. Цей клас програмного забезпечення часто називають "драйвером пристрою", але насправді це протокол мережевого додатка, реалізований поверх драйвера пристрою (наприклад, той, який спілкується з USB-порту або Bluetooth).
Flimzy

5

Прошивка реалізує деталі низького рівня, необхідні для роботи з обладнанням, та надає API / ABI на більш високий рівень. Драйвер пристрою надає адаптер між ОС та API / ABI, які піддаються прошивці.


1
Спасибі! Чи є драйвер пристрою частиною ОС і керується ядром ОС? Чи є прошивка частиною пристрою, і запускається якою, ядро ​​ОС або сама прошивка?
Тім

1
Драйвер пристрою вважається частиною ОС, і зазвичай працює на хост-процесорі. Прошивка зазвичай працює на пристрої; він може бути завантажений на пристрій ОС, хоча.
Ігнасіо Васкес-Абрамс

Це має бути прийнятою відповіддю.
Ерік Ван

4

Сучасне визначення або звичайне використання вбудованого програмного забезпечення не має нічого спільного з конкретною функціональністю програмного забезпечення. Прошивка - це просто програмне забезпечення, яке зберігається в енергонезалежній напівпровідниковій пам'яті (наприклад, PROM, EEPROM або спалах), а не в пристрої масового зберігання, наприклад, на жорсткому диску. Збережене програмне забезпечення може бути монолітним бінарним файлом або складатися з модулів завантажувача, ядра та додатків. (OTOH Я бачив декілька карт ТВ-тюнерів для ПК, які потребують завантаження "прошивки" ядром Linux, щоб завершити ініціалізацію.)

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

Оскільки процесори (і периферійні пристрої) ставали меншими, дешевшими і менше споживали енергію, розширювались можливості їх вбудовування в усі види пристрою / пристрою. Для того щоб зробити програмне забезпечення для управління цими пристроями надійним та надійним, програмне забезпечення зберігається у мікросхемах флеш-пам’яті, а не на жорсткому диску; це також робить пристрій меншим і набагато дешевшим. Поняття прошивки було розширено, щоб охопити все програмне забезпечення в пристроях / пристроях із вбудованими процесорами, хоча деякі частини збереженого коду не могли мати ніякого відношення до заміни жорсткої провідної логіки.


Тоді що означає встановлення мікропрограмного забезпечення на масове зберігання? Як цей пакет Debian ?
xuhdev

1
@xuhdev - пакет Debian складається з файлів, які можуть використовуватися різними драйверами пристроїв Linux. Файли вважаються "прошивкою", оскільки вони записуються на доданий пристрій драйвером Linux. Файли можуть містити операційні дані або код для вбудованого uC / uP пристрою. Зауважте, що цей файл, переданий на пристрій, завантажується у енергонезалежну пам'ять пристрою, а завантаження має відбуватися після кожного скидання пристрою чи системи. «Установка» цього «прошивка» на масовому зберіганні господаря є лише процедурним механізмом (тобто обробки пакета).
тирса

3

Хтось опублікував це питання нещодавно , сказавши:

Прошивка - це поєднання стійкої пам'яті, програмного коду та даних, що зберігаються в ньому. Типовими прикладами пристроїв, що містять вбудовану програму, є вбудовані системи, такі як світлофори, побутова техніка, цифрові годинники, комп'ютери, комп'ютерна периферія, мобільні телефони та цифрові камери. Прошивка, що міститься в цих пристроях, забезпечує програму управління пристроєм.

Насправді driversтег SuperUser визначений:

Драйвер, який також називають драйвером пристрою або драйвером програмного забезпечення - це програмне забезпечення, яке дозволяє комп'ютерним програмам вищого рівня взаємодіяти з апаратним пристроєм. Коли комп'ютерна програма вимагає взаємодії з певним апаратним пристроєм, драйвер буде обробляти інструкції та виводити трансляцію між пристроєм та комп'ютерною програмою, що викликає драйвер.

і, firmwareтег визначено:

Загалом, відмінність програмного забезпечення та програмного забезпечення - рівень, на якому він взаємодіє з обладнанням. Прошивка взаємодіє на дуже низькому рівні апаратного забезпечення, тоді як програмне забезпечення взаємодіє на високому рівні. Прошивка, як правило, контролює основні терміни, елементи керування та функціональність обладнання.

Спочатку я думав, що він firmwareбув встановлений на мікросхемі чи платі безпосередньо і жив там, тому його потрібно "спалахнути", тоді як ви встановили б driverповерх операційної системи.

Висновок:

Firmwareдозволяє апаратному забезпеченню "робити" речі та driversдозволяє програмному забезпеченню взаємодіяти з обладнанням.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.