1991年,Linux诞生了。又因为开放源代码的缘故,十几年来Linux是越来越火,熊熊火焰也烧到了华夏大地。诸多高校开始开设Linux相关的课程,诸多企业开始招聘Linux相关的人才。市面上关于Linux的书籍也层出不穷,而这其中大致分为两类,一类是应用方面的书籍,比如介绍如何组建各种服务器;另一类是内核方面的书籍,主要都是对内核源代码进行分析,这方面的书籍则以《Linux设备驱动程序》和《深入理解Linux内核》为经典代表。而从眼下国内的人才市场来看,懂Linux内核的人找工作肯定不用发愁。事实上,毫不夸张地说,当代大学生,如果能够看完以上这两本书,并且能够看懂,那么在北京、上海、深圳这些一线城市,很容易就能找到一份体面的技术类工作。

那么为什么我们还要另起炉灶再写一本Linux内核方面的书籍呢?因为Linux内核包含大量的代码,以上面两本书为代表的很多Linux内核的书籍涵盖的内容太广,大多数书籍都是把Linux内核中的各个部分逐一地进行介绍和分析,然而实际情况是没有任何一个人能够对Linux内核的各个部分都很精通,包括Linus Torvalds本人。一个对Linux开发感兴趣的人也不一定需要并且有足够的时间对Linux的每个部分都去深入理解。而另一方面,很多对Linux内核感兴趣的朋友常常被一个问题所困扰,那就是Linux内核那么庞大的代码量,对于初学者来说,应该从哪里学起呢?关于这一点,其实《Linux设备驱动程序》给出了很好的答案,学习驱动程序代码是最有效的入门方法。第一是因为在庞大的Linux内核源代码中,大约87.53%是各种驱动程序代码,其重要性可想而知,第二是因为相对来说,驱动程序的代码其难度是比较低的,很少涉及复杂高深的算法,所以适合初学者研读。

然而网友“永不堕落”曾经问过我们:“既然已经有了《Linux设备驱动程序》,为什么你们还要写一本Linux设备驱动程序相关的书呢?你们这样做是不是行为艺术呢?”这里我们想说的是,虽然《Linux设备驱动程序》这本书很强大了,把各种类型的设备驱动程序都给介绍了一番,可是当一些读者读完这本书之后,他们敢说自己会写Linux设备驱动程序了吗?他们敢说自己完全了解一个真实的Linux设备驱动程序是怎么写的吗?至少本书作者当年在看完这本书之后,虽然觉得获益匪浅,可是仍然不太清楚真实的Linux设备驱动程序是怎么写的,仍然不敢认为自己就会写Linux设备驱动程序了。这才有了后来决定亲自选择一个子系统进行研究,并在研究好了之后把研究心得写出来,与大家进行分享。最终我们选择的是USB子系统,原因很简单,USB总线及连接在USB总线上的各种USB设备已经广泛地出现在了当代计算机上,广大计算机用户,尤其是高校学生,接触得最多的设备也正是USB设备,所以研究和分析USB总线,以及它上面的各种USB设备应该能让大家感到很亲切很真实并且具有相当的实用价值和怀旧意义。有人曾经说过:“USB总线就像一条河,左岸是我无法忘却的回忆,右岸是我值得紧握的璀璨年华,中间流淌的,是我年年岁岁淡淡的感伤!”

本书的编写得到了许多人的帮助,在此向他们致以诚挚的谢意。首先感谢孙学瑛编辑,没有她的努力,这本书的内容将会一直偏居网络一隅,将不可能被出版从而去帮助更多需要的人。然后要感谢很多在技术上给予我们指导与帮助的老师和朋友,特别是USB这边的maintaner之一,Alan Stem大侠对我们的问题的耐心解答与回复。

书名:Linux那些事儿之我是USB

作者:肖林甫 肖季东 任巧伟

ISBN 978-7-121-11178-5

出版日期:20107

定价:79.00

开本:16

页码:576

宣传语

每天万余人争相阅读

CSDN Blog专家fudan_abc最新力作

本书基于2.6.22内核,对USB子系统的大部分源代码逐行进行分析,系统地阐释了Linux内核中USB子系统是如何运转的,子系统内部的各个模块之间是如何互相协作互相配合的。

本书使用幽默诙谐的笔调对Linux内核中的USB子系统源代码进行了分析,形象且详尽地介绍了USB在Linux中的实现。本书从U盘、Hub、USB Core直到主机控制器覆盖了USB实现的方方面面,被一些网友誉为USB开发的“圣经”。

对于Linux初学者,可以通过本书掌握学习内核、浏览内核代码的方法;对于Linux驱动开发者,可以通过本书对设备模型有形象深刻的理解;对于USB开发者,可以通过本书全面的理解USB在一个操作系统中的实现;对于Linux内核开发者,也可以通过本书学习到很多Linux高手开发维护一个完整子系统时的编程思想。

写一本Linux内核方面的书籍相关推荐

  1. 烧写linux内核的步骤,启动redboot后,向目标机烧写一个linux内核的全过程

    命令说明 对一个没有内核和根文件系统的板子是不可以运转的,当通过一种方式下载了RedBoot引导程序以后,我们可以通过下面的方式下载内核和根文件系统. 在本系统中,我们对内核和根文件系统的下载是通过t ...

  2. 推荐Linux内核书籍

    大家好,挺久没推荐内核相关的书籍了,今天给大家推荐一本我觉得不错的书,这本书籍的作者叫做李云华,书籍名字叫<独辟蹊径品内核>,他的写作思路非常不错,他会引用内核代码中的内容,给大家剖析讲解 ...

  3. 【转载】linux内核学习书籍

    [转载]linux内核学习书籍 1, 关于操作系统理论的最初级的知识.不需要通读并理解<操作系统概念><现代操作系统>等巨著,但总要知道分时(time-shared)和实时(r ...

  4. linux内核页高速缓存,《Linux内核设计与实现》读书笔记(十六)- 页高速缓存和页回写(示例代码)...

    主要内容: 缓存简介 页高速缓存 页回写 1. 缓存简介 在编程中,缓存是很常见也很有效的一种提高程序性能的机制. linux内核也不例外,为了提高I/O性能,也引入了缓存机制,即将一部分磁盘上的数据 ...

  5. 《Linux内核设计与实现》读书笔记(十六)- 页高速缓存和页回写

    主要内容: 缓存简介 页高速缓存 页回写 1. 缓存简介 在编程中,缓存是很常见也很有效的一种提高程序性能的机制. linux内核也不例外,为了提高I/O性能,也引入了缓存机制,即将一部分磁盘上的数据 ...

  6. Linux内核延迟写机制学习

    Linux内核延迟写机制 Linux内核延迟写的特点,是指在Linux通过write的场景下写入数据之后,会将数据直接标记为dirty,然后通过延迟读写的方式最后将数据回写到磁盘上.在本文的Linux ...

  7. linux内核学习书籍推荐

    在学习Linux内核代码的过程中,定会参考很多书籍以及网路资源,但是并不是所有的书籍和资源都能够帮助你前进,或者说是能够将你引导向正确而高效的道路. 在学习的一些阶段可能会需要不同的书,比如在第一个阶 ...

  8. 学习 Linux 内核书籍推荐

    原文链接,欢迎关注: 你为什么学习 Linux 内核? - CodeAllen的回答 - 知乎 https://www.zhihu.com/question/31369673/answer/28949 ...

  9. linux内核深度解析_十年磨一剑,第一本龙芯平台的Linux内核书来了

    <用"芯"探核:基于龙芯的Linux内核探索解析>是一本基于龙芯平台,结合源代码来探索和解析Linux-5.x内核的书. 市面上解析Linux 内核的经典书籍已有不少, ...

  10. 学习 Linux内核的意义及内核 head_list分析

    转自:http://blog.sina.com.cn/s/blog_6dd71c3c0101mgpf.html 1.分析linux内核的重要性 操作系统作为最核心的软件,关系到国家的战略安全,在现代的 ...

最新文章

  1. Silverlight测试——利用Ranorex实现数据驱动测试
  2. 使用debug工具修改寄存器中的值
  3. RHEL7 USB installation problem and solving
  4. 潘石屹接连带货 Python,要来抢我们的饭碗?
  5. 正则除了几个汉字的其它汉字_理解汉字的几个层次
  6. CentOS设置ssh密钥登录
  7. 软考笔记第九天之多媒体基础
  8. arm开发板上找不到/dev/i2c-*设备
  9. 工具之AlwaysUp
  10. 在Windows下安装GmSSL
  11. JAVA调用K3Cloud WebApi接口
  12. Postman下载与安装详细步骤
  13. 5种主流的移动端广告类型
  14. jar脱壳_[转载]脱壳再打包某梆梆免费加固APP
  15. Java多线程--1--stop方法
  16. dell服务器uefi启动u盘安装系统,uefi启动u盘安装系统怎么装|uefi u盘启动装系统步骤...
  17. 关闭 c4244_秀刻开放注册锁粉;天天有鱼推基金认筹;智慧云开放交易;五子登科开放交易;火艺短视频开放交易;购视界改制;等会儿短视频关闭交易;...
  18. 1 人抵 1 万名黑客的阿里女守护神,私底下竟然是这个样子!
  19. 如何查看 安卓证书 的签名
  20. 如何建立高质量团队-《克服团队协作的五种障碍》笔记与心得

热门文章

  1. talend工具中往oracle插数据报ORA-01461: can bind a LONG value only for insert into a LONG colum...
  2. [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1
  3. (转)JVM中的OopMap(zz)
  4. asp.net mvc在Model中控制日期格式
  5. AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字,Filterable的使用)...
  6. Mac上的包管理器Homebrew的介绍及安装和使用实践
  7. (Sublime Text 3)自动跳转到MATLAB运行程序
  8. android Sharedpreferences数据存储使用方法
  9. Python计算机视觉编程pdf
  10. 通过机器学习神经网络自动写前端代码