Weekly Classic Computer Trivia Question (20150112)

Johnny Billquist bqt at update.uu.se
Mon Jan 12 22:09:14 CST 2015


On 2015-01-13 04:20, Rick Murphy wrote:
> At 09:36 PM 1/12/2015, Johnny Billquist wrote:
>> On 2015-01-13 03:19, Rick Murphy wrote:
>>> At 01:17 PM 1/12/2015, Johnny Billquist wrote:
>>>> And of course, you also have things like OS/8, which runs with
>>>> interrupts off at all times, to which the answer to the original
>>>> question would be "OS/8". :-)
>>>
>>> The OS/8 FORTRAN runtime (FRTS) runs with interrupts enabled. OS/8 in
>>> general doesn't care if interrupts are on, which is how OS/78 (or was it
>>> OS/278?) symbionts worked. So, you can't blame OS/8 for getting into the
>>> way. There's nothing typically in OS/8 that requires interrupts to be
>>> disabled, but it's true that most of OS/8 doesn't do anything to handle
>>> interrrupts.
>>
>> Well, not entirely true. Yes, FRTS runs with interrupts enabled. But
>> it disables them before jumping into OS/8, unless I remember wrong.
>
> Well, not entirely relevant. You recommended that I 'Read the thread'
> but I did. I'm responding to the misinformed statements that OS/8 always
> runs with interrupts disabled, which is false. FRTS basically requires
> that I/O drivers be set up before execution starts, so no OS/8 I/O
> handlers are called once the runtime gets running (assuming just FORTRAN
> source.)

This becomes nit-picking. But since it can be fun, and maybe someone 
else might find it interesting...

You could argue that once a program starts, it has full control of the 
machine, and can of course turn on and off interrupts as much as it 
wants to, even though it was started from OS/8. Of course OS/8 don't 
mind, since OS/8 is not even aware, or active, or involved.

OS/8 only comes into the picture if you actually call OS/8. At which 
point the question becomes relevant. Otherwise you could regard OS/8 
just as a boot loader.

> ADVENT does dynamic unit assignment, and wraps OS/8 USR calls to
> disable/enable interrupts.

Right. So, one of the situations where OS/8 gets called, and then 
interrupts must be off.

>> It's been a very long time since I mucked around inside FRTS...
>
> It's been a few months or so for me :) And yes, OS/8 drivers can be
> called with interrupts enabled.

Some... Try it with the TTY driver if you want some fun. :-)

>>> Interrupt latency? Either you're looking for the length of the "skip
>>> chain", or interrupt blockers like CIF instructions.
>>
>> Continue reading the thread. Seems he's looking for the hardware
>> response to the raising of the interrupt pin on the CPU, and I assume
>> under the condition that interrupts are enabled.
>
> I've read the thread, which is why I brought up the CIF stall, since
> nobody else has mentioned it.
>
> Maybe that's not what's being asked here, but if you're asking what can
> cause latency with interrupts enabled once a device generates an
> interrupt, the fact that CIF instructions delay interrupts until the
> next JMP instruction seems to be what's being asked here.

La la.... Sorry. I got stuck on the skip chain, and didn't properly read 
your next idea.

Of course! CIF can block an interrupt indefinitely! Nice one!
I totally forgot that one. That is the best suggestion I've seen so far.

	Johnny

-- 
Johnny Billquist                  || "I'm on a bus
                                   ||  on a psychedelic trip
email: bqt at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol


More information about the cctalk mailing list