Clarity, grammar, title corrections.
Approved by: gjb (mentor)
This commit is contained in:
		
							parent
							
								
									e17c7b544f
								
							
						
					
					
						commit
						714ce759e2
					
				
				
				Notes:
				
					svn2git
				
				2020-12-08 03:00:23 +00:00 
				
			
			svn path=/head/; revision=38154
					 1 changed files with 19 additions and 19 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue