第 14 章 Newbus

写作:Jeroen Ruigrok van der Werven (asmodai)Hiten Pandya.
翻译:spellar @SMTH.
目录
14.1. 设备驱动程序
14.2. Newbus概览
14.3. Newbus API

特别感谢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>.