chapter 1 设备驱动介绍

以Linux为代表的开源操作系统的众多优势之一是,它们的内核是对所有人开放的。操作系统曾经是一块深邃神秘的区域,只有少数的程序员能看到它的代码实现。如今只要具备必要的技能,任何人都可以轻易地查看,理解和修改它。Linux推动了操作系统的民主化进程。然而,Linux 内核仍然是一段庞大而又复杂的代码,想要成为内核黑客的程序员需要一个入口,让他们能够接触内核代码时不至于被它的复杂所吓倒。


设备驱动在Linux内核中伴演着重要角色。它们是能够让特定的硬件响应明确定义的内部编程接口的特殊的“黑匣子”;它们完全隐藏了设备工作的细节。用户的操作是由一组独立于特定驱动的标准调用来实现的;设备驱动的作用就是把这些调用映射到设备相关的操作,来实际对硬件起作用。因此设备接口是这样的,它的驱动可以独立于内核建立,然后在运行需要时时再”插入“进来。


我们有足够的理由对Linux设备驱动的编写产生兴趣。单从硬件更新换代的速度来看,驱动编写者在可以预见的将来就有得忙的。想要能够使用自己感兴趣的设备,公司或个人需要了解驱动。硬件供应商,通过为自己的产品开发linux驱动,能够为他们潜在市场增加巨大的。而且在不断增长着的Linux用户基础。Linux开源的特点意味着只要驱动的编写者愿意,驱动的源代码可以迅速传播到数以百万计的用户。


这本书教你如何编写自己的驱动,如何在内核相关部分hack around.我们采取了一种独立于设备的教学方式;我们对编程技巧和接口的描述,只要有可能,是没有和任何设备扯上联系的。每一个驱动都是与众不同的;作为一个驱动的编写者,你必须很了解你的特定的设备。但是大部分的规则和基本的技巧对所有的驱动都是适用的。这本书不能教给你与你设备相关的东西,但是它告诉了你,要让设备运转起来所需要做的准备工作。


当你学着写驱动的时候,慢慢地你会发现很多关于Linux内核的东西;这有助于帮助你理解你的机器是如何运转,为什么事情不总是你希望的那么迅速,或者为什么不能为所欲为。我们会从最简单的驱动开始,然后在他们的基础上慢慢地引入新的概念;每一个新的概念的出现都伴随有相应的示例代码,这些代码不需要特殊的硬件环境就可以进行测试。


这章实际上并没有讲到代码的编写。但是,我们介绍了Linux内核的一些背景知识,在以后我们深入讲解编程时,你会很高兴你已经知道这些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值