网络管理员指南 -3.设置网络硬件 -1>设备,驱动器,诸如此类

/ns/wz/net/data/20020808022254.htm

网络管理员指南 -3.设置网络硬件 -1>设备,驱动器,诸如此类


本文出自:http://www.linpus.com.tw 作者: Andrew Anderson


直到现在,我们已经谈论了一下网络接口和 一般的TCP/IP版本,但是没有确切讲述当在核心中的“联网的代码”
存取一硬件时,发生什么。为这,我们必须谈一点关于接口和驱动器的概念。

首先,当然,自己有硬件,例如以太网板:这是一片 Epoxy ,在他们上有愚蠢的数字的大量微小的芯片,坐在你的 PC
的槽边。这是我们通常称为一台设备。

为你能使用以太网板,特殊的功能必须存在于你的核心中,它理解这台设备被存取的特别的方法。这些是所谓的设备
驱动器。例如,为在功能是很类似的以太网板的若干商标有设备驱动程序。他们作为“贝克尔系列驱动器”被知道,依照
他们的作者命名了,唐纳德・贝克。一个不同的例子是,D连接驱动器,他处理一个纳入一个并行端口的D连接的袖珍适配器。

但是,当我们说一个驱动器“处理”一台设备时,我们意味着什么?让我们回到在上面我们检验了的那个以太网板。驱动程
序必须能在某种程度上与外设的板上的逻辑进行交流:它必须发送命令和数据到板上,当板交付被收到了驱动程序中的任何
数据时。

图:驱动器,接口,和硬件之间的关系。

在 PC 机中,这个通讯通过被印射到在板上寄存器等等的 I/O-存储器的一个区域发生。所有核心发送到板上的命令
和数据必须通过这些寄存器。 I/O 存储器通常由给它的启动或基本地址被描述。以太网板的典型的基本地址是
0x300 ,或 0x360 。

通常,你不必须担心任何硬件问题,例如基本地址,因为核心在启动时间尝试检测一个板的地点。这被称为自动探测,
它意味着核心读若干记忆地点,并且比较被读的数据,查看某个以太网板是否被安装。然而,可能它不能自动地检测的以太
网板;这种情况有时是有的,便宜的以太网卡不相当于来自另外的制造商的标准板的克隆。另外,核心将在启动时间试着检测
一个以太网设备。如果你正在使用不止一个板,你必须明确地把这个板告诉核心。

你可能必须告诉核心的另外一个如此的参数大概是中断请求频道。当他们需要被照顾时,硬件部件通常打断核心,例如,
当数据到达了时,或一个特殊的条件发生时。在 PC 机中,中断可能发生在通过 15 标记了 0 , 1 ,和3一个15中断频道。
被分到一个硬件部件的中断号码被称为它的中断请求号码,或 IRQ 。

象章--中描述了的那样,核心通过一个所谓的接口存取一台设备。接口提供一个抽象的功能集合,它与越过硬件的所有类
型是一样,例如噶送或接收一个数据包。

接口借助于名字被认明。这些是在核心内部被定义了的名字,并且不是在 /dev 目录中的设备文件。典型的名字是
eth0 , eth1 ,等等,为以太网接口。到设备的接口的任务通常取决于设备在其中被设置的顺序;例如安装的第一个以太网板
将成为 eth0 ,下一个将是 eth1 ,等等。这条规则的一个例外是 SLIP 接口,它动态地被分配;即,无论何时一个 SLIP 连接被
建立,一个接口被分到连续的端口。

在图中被给出的图片试图显示硬件,驱动设备和接口之间的关系。

当启动时,核心显示它检测了什么设备,以及它安装了什么接口。下列是一幅典型的启动屏幕的一篇摘录:

这显示核心用启用的 TCP/IP 被编了,并且为 SLIP , CSLIP ,和PPP 的驱动程序包括了。下面的第3行说,一个D连接
袖珍的适配器被检测,并且作为接口 dl0 被安装了。如果你有以太网卡的一种不同的类型,核心将通常打印以 eth0 开始的行,
由检测的卡的类型列在后面了。如果你把一张以太网卡片安装了,但是看不见任何如此的信息,这意味着核心不能适当地检测你
的板。这在以后的节中被处理。