FreeBSD 系统结构手册
上一页 |  | 下一页

# 第14章 　Newbus

写作：Jeroen Ruigrok van der Werven (asmodai) 和 Hiten Pandya. 翻译：spellar @SMTH.

特别感谢Matthew N. Dodd, Warner Losh, Bill Paul, Doug Rabson, Mike Smith, Peter Wemm and Scott Long.

本章详细解释了Newbus设备框架。

# 14.1 设备驱动程序

## 14.1.1 设备驱动程序的目的

设备驱动程序是软件组件，它在内核关于外围设备（例如，磁盘、网络 适配卡）的通用视图和外围设备的实际实现之间提供了接口。 设备驱动程序接口(DDI)是内核与设备驱动程序组件 之间定义的接口。

## 14.1.2 设备驱动程序的类型

在UNIX®那个时代，FreeBSD也从中延续而来，定义了四种类型的 设备：

- 块设备驱动程序

- 字符设备驱动程序

- 网络设备驱动程序

- 伪设备驱动程序

块设备以使用固定大小的[数据]块的方式运行。 这种类型的驱动程序依赖所谓的 缓冲区缓存(buffer cache)，其目的 是在内存中的专用区域缓存访问过的数据块。这种缓冲区缓存常常基于后台写 (write-behind)，这意味着数据在内存中被修改后，当系统进行其周期性 磁盘刷新时才会被同步到磁盘，从而优化写操作。

## 14.1.3 字符设备

然而，在FreeBSD 4.0版本以及后续版本中， 块设备和字符设备的区别变得不存在了。

上一页 | 起始页 | 下一页
USB驱动程序的协议信息 | 上一级 | Newbus概览

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

如果对于FreeBSD有问题，请先阅读文档，如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.