Clarity, grammar, title corrections.

Approved by:	gjb (mentor)
This commit is contained in:
Warren Block 2012-01-08 03:32:31 +00:00
parent e17c7b544f
commit 714ce759e2
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=38154

View file

@ -84,18 +84,18 @@
<indexterm><primary>block devices</primary></indexterm>
<para><emphasis>Block devices</emphasis> performed in way that
<para><emphasis>Block devices</emphasis> performed in a way that
used fixed size blocks [of data]. This type of driver
depended on the so called <emphasis>buffer cache</emphasis>,
which had the purpose to cache accessed blocks of data in a
dedicated part of the memory. Often this buffer cache was
depended on the so-called <emphasis>buffer cache</emphasis>,
which had cached accessed blocks of data in a
dedicated part of 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.</para>
</sect2>
<sect2>
<title>Character devices</title>
<title>Character Devices</title>
<indexterm><primary>character devices</primary></indexterm>
@ -119,7 +119,7 @@
introduction in FreeBSD 3.0 when the Alpha port was imported
into the source tree. It was not until 4.0 before it became the
default system to use for device drivers. Its goals are to
provide a more object oriented means of interconnecting the
provide a more object-oriented means of interconnecting the
various busses and devices which a host system provides to the
<emphasis>Operating System</emphasis>.</para>
@ -132,7 +132,7 @@
</itemizedlist>
<para>One of the most prominent changes is the migration from the
flat and ad-hoc system to a device tree lay-out.</para>
flat and ad-hoc system to a device tree layout.</para>
<para>At the top level resides the
<emphasis><quote>root</quote></emphasis> device which is the
@ -140,8 +140,8 @@
there is typically a single child of <quote>root</quote> which
has such things as <emphasis>host-to-PCI bridges</emphasis>,
etc. attached to it. For x86, this <quote>root</quote> device
is the <emphasis><quote>nexus</quote></emphasis> device and for
Alpha, various different different models of Alpha have
is the <emphasis><quote>nexus</quote></emphasis> device. For
Alpha, various different models of Alpha have
different top-level devices corresponding to the different
hardware chipsets, including <emphasis>lca</emphasis>,
<emphasis>apecs</emphasis>, <emphasis>cia</emphasis> and
@ -152,12 +152,12 @@
represented by a Newbus device. Any device in the system can
have children; a device which has children is often called a
<emphasis><quote>bus</quote></emphasis>. Examples of common
busses in the system are ISA and PCI which manage lists of
busses in the system are ISA and PCI, which manage lists of
devices attached to ISA and PCI busses respectively.</para>
<para>Often, a connection between different kinds of bus is
represented by a <emphasis><quote>bridge</quote></emphasis>
device which normally has one child for the attached bus. An
device, which normally has one child for the attached bus. An
example of this is a <emphasis>PCI-to-PCI bridge</emphasis>
which is represented by a device
<emphasis><devicename>pcibN</devicename></emphasis> on the
@ -233,7 +233,7 @@
<para>The interfaces are described by an interface definition
language similar to the language used to define vnode operations
for file systems. The interface would be stored in a methods
file (which would normally named
file (which would normally be named
<filename>foo_if.m</filename>).</para>
<example>
@ -326,7 +326,7 @@
of this document.</para>
<sect2>
<title>Important locations in the source hierarchy</title>
<title>Important Locations in the Source Hierarchy</title>
<para><filename>src/sys/[arch]/[arch]</filename> - Kernel code
for a specific machine architecture resides in this directory.
@ -347,12 +347,12 @@
</sect2>
<sect2>
<title>Important structures and type definitions</title>
<title>Important Structures and Type Definitions</title>
<para><literal>devclass_t</literal> - This is a type definition
of a pointer to a <literal>struct devclass</literal>.</para>
<para><literal>device_method_t</literal> - This is same as
<para><literal>device_method_t</literal> - This is the same as
<literal>kobj_method_t</literal> (see
<filename>src/sys/kobj.h</filename>).</para>
@ -364,13 +364,13 @@
implementation details.</para>
<para><literal>driver_t</literal> - This is a type definition
which, references <literal>struct driver</literal>. The
which references <literal>struct driver</literal>. The
<literal>driver</literal> struct is a class of the
<literal>device</literal> kernel object; it also holds data
private to for the driver.</para>
private to the driver.</para>
<figure>
<title><emphasis>driver_t</emphasis> implementation</title>
<title><emphasis>driver_t</emphasis> Implementation</title>
<programlisting> struct driver {
KOBJ_CLASS_FIELDS;
@ -385,7 +385,7 @@
<figure>
<title>Device
states<emphasis>device_state_t</emphasis></title>
States <emphasis>device_state_t</emphasis></title>
<programlisting> /*
* src/sys/sys/bus.h