> > A more classical Unix has block and char devices (the first can only
> > write blocks of data, often in a random seek manner, the latter are
> > more like streams of data).
>
> Umm, Unix block devices can write arbitrary bytes of data. Because the
> block device access is buffered, the kernel is able to deal with the
> underlying block structure entirely transparently to the application.
> Raw IO is restricted to entire blocks, however, since it does not have
> the buffer cache to assist it.
I remember from working on Unix over 10 years ago, that block devices
required you write multiples of whole blocks, and would otherwise
return "EINVAL" if you tried to write a partial block or tried to seek
to a non-multiple of the blocksize.
Anyway, Linux allows you to write smaller portions since quite a
while...
Roger.
-- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 ** *-- BitWizard writes Linux device drivers for any device you may have! --* "I didn't say it was your fault. I said I was going to blame it on you."- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/