vandys@Lindy.UUCP (04/30/87)
I have an RS-232 driver in the works, and will ship it out to all
of you as soon as it's tidied up and well-tested. Unfortunately, I
am going on vacation for two weeks, so let's call it three weeks.
A couple notes about RS-232 on MINIX:
1. The keyboard input routines for MINIX have the right idea, but the
screen output routines have the *wrong* idea. For fun, try control-S
'ing your console output while a compile runs in background. Notice
how your compile stops. TTY output is not correctly designed for
asynchronous I/O.
2. Device-dependent/device-independent routines are not correctly
seperated. The most flagrant violation is echo(), which directly
calls out_char() and flush(). In a later release I will split out
the stuff into three files: independent, console, and RS-232.
3. do_read() correctly handles the asynchronicity of requests (in the
book, lines 3792-3795), but do_write() does not.
Oh, well. It's always been my experience that TTY drivers are the
hardest thing to get right in a new OS (or even a new port of an OS).
The decision to not support RS-232 on first release, however, let the
TTY driver design stray a bit far; hopefully the next edition can correct
this.
Andrew Valencia
vandys@lindy.stanford.edu
br.ajv@rlg.BITNET