[Simh] Timing dependencies in operating systems

Timothe Litt litt at ieee.org
Fri May 22 21:55:49 EDT 2015


On 22-May-15 16:52, Bob Supnik wrote:
> The RSX TPC issue is just one example of numerous timing dependencies
> that have cropped up over the years. There's a paper on the SimH web
> site about some of my favorites ("Bug, Feature, or Code Rot?"). If I
> can ever find Tim Shoppa and get access to the web site again, I'll
> update the paper.
>
> There's no real solution short of introducing accurate timing and then
> modeling every device with real world delays. I remember how real DEC
> machines worked -- slowly -- so I'm not much of a fan of that idea.
> Further, DEC IO devices were attached to systems with different
> performance levels. A delay that's right for the 0.6mip J11 may be
> dead wrong for the 2.5mp CVAX and vice-versa. (Indeed, between VAX
> NetBSD, VAX OpenBSD, and RSX, there is no single value for the RQ's
> queuing delay that will work properly.)
>
> As particular issues crop up, minimum delays are adjusted to
> accommodate as much of the software base as possible, but no solution
> that allows the simulators and their IO to run faster than real time
> will be perfect.
>
We can probably find another site to host the papers - which could
become a mirror if Tim ever reappears.

For their time, DEC machines seemed speedy enough - we're quite spoiled
now :-)

But of course you're right that in general delays are a morass with no
perfect solution.  This time we were lucky.

Perhaps one way to capture the knowledge of what works would be to
create init command files named for each platform / os.
They could be populated with the right set/deposit commands to setup
delays for that platform.  And then users wouldn't have to do their own
research.  e.g.

 vax_netbsd.cmd, vax_openbsd.cmd and pdp11_rsx.cmd could each have the
right RQ delay for that platform.

The only complication (besides finding the values!) is making sure that
the commands work or fail silently in any configuration of enabled devices.

Ideally, a user init file looks like:
  @pdp11_rsx ! Distributed with SimH & updated as events warrant
  (configure memory/devices to taste)
  boot xx

For the more complex cases, one can nest files, so
   @j11_rsx.cmd could call @pdp11_rsx.cmd, then set the J11-specific delays

Of course, where the defaults can be tuned, that's preferable. 

At least such a library of init files would record what's known, and
provide a somewhat modular way to update the users.

FWIW.  Better ideas are welcome.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4942 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20150522/7725f65b/attachment.bin>


More information about the Simh mailing list