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

Re: re-entrant programs



dockery@griffin.cuc.ab.ca (Sean Dockery) writes:

>I have often heard the term describing software to be "re-entrant."
>The context under which I have heard it most used was an opinion that
>the Apple IIgs tools and GS/OS would be easier to work with if they
>were re-entrant.
>Would someone please enlighten me with the answers to the following:
>	o What qualifies an application as re-entrant?

Well, normally you use the term "reentrant" for routines (or algorithms).
Of course, "routine collections" like an OS or a Toolbox or a Library
can also be called reentrant, meaning that all their routines are
reentrant.
Reentrance means that you may, for example, interrupt a routine, and,
while it is interrupted, call it again (this can be nested ad infinitum,
of course :)

>	o What are some examples of re-entrant software?

Unix kernals. 

>	o What are some advantages and disadvantages of an application
>	   that is re-entrant?

Well, as I said, routines are reentrant, not applications. The advantage
is: In a multitasking environment, more than one process can use the
routine at the same time. Disadvantage: Making routines reentrant requires
more thought on the part of the programmer who writes them.

>	o Are re-entrant applications significantly larger that
>	   others that perform the same task?

Larger, perhaps. I doubt significantly larger. Anyway, the advantages you
get more than weigh up the small discomfort of having (perhaps) slightly
bigger routines.

Soenke
-- 
===========================================================================
More than silver, more than gold, I need   !    behrenss@informatik.
electricity. I need it for my dreams.      !    tu-muenchen.de
(RACTER)                                   !  FIDO: 2:246/13 Soenke Behrens