第14章 Newbus

目录
第14.1节 设备驱动程序
第14.2节 Newbus概览
第14.3节 Newbus API
作者Jeroen Ruigrok van der Werven (asmodai) 和 Hiten Pandya.

特别感谢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版本以及后续版本中, 块设备和字符设备的区别变得不存在了。

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

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