第 9 章 编写 FreeBSD 设备驱动程序

写作:Murray Stokely.
基础性手册intro(4):Jörg Wunsch.
翻译:.
目录
9.1. 简介
9.2. 动态内核链接工具──KLD
9.3. 访问设备驱动程序
9.4. 字符设备
9.5. 块设备(消亡中)
9.6. 网络设备驱动程序

9.1. 简介

本章简要介绍了如何为FreeBSD编写设备驱动程序。术语设备在 这儿的上下文中多用于指代系统中硬件相关的东西,如磁盘,打印机, 图形显式器及其键盘。设备驱动程序是操作系统中用于控制特定设备的 软件组件。也有所谓的伪设备,即设备驱动程序用软件模拟设备的行为, 而没有特定的底层硬件。设备驱动程序可以被静态地编译进系统,或者 通过动态内核链接工具‘kld’在需要时加载。

UNIX®操作系统中的大多数设备都是通过设备节点来访问的,有时也 被称为特殊文件。这些文件在文件系统的层次结构中通常位于 /dev目录下。在FreeBSD 5.0-RELEASE以前的 发行版中, 对devfs(5)的支持还没有被集成到FreeBSD中,每个设备 节点必须要静态创建,并且独立于相关设备驱动程序的存在。系统中大 多数设备节点是通过运行MAKEDEV创建的。

设备驱动程序可以粗略地分为两类,字符和网络设备驱动程序。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.