Date: Fri, 9 Aug 1996 14:14:36 +0200 (DFT) From: "Garrido Freire, Fco. Javier ((R)JA.GAR. SOFT)" Reply-To: "Garrido Freire, Francisco Javier" To: Eli Zaretskii cc: Orlando Andico , djgpp AT delorie DOT com Subject: Was: Re: Multitasking in DOS In-Reply-To: Message-ID: Organization: Infoalum Mail Gateway MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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