Блоб

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Блоб (от англ. binary linked object — объект двоичной компоновки) — объектный файл без публично доступных исходных кодов, загружаемый в ядро операционной системы. Обычно этот термин применяется только по отношению к модулям, загружаемым в ядро свободной или открытой операционной системы; термин редко применяется по отношению к коду, выполняющемуся не в режиме ядра, например, код BIOS, микропрограммный код устройств, программы, выполняющиеся в пользовательском режиме.

Когда производители аппаратного обеспечения компьютеров предоставляют полную техническую документацию для своей продукции, разработчики операционных систем могут самостоятельно написать необходимые драйверы для этих устройств под разрабатываемые операционные системы (иногда производитель устройства сам принимает участие в создании свободного драйвера под некоторые свободные операционные системы).

Однако некоторые производители не предоставляют полную документацию, предпочитая поставлять собственные скомпилированные (блоб), а иногда и зашифрованные, драйверы. Наиболее часто в таком виде поставляются драйверы видеокарт, сетевых плат и контроллеров RAID, а также периферии, например, принтеров и сканеров, подключаемых к компьютерам.

Также некоторые устройства не имеют встроенных механизмов для загрузки микрокода, поэтому для таких устройств загрузка должна осуществляться силами драйвера. Микрокод является фактически частью аппаратуры, и его публикация может также раскрыть принципы работы самой аппаратуры, что некоторыми производителями аппаратуры оценивается как нежелательное. Однако многие другие устройства способны загружать микрокод самостоятельно, без помощи ОС, и поэтому создают иллюзию защищённости, так как присутствие блоба в драйвере не требуется, однако сама аппаратура блоб прозрачно использует. Например, BadUSB.

В случае, когда производитель не предоставляет ни техническую документацию устройств, ни исходный код драйверов, некоторые операционные системы, включая NetBSD, FreeBSD, DragonFly BSD и некоторые дистрибутивы Linux, включают драйверы с блобами в свой состав для быстрого достижения функциональности, предоставляемой этими драйверами.[1]

Операционные системы, не приемлющие блобы:

Примечания

[править | править код]
  1. Matzan, Jem BSD cognoscenti on Linux. NewsForge (15 июня 2005). Дата обращения: 7 июля 2006. Архивировано 23 марта 2006 года. See Christos Zoulas’s response to «Is sharing between Free/Open/NetBSD and the Linux kernel a common occurrence? And if so, does it go both ways?»