[翻译] Section 5.2. Device Registration and Initialization 设备注册与初始化

网络设备必须被内核识别,并且与正确的驱动相关联才能正确的使用。驱动存储了驱动设备以及和其他设备交互的所有信息。注册和初始化设备的任务一部分由内核完成,另一部分有驱动完成。回顾一下初始化阶段做了哪些事:

1、硬件初始化

这部分是驱动配合通用总线完成的(USB PCI etc..)。驱动程序会配置IO和IRQ使自己可以与内核交互。

2、软件初始化

在设备使用前,会根据启动和配置了哪些网络协议,以及用户参数(比如IP地址)去配置。

3、特征初始化

Linux内核有很多联网选项,其中有一些是设备前必须使用的配置选项。所以设备启动流程必须要注意到。

在第二章中,有介绍到net_device数据结构,其中有一系列的函数指针,内核通过使用它们来与设备交互。这部分初始化一部分取决于设备类型(Ethernet etc..)一部分取决于设备的制造。考虑到Ethernet的普及,所以本书主要讨论以太网设备的初始化(其他设备大同小异)。第八章将更详细地介绍设备驱动程序如何去注册。

猜你喜欢

转载自blog.csdn.net/qq_28351465/article/details/81974131
今日推荐