|
|
|
Back to Index
|
Chapter 18 Newbus
Written by Jeroen Ruigrok van der
Werven (asmodai) and Hiten Pandya.
Special thanks to Matthew N. Dodd, Warner
Losh, Bill Paul, Doug Rabson, Mike Smith, Peter Wemm and Scott Long.
This chapter explains the Newbus device framework in detail.
A device driver is a software component which provides the interface between the
kernel's generic view of a peripheral (e.g. disk, network adapter) and the actual
implementation of the peripheral. The device
driver interface (DDI) is the defined interface between the kernel and the
device driver component.
There used to be days in UNIX®, and thus FreeBSD,
in which there were four types of devices defined:
-
block device drivers
-
character device drivers
-
network device drivers
-
pseudo-device drivers
Block devices performed in way
that used fixed size blocks [of data]. This type of driver depended on the so called
buffer cache, which had the purpose
to cache accessed blocks of data in a dedicated part of the memory. Often this buffer
cache was based on write-behind, which meant that when data was modified in memory it got
synced to disk whenever the system did its periodical disk flushing, thus optimizing
writes.
However, in the versions of FreeBSD 4.0 and onward the distinction between block and
character devices became non-existent.
|
|
|
|
© 2002-2004
Active-Venture.com
Website Hosting
Service
|
| |
|
Disclaimer: This
documentation is provided only for the benefits of our website hosting customers.
For authoritative source of the documentation, please refer to http://www.freebsd.org
|
|
|