摘要: 设备注册于设备除名 设备注册与设备除名一般有register_netdev和unregister_netdev完成。这两个是包裹函数,负责上锁,真正起作用的是其调用的register_netdevice和unregister_netdevice。参见:net/core/dev.c。 下图描述了设... 阅读全文
posted @ 2015-02-08 11:00 Windeal 阅读(2556) 评论(0) 推荐(0) 编辑
摘要: 副标题:设备注册相关的基本结构的原理框架设备注册与删除时间 设备在下列两种情况下进行注册:1)加载NIC驱动时2)插入热插拔设备时 这里NIC与热插拔设备有些不同。a.对于非热插拔NIC来说,NIC的注册是伴随着其驱动的发生的,而NIC可以内建到内核,也可以作为模块载入,如果内建入内核,则NIC设备... 阅读全文
posted @ 2015-02-06 11:38 Windeal 阅读(1503) 评论(0) 推荐(0) 编辑
摘要: 引导期间的内核选项 Linux允许用户把内核配置选项传给引导记录,再有引导记录传给内核,以便对内核进行调整。 start_kernel中调用两次parse_args,用于引导期间配置用户输入数据。 parse_param是一个函数,用于解析输入的内核配置选项的参数字符串。字符串的格式为:name... 阅读全文
posted @ 2015-02-05 16:02 Windeal 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 概述 内核的PCI子系统(即PCI层)提供了不同设备一些通用的功能,以便简化各种设备驱动程序。 PCI层重要结构体如下:pci_device_id 设备标识,根据PCI标志定义的ID,而不是Linux本地的。pci_dev 类似于网络设备的net_device。每个PCI会被分配一个net_... 阅读全文
posted @ 2015-02-05 14:17 Windeal 阅读(1092) 评论(0) 推荐(0) 编辑
摘要: 概述 内核的初始化过程过程中,与网络相关的工作如下所示: 内核引导时执行start_kernel,start_kernel结束之前会调用rest_init,rest_init初始化内核线程init(在Linux3-12中为kernel_init)。asmlinkage void __init st... 阅读全文
posted @ 2015-02-03 14:25 Windeal 阅读(1139) 评论(0) 推荐(0) 编辑
摘要: 概述: 内核空间与用户空间经常需要进行交互。举个例子:当用户空间使用一些配置命令如ifconfig或route时,内核处理程序就要响应这些处理请求。 用户空间与内核有多种交互方式,最常用的有以下四种:通过/proc虚拟文件系统,通过/sys虚拟文件系统,通过ioctl系统调用,通过Netlink... 阅读全文
posted @ 2015-01-30 14:29 Windeal 阅读(951) 评论(0) 推荐(0) 编辑
摘要: 为什么要有内核通知表链: Linux由多个相互依赖的子系统组成。其中一些子系统可能需要对其他子系统的一些事件感兴趣。这样子系统之间需要一些通信机制来实现这一功能。 在接触Notification Chain之前,我们可能想到通过轮询来实现,事件发生时,子系统轮询所有其他的子系统,看看有没有对这一事... 阅读全文
posted @ 2015-01-29 14:26 Windeal 阅读(604) 评论(0) 推荐(0) 编辑
摘要: 转载自:点击打开链接月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和... 阅读全文
posted @ 2015-01-05 09:43 Windeal 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 列表最早来自stackoverflow上的一个问题:List of freely available programming books现在在github上进行维护:free-programming-booksList of Free Programming BooksThis list initi... 阅读全文
posted @ 2015-01-05 09:28 Windeal 阅读(2442) 评论(0) 推荐(0) 编辑
摘要: 转载自:网桥网桥 网桥(Bridge)像一个聪明的中继器。中继器从一个网络电缆里接收信号, 放大它们,将其送入下一个电缆。相比较而言,网桥对从关卡上传下来的信息更敏锐一些。 网桥将两个相似的网络连接起来,并对网络数据的流通进行管理。它工作于数据链路层,不但能扩展网络的距离或范围,而且可提高网络的... 阅读全文
posted @ 2014-12-25 10:24 Windeal 阅读(573) 评论(0) 推荐(0) 编辑