第14章  Newbus

目录
14.1 设备驱动程序
14.2 Newbus概览
14.3 Newbus API
写作: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版本以及后续版本中, 块设备和字符设备的区别变得不存在了。

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

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