免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: MagicBoy2010
打印 上一主题 下一主题

《深入Linux设备驱动程序内核机制》第1章 内核模块 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2012-02-08 12:49 |只看该作者
讲module讲到 LKM的实现, 太深入了,感觉 不适合写在书里头


书里头写写code就行了,顶多再写写driver core, pci layer神马的

=======================================
其实当初写ELF那部分我也蛮矛盾的,后来还是写了一些,因为 1. 内核加载跟Linux可执行程序加载有相似之处,里面有些东西还是很有趣的 2. 那章后面有些内容跟ELF有依赖。当时写作时对内核源码的取舍一直让我很头疼,比如内存分配那一章,如果只是写各种内存分配函数的接口说明,那么跟市面上绝大数教人如何写驱动程序就差不多了,但是如果往深了去,内存管理在内核代码中是相当复杂的一个模块,取舍比技术本身还困难。当初编辑建议在前面加这么一两章的内容做个缓冲,我没有采用,因为跟书名对不上。


   

论坛徽章:
0
12 [报告]
发表于 2012-02-08 12:52 |只看该作者
ls 比较有发言权,这部分和HACK 2进制有关。感觉字体是不是太了。每面行数好少。
觉得深如理解LINUX网络那本书的字体行数比较合理

============================
这书我也才刚拿到,开本还是很大的。字体不是很大,应该比样章的要小。


   

论坛徽章:
0
13 [报告]
发表于 2012-02-08 12:56 |只看该作者
将程序直译成语言不是一个好方法。
写书当多写思路,框架,背景知识

==============================
我长期游荡于惨淡的编码第一线,应该说更知道哪些东西容易给我们程序员造成困惑。所以它会包含我自己的一些观点,或者心得,以及一些介绍为什么代码是目前这个样子。


   

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
14 [报告]
发表于 2012-02-08 14:26 |只看该作者
回复 13# MagicBoy2010


    书没有认真看,不知道是不是看漏了。
就我说的意思举个例子:
第14页,module_state的3个状态。
为什么需要3个状态。状态迁移和在各个环境中的同步是怎么样的?如果是有状态的,那么必然受并发访问,否则完全没必要。
哪些并发的环境会影响?我后面没找到讲这方面的。

论坛徽章:
0
15 [报告]
发表于 2012-02-08 14:45 |只看该作者
书没有认真看,不知道是不是看漏了。
就我说的意思举个例子:
第14页,module_state的3个状态。
为什么需要3个状态。状态迁移和在各个环境中的同步是怎么样的?如果是有状态的,那么必然受并发访问,否则完全没必要。
哪些并发的环境会影响?我后面没找到讲这方面的。

========================================
没记错的话,你那个悬赏还没结案呢,呵呵。 关于模块的状态,主要是给其他外部组件对模块调试监控用,其实在本章后续的内核通知链部分你会看到它的用处。有状态不意味着必然受并发访问,事实上虽然加载模块大部分时间是在系统调用上下文,但是mod作为一个局部变量,没有必要对其成员做并发保护。


   

论坛徽章:
0
16 [报告]
发表于 2012-02-08 14:52 |只看该作者
内核模块notify chain部分是有应用源码的,不过是在我大本营的网站上。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
17 [报告]
发表于 2012-02-08 14:57 |只看该作者
回复 15# MagicBoy2010


    对。没结。一个死机问题,死机时间并不确定,但也算经常。没有任何打印信息。只能肯定中断可能关闭了。printk确实能在中断关闭的情况在我的串口把信息发出来。
这我就不理解了。连printk都不行。难道printk使用的内存的地址被改写了?或者发生了一个double 异常?单处理器下应该没有什么关中断下的死锁。除非关中断后有什么无限循环。

论坛徽章:
0
18 [报告]
发表于 2012-02-08 14:58 |只看该作者
楼主好像还是猎头

论坛徽章:
0
19 [报告]
发表于 2012-02-08 15:00 |只看该作者
对。没结。一个死机问题,死机时间并不确定,但也算经常。没有任何打印信息。只能肯定中断可能关闭了。printk确实能在中断关闭的情况在我的串口把信息发出来。
这我就不理解了。连printk都不行。难道printk使用的内存的地址被改写了?或者发生了一个double 异常?单处理器下应该没有什么关中断下的死锁。除非关中断后有什么无限循环。、

==========================
呵呵,头大啊。我没废话,都说了实际的,你怎么不给我分啊,你又没有让我帮你把问题解决掉啊。你看我现在还是白手起家呢。。。。


   

论坛徽章:
0
20 [报告]
发表于 2012-02-08 15:11 |只看该作者
楼主好像还是猎头

==================
我第一眼看成:楼主好像还是猪头。后来看出来是猎头,我不是猎头,内部推荐的怎么可能是猎头。猎头推荐一个人银子比内推的bonus大多了去了。。。


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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP