Mail Archives: djgpp/1996/08/09/07:55:04
On Thu, 27 Jun 1996, Eli Zaretskii wrote:
>
> On Thu, 27 Jun 1996, Orlando Andico wrote:
>
> > have done that. Your biggest problem is: the *&&%$%%^ non-reentrance of
> > DOG itself (although the BIOS is more robust..) which precludes a
> > multithreaded filesystem! what's "multitasking" without it?
>
> Actually, that might not be as hard as it sounds, at least under native
> DOS. DOS has an internal data area known as SDA (Swappable Data Area)
> which holds all the data structures that make it non-reentrant. All you
> need to do is to swap this area in and out on the task switch, and DOS
> will never know it was re-entered. The ``Undocumented DOS'' book has a
> full chapter on this technique.
>
> The catch, of course, is that it won't work with Win3.11 or Win95 with
> 32-bit file access enabled, because then all file operations completely
> bypass DOS, and I don't know what will such a multitasking app in a DOS
> box do on these systems. But under Win 3.1, or when 32-bit file access
> is disabled, this will probably work on Windows too.
>
I think so that it's not as hard as sounds. However, I don't
think SDA has to be necesarily swap in/out. In my demo I didn't
need swap anything at all. Well, perhaps if you don't want to have
a process waiting for 1/2 second until another's OPEN syscal ends,
maybe.
PS: After rereading Undoc DOS's chap 5..humm...This is something
to keep in mind, after all.
Thanks, Eli, for your moral support :)
PS2: I enclose my demo attached. Thanks, again, for your
comments.
-------------------------------------------------------------------
F. Javier Garrido F. (R)JA.GAR. SOFT Dpto. de Computacion e IA
MINIX User. (USENET comp.os.minix & SCS) Facultad de Informatica
Email: Francisco-Javier DOT Garrido AT cs DOT us DOT es y Estadistica de Sevilla
URL: http://www.cs.us.es/~garridof (SPAIN)
"The light that burns twice as bright, burns half as long ...
... and you have burned so very, very brightly, Roy."
TYRREL from Blade Runner
- Raw text -