注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

My Unix World

不要迷恋Unix,Unix只是计算世界很小的一部分!

 
 
 

日志

 
 

【Copy】Binary blob  

2008-12-11 15:43:02|  分类: L-Boot |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

In open source culture, binary blob is a pejorative term for an object file loaded into the kernel of a free or open source operating system without publicly available source code. The term is not usually applied to code running outside the kernel, for example BIOS code, firmware images, or userland programs.

When computer hardware vendors provide complete technical documentation for their products, operating system developers are able to write hardware device drivers to be included in the operating system kernels. However, some vendors, such as NVIDIA, do not provide complete documentation for some of their products and instead provide binary-only drivers (binary blobs); this practice is most common for accelerated graphics drivers, networking devices and RAID controllers.

Acceptance

When they can neither get hardware documentation nor device driver source code from a hardware vendor, some operating system projects, including NetBSD, FreeBSD, DragonFly BSD, and some GNU/Linux distributions, accept binary blobs as a fast route to the missing or enhanced functionality these blobs provide.[1]

The OpenBSD project has a notable policy of not accepting any binary blobs into its source tree, citing not only the potential for undetectable or irreparable security flaws but also its encroachment onto the openness and freedom of their software.[2]

Among GNU/Linux distributions, the gNewSense distribution is the most known for being actively against binary blobs. The Free Software Foundation (FSF) is actively campaigning against binary blobs and recommends gNewSense.[3]

Use via wrappers

In order to make use of binary blob drivers available for other operating systems, some projects include software wrappers: examples include NdisWrapper for Linux and Project Evil for FreeBSD and NetBSD, both of which implement Microsoft's NDIS API to allow the use of network drivers written for Microsoft Windows.

Problems

There are a number of reasons why binary blobs can cause problems: users cannot modify the software and distribute modified versions; blobs are unportable and typically limited to a few hardware architectures; the correctness of the driver code cannot be checked; the code cannot be audited for security by users or third parties; users are forced to trust vendors not to put backdoors and spyware into the blob; in case of bugs or vulnerabilities, the driver cannot be repaired by operating system developers; and the hardware vendor can decide not to support some operating systems or to abandon driver maintenance at any time.[4]

According to Microsoft, 28% of all crashes of their Vista operating system in 2007 were due to bugs in the binary blob drivers for Nvidia graphics cards.[5]

Firmware

Firmware, the operating software required by a device's onboard microcontroller that accompanies some hardware, is generally not considered to be a binary blob. However, the FSF has begun campaigning for free BIOS firmware.[6] Often firmware is stored in onboard flash memory, but to decrease costs and ease upgrading, some manufacturers now use external firmware uploaded by the operating system. Although the firmware is present in the operating system, it is merely copied to the device and not executed by the CPU, lessening concerns about hidden security flaws. The OpenBSD project accepts binary firmware images and will redistribute the images if the licence permits.[7]

See also

References

  1. ^ Matzan, Jem (15 June 2005). "BSD cognoscenti on Linux". NewsForge. Retrieved on 2006-07-07. 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?"
  2. ^ Music composed by Ty Semaka and Jonathan Lewis. Recorded, mixed and mastered by Jonathan Lewis of Moxam Studios (1-403-233-0350). Vocals and Lyrics by Ty Semaka & Theo de Raadt. Bass guitar, organ and bubbles by Jonathan Lewis. Guitar by Tom Bagley. Drums by Jim Buick. "3.9: "Blob!"". OpenBSD. Retrieved on 2006-06-22.
  3. ^ "Protest against ATI nearly led to the arrest of RMS". Free Software Foundation (27 April 2006). Retrieved on 2006-10-10.
  4. ^ Andrews, Jeremy (2006-04-19). "Interview with Jonathan Gray and Damien Bergamini". kerneltrap.org. Retrieved on 2008-01-06.
  5. ^ "Vista-capable lawsuit paints picture of buggy NVIDIA drivers". Ars technica.
  6. ^ "Campaign for Free BIOS". Free Software Foundation (2006-11-29). Retrieved on 2007-01-02.
  7. ^ "OpenBSD Works To Open Wireless Chipsets". KernelTrap (November 2, 2004). Retrieved on 2006-06-23.

External links


  评论这张
 
阅读(322)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017