Блоб

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Блоб (від англ. Binary linked object  — об'єкт двійкового компонування) — у спільноті вільного ПЗ, бінарний блоб є принизливим терміном для об'єктного файлу без публічно доступних початкових кодів, що завантажується в ядро вільної операційної системи. Зазвичай цей термін застосовується тільки стосовно модулів, що завантажуються в ядро вільної або відкритої операційної системи; термін рідко застосовується стосовно коду, що виконуються не в режимі ядра, наприклад, код BIOS, мікропрограмний код пристроїв, програми, що виконуються в режимі користувача.[1]

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

У випадку, коли виробник не надає ні технічну документацію пристроїв, ні початковий код драйверів, деякі операційні системи, включаючи NetBSD, FreeBSD, DragonFly BSD і деякі дистрибутиви Linux, включають драйвери з блобами до свого складу для швидкого досягнення функціональності, що надається цими драйверами.[2]

Free Software Foundation (FSF) активно агітує проти використання двійкових блобів.

Проблеми

[ред. | ред. код]

Є ряд причин, чому двійкові блоби можуть викликати проблеми: користувачі не можуть змінювати програмне забезпечення та поширювати змінені версії; правильність коду драйвера не може бути перевірена, постачальники обладнання можуть ухвалити рішення відмовитися від обслуговування у будь-який момент.

Пристрій прошивки

[ред. | ред. код]

Прошивки, програмне забезпечення, які супроводжують деякі апаратні засоби, як правило, не розглядаються як бінарні блоби. У багатьох пристроях, прошивка зберігається в незалежній пам'яті.

BIOS, який функціонує як завантажувач, є найважливішим компонентом багатьох IBM-сумісних комп'ютерів. FSF почала кампанію за вільні BIOS прошивки, такі як coreboot.[3]

Джерела

[ред. | ред. код]
  1. Michael Larabel (6 серпня 2012). Coreboot: Replacing Intel's Binary Video BIOS Blob. Phoronix. Процитовано 23 червня 2015.
  2. Theo de Raadt (3 грудня 2016). Page 11: The hardware: ethernet. Open Documentation for Hardware. OpenCON 2006, 2–3 December 2006. Courtyard Venice Airport, Venice/Tessera, Italy. Only a few recalcitrant vendors remain closed. / ethernet 95% documented 99% working / Open documentation largely due to the effort of one man: Bill Paul
  3. Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015). Embedded Firmware Solutions: Development Best Practices for the Internet of Things. Apress. с. 121. ISBN 9781484200704.