Subject: Device driver text with source.
Date: Sun, 12 Jan 92 17:56:29 EST
From: "Thomas E. Kunselman" <VAATEK@UKCC.uky.edu>
To: linux-activists@joker.cs.hut.fi

I was reading misc.books.technical and thought someone on here might be
interested in this.  I'm a new subscriber, so hope this hasn't been
posted before.


Writing UNIX Device Drivers
By George Pajari
(c) 1992
Published by Addison-Wesley
ISBN 0-201-52374-4
323 pages, Paperback
$32.95


This book provides application programmers with definitive
information on writing device drivers for the UNIX operating
system. It explains, through working examples, the issues
related to the design and implementation of these important
components of applications programs.

Written by an acknowledged expert, the book uses full source
code listings of real devices to explain the underlying concepts.

Complete source code is provided for 12 drivers, including:
        - block drivers for a SCSI disk and a line printer
        - a character driver for an intelligent serial I/O device
        - a streams driver for a token-ring card

Covering System V Releases 3 and 4, the book provides essential
practical advice for all UNIX applications programmers.

--
Quantum Books               | A Technical and Professional Bookstore
----------------------------+------------------------------------------
Cambridge: 617-494-5042     | E-Mail:            quanbook@world.std.com
Philadelphia: 215-222-0611  | Mailing List:      quanlist@world.std.com

-------------------------------------------------------------------------------
Thomas E. Kunselman                   |    INTERNET: VAATEK@UKCC.UKY.EDU
Information Specialist                |      BITNET: VAATEK@UKCC
Office of the Assistant Chancellor    |
#4 Administration Building            |
University of Kentucky                |
Lexington, KY 40506-0032              |
Phone:(606) 257-1633                  |
-------------------------------------------------------------------------------

Subject: Re: Device driver text with source.
Date: Mon, 13 Jan 1992 01:34:24 +0200
From: Linus Benedict Torvalds <torvalds@cc.helsinki.fi>
In-Reply-To: "Thomas E. Kunselman"'s message as of Jan 12, 17:56
To: "Thomas E. Kunselman" <VAATEK@UKCC.uky.edu>,

"Thomas E. Kunselman": "Device driver text with source." (Jan 12, 17:56):
> I was reading misc.books.technical and thought someone on here might be
> interested in this.  I'm a new subscriber, so hope this hasn't been
> posted before.
> 
> Writing UNIX Device Drivers
> By George Pajari [deleted]

A small word of warnig: linux looks like a unix, but I implemented it
from scratch, and with very little litterature on how things "should" be
done.  In fact the only things I knew were how the interface should
appear to the user: the result is not the same as either minix, sysv or
bsd when it comes to the kernel innards.  Some of the choises I made
worked out well, some not so well.  So far nothing has been a total
disaster: most things have been relatively easily adaptible to the linux
kernel (demand-loading and paging comes to mind: they were essentially
painless to do for linux).

This doesn't mean that this book wouldn't be very practical (it probably
is), but it does mean that you cannot take the code and use it directly
for linux.  Of course the underlying algorithm may well work splendidly. 

The three books I had as references were:

"Maurice J Bach: The design of the unix operating system". This is a
nice general text, and has some simple algorithms for some things.
Recommended.

"Tanenbaum: Operating Systems, Design and Implementation". Hmm. I didn't
use this book much for the actual implementation (other than getting the
minix filesystem design out of it), but unless you understand the
principles ast writes about, unix kernel hacking is difficult at best.

"Crawford & Gelsinger: Programming the 80386". What can I say. If you
want to program the 386-specific stuff, this is a must.

		Linus