> On Mar 17, 2023, at 12:24 PM, Lars Brinkhoff <l...@nocrew.org> wrote:
> 
> Paul Koning wrote:
>> I noticed the section on deferred interrupts, which mentions Cutler
>> and "fork" on RSX.  It doesn't mention the similar mechanism, also
>> called fork, in RT-11.
> 
> And, pray tell, what do these "fork" mean?
> 
> I'm curious since Unix has fork as a verb, whereas Tenex has it as a
> noun.  Presumably they both got it from the Berkeley 930 timesharing
> system, so maybe something got lost in translation on the way to the
> East coast.  It would be intresting to compare against the meaning in
> RSX (11 not 15, I guess) and RT-11.

The paper mentions it: "fork routines" which I think Linux calls "bottom half". 
 These are functions executed as a consequence of an interrupt, but from a 
queue and not with interrupts masked off.  The idea is that an RTOS doesn't 
want to block interrupts more than the minimum necessary, so operating systems 
like RT11 and RSX in their interrupt handler capture the necessary hardware 
state in memory, then queue a fork routine to do the real work later after 
interrupts have once again been enabled.  This goes by way of what RT11 
originally called a "fork queue" but was told to rename to "fork list" :-)

Some other operating systems, like RSTS, have some amount of deferred 
processing but tend to do a lot, often all, the interrupt handling work at 
interrupt level.  That's ok for a timesharing system, but you wouldn't want to 
run time critical stuff on it.  And this is why RSTS does a comparatively poor 
job of supporting DDCMP over async lines.

"Fork" in the Unix sense is something different and unrelated.

        paul

Reply via email to