It???s not so much that they don???t mix, it???s not
quite the same. Some
coprocessor ideas work really well into the Unix I/O model, others don't.
Raw disk and tape I/O ala a PDP11 or VAX for instance is not easy on an
IBM channel controller or a CDC PPU.
On Mon, Nov 20, 2017 at 6:45 PM Larry McVoy <lm(a)mcvoy.com> wrote:
On Mon, Nov 20, 2017 at 06:43:28PM -0500, Ron
Natalie wrote:
I get that PDP-11 and VAX used memory mapped I/O
but was that somehow
exposed above the device driver layer? If so, I missed that,
because I
had
no conceptual or technical problem with talking
to an I/O
channel, it was pretty easy. And I suck at
writing drivers.
There's nothing that restricts a device driver to memory mapped I/O.
You
do what ever you have to do to initiate the I/O.
Even the x86's
originally
used special instructions to start the I/O
(in/out). The DENELCOR HEP
supercomputer (we did this port around 1983) we had to bounce I/O
requests
off a separate I/O processor different from where
the kernel was running.
Similar constucts were used on other machines.
Yeah, that's what I thought. But other people were saying that I/O
processors and Unix didn't mix. I don't get that, seems like whatever
the model is is hidden under the driver, that's the whole point of the
driver design is it not?