特别感谢Matthew N. Dodd, Warner Losh, Bill Paul, Doug Rabson, Mike Smith, Peter Wemm and Scott Long.
本章详细解释了Newbus设备框架。
设备驱动程序是软件组件,它在内核关于外围设备(例如,磁盘、网络 适配卡)的通用视图和外围设备的实际实现之间提供了接口。 设备驱动程序接口(DDI)是内核与设备驱动程序组件 之间定义的接口。
在UNIX®那个时代,FreeBSD也从中延续而来,定义了四种类型的 设备:
块设备驱动程序
字符设备驱动程序
网络设备驱动程序
伪设备驱动程序
块设备以使用固定大小的[数据]块的方式运行。 这种类型的驱动程序依赖所谓的 缓冲区缓存(buffer cache),其目的 是在内存中的专用区域缓存访问过的数据块。这种缓冲区缓存常常基于后台写 (write-behind),这意味着数据在内存中被修改后,当系统进行其周期性 磁盘刷新时才会被同步到磁盘,从而优化写操作。
然而,在FreeBSD 4.0版本以及后续版本中, 块设备和字符设备的区别变得不存在了。
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.