[comp.os.minix] "Brooklyn Bridge"

jr@amanue.UUCP (Jim Rosenberg) (07/06/87)

There are various commercial software packages for PC's out and about, of
which the one whose name comes to mind is Brooklyn Bridge, which can exchange
data between PC's using the **OFF THE SHELF** serial interfaces at rates in
the neighborhood of 115K bits per second.  (They tend to be marketed toward
folks trying to exchange data between 5.25" and 3.5" floppy formats, but are
not limited to that.)  I've never programmed a PC's peripheral chips down to
the bare metal, but I wonder if anyone in this group understands how this is
being done.  My understanding is that the baud rate generator on the 8250 (?)
is programmable, and by cranking it all the way down as far as the laws of
quantum mechanics will allow these high baud rates are achieved.  Brooklyn
Bridge, I believe, implements transparent access to floppies on the other
machine, and the speed is said to be not noticeably different from local
floppy access.

Now 115Kb is not exactly going to turn the head of someone who thinks a Sun
Workstation is under-powered, but it sure sounds intriguing in the context of
MINIX.  Andy's "remote file system run locally" just begs to be networked.
The idea that a networked version of MINIX could be run at small colleges
which have a bundle of PC's using only **ordinary serial ports** -- i.e. no
spending a few hundred bucks per PC for a network card -- is not only
consistent with the whole philosophy of the MINIX enterprise, it's downright
inviting!  So, my question:  Does anybody understand how Brooklyn Bridge and
these other programs are achieving these baud rates?  What is happening out
there in netland with networking and MINIX?  *When* (it certainly is a matter
of when, not if) MINIX becomes networked, what protocol should be used?
[Andy?  You "wrote the book" on networking ...]

Now a related question -- though this one involves spending considerably more
money than at most $35 for a Taiwanese generic cloneburger serial port board.
Several companies are making slave CPU cards for the PC bus.  Alloy is one
well-known company whose name springs to mind.  These things are being
marketed as a "LAN-in-a-box" type solutions to multiuser computing, but I
wonder if any of them are well enough documented to be used as a vehicle for
experimenting with a multi-processor version of MINIX.  An AT clone with 3
slave cards should be buyable for $5K or so, give or take.  This is not
exactly the kind of student budget fare that Andy had in mind with the
original release of MINIX, but for a computer science department it isn't all
that much money, and is one ton of a lot cheaper than a Sequent or Encore.
So:  does anybody have any experience with any of these slave cards?
Obviously to port MINIX to a multi-cpu environment the hardware must be
documented right down to the bare metal.  Some of these manufacturers might
consider such information proprietary, since they want you to use their
software to implement MessDOS networking.  But one can always hope ...
-- 
 Jim Rosenberg
     CIS: 71515,124                         decvax!idis! \
     WELL: jer                                   allegra! ---- pitt!amanue!jr
     BIX: jrosenberg                 seismo!cmcl2!cadre! /

egisin@orchid.UUCP (07/06/87)

In article <227@amanue.UUCP>, jr@amanue.UUCP (Jim Rosenberg) writes:
> There are various commercial software packages for PC's out and about, of
> which the one whose name comes to mind is Brooklyn Bridge, which can exchange
> data between PC's using the **OFF THE SHELF** serial interfaces at rates in
> the neighborhood of 115K bits per second.  (They tend to be marketed toward
> ...
> Now 115Kb is not exactly going to turn the head of someone who thinks a Sun
> Workstation is under-powered, but it sure sounds intriguing in the context of
> MINIX.  Andy's "remote file system run locally" just begs to be networked.

I think they do the high speed serial IO with interrupts disabled
and busy-polling.  This works fine under msdos where IO is busy-wait
and the networking and application are a single program.

This method of IO would not be feasible under Minix with
an interrupt driven serial driver.
(80 microsecond interrupt response? not with minix)

japplega@csm9a.UUCP (07/07/87)

I know the people who wrote the original LapLink (and are currently sueing
Traveling Software over the trademark) and a few weeks ago they showed me the
code.... it's amazingly simple to get 115,000 baud.... they directly write
to the 8250 and set a divisor latch at 1 and the hardware does the rest!
The real trick is the routine to write to the 8250... it is a pointer to
a byte of the file being transfered (which their Turbo Pascal program already
moved into heap space)... they output a byte the inc the pointer... it only
takes 8 cycles... oh yes they check the pointer against the end of the file...
and they counted the number of bytes when they loaded it... I don't think
it's practical for networking.... it requires all the CPU can give!!! and then
every packet would have to be preloaded into a memory location prior to sending


    Joe Applegate - Colorado School of Mines Computing Center
            {seismo, hplabs}!hao!isis!csm9a!japplega
                              or
 SYSOP @ M.O.M. AI BBS - (303) 273-3989 - 300/1200/2400 8-N-1 24 hrs.

       *** UNIX is a philosophy, not an operating system ***
 *** BUT it is a registered trademark of AT&T, so get off my back ***