[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: how are multiple tty's implemented in the simulator


Your right, the kernel (actually Monitor in RSTS terminology) on the delta
web site was built for only one KL-11.  The "?Please say HELLO" message is
printed by the simulator once it has set everything up and is ready to
hand-off control to RSTS.  So the behavior you're seeing is exactly what
you'd see on a real PDP-11 with multiple KL-11s and a RSTS kernel that was
generated for only one KL-11.  Terminals other than the console would be
completely ignored by RSTS and would not echo input or otherwise respond.

-----Original Message-----
From: Eric Thayer <eht@cs.cmu.edu>
To: 'rsts@mcws.net' <rsts@mcws.net>
Date: Tuesday, July 21, 1998 9:23 PM
Subject: RE: how are multiple tty's implemented in the simulator

>I guess you then built/had a kernel w/ multiple KL support.  I tried using
>the modified simulator w/ the kernel in the distribution from the Delta
>web site and was only able to attach to KB0.  The other KB's worked
>in the sense that the simulator printed the ?Please say HELLO message
>and disconnected them on control/D, but that was all they did.
>-----Original Message-----
>From: Gary L. Luckenbaugh [SMTP:garyll@ibm.net]
>Sent: Monday, 20 July, 1998 20:57
>To: rsts@mcws.net
>Subject: Re: how are multiple tty's implemented in the simulator
>I extended the simulator so that it would simulate multiple KL-11 devices.
>The simulator supported a single KL-11 for KB0:.  I took the original code
>and modified it based on information I got out of an old PDP-11 Peripherals
>Handbook that described the register layout and interrupt vector locations
>for a block of 16 KL-11s.
>When a user logs into the "delta" id it runs a tiny front-end program that
>sends a message to the simulator which is running nohuped in the
>The message contains the PID and tty name of the user's process.  The
>process then goes into an indefinite sleep.  When the simulator gets the
>message it opens the user's tty and puts it into raw mode.  The simulator
>then polls the tty every 10000 or so simulated instructions and generates a
>simulated interrupt if a key is pressed.  When the simulator sees the
>Control/D it kills the process with the original PID.  This causes the
>front-end to die which returns to bash which logs the user off.
>The simulator basically runs compute bound at all times.  For this reason,
>block the simulator when no one is attached.  This is why the clock stops
>when no one is attached.  The simulated clock also doesn't keep very
>accurate time because it generates a simulated interrupt every N
>instructions instead of based on real-time like a real PDP-11.
>-----Original Message-----
>From: Eric Thayer <eht@cs.cmu.edu>
>To: rsts@mcws.net <rsts@mcws.net>
>Date: Monday, July 20, 1998 7:57 AM
>Subject: how are multiple tty's implemented in the simulator
>>Just curious.