免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 40477 | 回复: 37

[Linux] Linux 驱动开发前途在哪里? [复制链接]

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
发表于 2015-09-01 21:11 |显示全部楼层
获奖详情:http://bbs.chinaunix.net/thread-4190047-1-1.html

话题背景

Linux一直未停止前进的步伐,各种移动设备也不断汲取Linux的精髓,比如Android系统,执着快速地推进,为了适配最新的Linux内核特性,驱动开发也要加紧步伐,不断前进,那么驱动开发要如何应对这种发展的快节奏呢?Linux设备驱动开发不仅仅涉及操作系统的转换,开发方式的转换,更重要的是思维上的转变。作为一名合格的驱动开发人员,至少要能够充分了解模块相关软硬件能力、发展方向,辅助应用工程师最大化利用硬件能力,熟悉Linux内核特性,分析和优化驱动的性能,针对特定硬件扬长避短。现在智能硬件发展如此火热,你准备好了吗?




讨论话题
1、谈谈现阶段驱动开发碰到的问题或者疑惑?
2、聊聊不断更新的Linux内核对驱动开发人员带来的影响,如何紧随发展步伐?
3、分享一下驱动开发人员如何不断更新和建立自己的知识体系!



讨论时间
2015-09-02至2015-10-02



活动奖励
活动结束后将选取3名讨论精彩的童鞋,每人赠送一本《Linux设备驱动开发详解:基于最新的Linux 4.0内核》图书+互动出版网购书券一张,面值20元以作为奖励。
活动效果好会额外增加十名参与奖,每人奖励互动出版网购书券一张,面值10元。

购书券使用说明:购书券为互动出版网的直减通用券,使用无限制,在支付的时候选择代金券支付即可。有效期为一年。
购书券使用链接:http://www.china-pub.com/



奖品简介
zcover.jpg
作者: 宋宝华   
丛书名: 电子与嵌入式系统设计丛书
出版社:机械工业出版社
出版日期:2015 年8月
开本:16开
页码:618
版次:1-1



内容简介:
对于嵌入式工程师来说,进入更高阶段后,学习Linux设备驱动开发无疑就是职业生涯的一次“重生”。这是因为Linux设备驱动开发不仅仅涉及操作系统的转换,开发方式的转换,更重要的是思维上的转变。对于Linux这样一个复杂系统,如何从复杂的代码中抓住设备驱动开发的关键是任何一个Linux设备驱动开发者入门时需要面对的挑战。除了知识、工具之外,往往还需要思路上的指导。本书不但帮助Linux设备驱动开发的初学者厘清必要的概念,还从具体的实例、设备驱动开发的指导原则循序渐进地引导读者渐入学习佳境。为了让读者能够达到Linux设备驱动开发的至臻境界,作者更是从软件工程的角度抽象出设备驱动开发的一般思想。毫无疑问,本书将成为读者学习Linux设备驱动开发过程中的一座“灯塔”。



试读样章:
Linux设备驱动开发详解:基于最新的Linux 4.0内核 第一章.pdf (4.38 MB, 下载次数: 544)

论坛徽章:
208
巨蟹座
日期:2013-09-02 09:16:36卯兔
日期:2013-09-02 20:53:59酉鸡
日期:2013-09-05 21:21:45戌狗
日期:2013-10-15 20:51:17寅虎
日期:2013-10-18 21:13:16白羊座
日期:2013-10-23 21:15:19午马
日期:2013-10-25 21:22:48技术图书徽章
日期:2013-11-01 09:11:32双鱼座
日期:2013-11-01 20:29:44丑牛
日期:2013-11-01 20:40:00卯兔
日期:2013-11-11 09:21:32酉鸡
日期:2013-12-04 19:56:39
发表于 2015-09-02 09:26 |显示全部楼层
其实内核开发和应用开发本质是并无差异
差别的开发的环境和处理的对象而已,有些事情只能在内核态做,或者有些事情内核态做更方便而已
只要需求和硬件一直在发展,内核/驱动开发也就一直发展中

论坛徽章:
0
发表于 2015-09-02 17:12 |显示全部楼层
等我熟悉2.6.28内核,就买这本书

论坛徽章:
7
IT运维版块每日发帖之星
日期:2015-08-29 06:20:00IT运维版块每日发帖之星
日期:2015-08-29 06:20:00平安夜徽章
日期:2015-12-26 00:06:30技术图书徽章
日期:2016-02-03 16:35:252016猴年福章徽章
日期:2016-02-18 15:30:34fulanqi
日期:2016-06-17 17:54:25C
日期:2016-10-25 16:08:32
发表于 2015-09-02 17:47 |显示全部楼层
其实计算机操作系统碰到的很多问题,在应用程序,甚至分布式系统里都经常会碰到。比如访问共享资源的锁,多个缓存和内存导致的一致性问题。所以内核的不断更新,我们首先要理解的是为什么要更新,仅仅是因为硬件变化?还是说确实有新的理论/体系/算法引入了。对于新硬件引入其实没什么,例行程序而已。而对于新的理论/体系/算法引入确实是需要驱动/内核开发人员认真学习了解的。

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
发表于 2015-09-02 20:06 来自手机 |显示全部楼层
从行业趋势的角度来讲,不支持linux的硬件都不容易被看好,因为win10做得不如8了,
相反linux安卓平台最近几年风水旺气的正盛。作为技术人员,一定要投资好自己的技术方向,然后修炼一番找家大公司安身才是中上之策

论坛徽章:
32
CU大牛徽章
日期:2013-05-20 10:45:13每日论坛发贴之星
日期:2015-09-07 06:20:00每日论坛发贴之星
日期:2015-09-07 06:20:00数据库技术版块每日发帖之星
日期:2015-12-13 06:20:0015-16赛季CBA联赛之江苏
日期:2016-03-03 11:56:13IT运维版块每日发帖之星
日期:2016-03-06 06:20:00fulanqi
日期:2016-06-17 17:54:25IT运维版块每日发帖之星
日期:2016-07-23 06:20:0015-16赛季CBA联赛之佛山
日期:2016-08-11 18:06:41JAVA
日期:2016-10-25 16:09:072017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:21
发表于 2015-09-04 13:26 |显示全部楼层
1、谈谈现阶段驱动开发碰到的问题或者疑惑?
真的遇到问题,还是找google帮忙
苦练爬墙本领

2、聊聊不断更新的Linux内核对驱动开发人员带来的影响,如何紧随发展步伐?
Linux内核发展确实非常快,目前已经发展到4.2版了。
对于一般的外设驱动开发,实际上变化并不大,通常新增的是GPU驱动、OpenGL加速、DRM驱动、新CPU驱动等等。
每次内核发新版本,还是应该把更新文档查看一下,确定是否需要跟着升级。

3、分享一下驱动开发人员如何不断更新和建立自己的知识体系!
跟踪Linux内核官网:https://www.kernel.org/
多看书
找同行交流

评分

参与人数 1可用积分 +2 收起 理由
crazyhadoop + 2 很给力!

查看全部评分

论坛徽章:
0
发表于 2015-09-04 14:03 |显示全部楼层
我这刚得到驱动的offer,还没入行呢。看到这个帖子,怎么感觉前途渺茫似的

论坛徽章:
19
处女座
日期:2014-07-18 14:50:5415-16赛季CBA联赛之北京
日期:2019-09-16 15:39:1415-16赛季CBA联赛之上海
日期:2019-09-15 15:29:0415-16赛季CBA联赛之山西
日期:2017-03-09 10:58:232017金鸡报晓
日期:2017-02-08 10:33:212017金鸡报晓
日期:2017-01-10 15:13:2915-16赛季CBA联赛之深圳
日期:2016-12-15 17:55:53C
日期:2016-10-25 16:00:1515-16赛季CBA联赛之新疆
日期:2016-07-21 14:02:0415-16赛季CBA联赛之江苏
日期:2016-06-30 12:15:04shanzhi
日期:2016-06-17 17:59:31平安夜徽章
日期:2015-12-26 00:06:30
发表于 2015-09-04 15:20 |显示全部楼层
回复 7# InodeMan

Linux驱动开发还是不错,主要看自己是否喜欢驱动开发工作。
   

论坛徽章:
4
IT运维版块每日发帖之星
日期:2015-08-04 06:20:00IT运维版块每日发帖之星
日期:2015-10-10 06:20:002015亚冠之阿尔艾因
日期:2015-11-08 10:27:01CU十四周年纪念徽章
日期:2020-11-05 14:10:23
发表于 2015-09-04 17:02 |显示全部楼层
做驱动开发还是很好的,对底层了解比较深的话,再改行做和底层相关的也很容易上手啊。

论坛徽章:
4
酉鸡
日期:2014-03-21 23:19:50狮子座
日期:2014-08-01 22:11:40酉鸡
日期:2015-01-10 21:31:442015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2015-09-05 21:47 |显示全部楼层
本帖最后由 chishanmingshen 于 2015-09-05 22:04 编辑

回复 1# crazyhadoop


1、谈谈现阶段驱动开发碰到的问题或者疑惑?
硬件层出无穷,驱动代码也跟着无穷无尽。驱动开发永远没有尽头?
以网卡为例,越来越多的智能流程加入硬件处理,从而使得驱动控制流程也复杂起来。
我觉得:
1)
种类和智能化导致的驱动代码臃肿起来。
2)kernel4.3删除ext3驱动代码可以说是一个好的榜样作用。

2、聊聊不断更新的Linux内核对驱动开发人员带来的影响,如何紧随发展步伐?
内核给驱动带来的变化,我觉得有:
1)框架的完善或变更,比如sysfs的引入。
内核要为这么多驱动提供一个统一的框架,确实不易。
对于驱动开发而言,能深入理解这些框架是有助于开发驱动模块的。
还是以sysfs为例,需要搞清楚其关键理念:
父容器(kobject里的kset指针)和父指针(kobject里的parent指针)的作用,以及各种具体的bus是如何同时担当device角色的。
2)一些接口改动。
不同版本的内核之间安装同一驱动总不是很顺畅,对于正式产品的升级测试来说需要更加仔细谨慎。
3)重要的内核机制变迁
比如近年引入的cfs进程调度机制,我之前写过总结:
CFS调度深入分析


3、分享一下驱动开发人员如何不断更新和建立自己的知识体系!
除了必要的驱动开发知识,还要学习内核、硬件的datasheet、内核相关基础设施(比如PCIe、sysfs、procfs等)。
学习方法无非是积累,无捷径。总之,需要搞懂的东西很多。。。

评分

参与人数 1可用积分 +2 收起 理由
crazyhadoop + 2 很给力!

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP