www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/08/09/08:01:44

Date: Fri, 9 Aug 1996 14:13:10 +0200 (DFT)
From: "Garrido Freire, Fco. Javier ((R)JA.GAR. SOFT)" <garridof AT cs DOT us DOT es>
Reply-To: Garrido Freire <Francisco-Javier DOT Garrido AT cs DOT us DOT es>
To: Orlando Andico <orly AT gibson DOT eee DOT upd DOT edu DOT ph>
cc: djgpp AT delorie DOT com
Subject: Was: Re: Multitasking in DOS
In-Reply-To: <Pine.SGI.3.93.960627140022.4902B-100000@gibson.eee.upd.edu.ph>
Message-ID: <Pine.A32.3.93.960809125752.17036B-101000@santacruz.cs.us.es>
Organization: Infoalum Mail Gateway <Infoalum AT cs DOT us DOT es>
MIME-Version: 1.0

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime AT docserver DOT cac DOT washington DOT edu for more info.

---1764323956-1258419266-839589228=:11912
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine DOT A32 DOT 3 DOT 93 DOT 960809141300 DOT 15498B AT nervion DOT cs DOT us DOT es>

On Thu, 27 Jun 1996, Orlando Andico wrote:

Sorry for not answering before. I've been out of net.

> On Wed, 26 Jun 1996, Garrido Freire, Fco. Javier ((R)JA.GAR. SOFT) wrote:
> 
> > 	Of course, this's not enough, I know, to implement multitasking.
> > One of the most important things is to manage Input/Output devices.
> > There should be a lot to say just about this: keyboard, screen, disk,
> > memory, ... And functions: pipe, exec, dup, dup2, kill, getpid,
> > getpgrp, popen, exit, chdir, ... and surely fork and wait, :)
> 
> Multitasking under DOG ain't hard. And it ain't authentic. It's possible
> to write multithreaded programs using setjmp() and longjmp() -- and people
> have done that. 
I also tried setjmp()/longjmp() method with TURBO C, but
it didn't work. 
It probably was my fault.

> 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? (although yes,
> I put my foot in my mouth, Minix doesn't have a multithreaded filesystem
> last I looked).
> 
The *&&%$%%^ non-reentrance of DOS shouldn't be a problem so big.
Synchronizing the access to the filesystem is a way. All the
scheduler has to do is wait until INT 21h System Call had
finished. Then save the answer and give CPU to another process
(Rendez-vous method?). The cons is that this could be slow.

Not only INT 21h is non-reentrant, INT 10h or whatever syscall
are. BWT, anybody saw my demo. I got 3 process (up to 10) running
in DOS 6.2 concurrently. No trick, no fake just synchronizing w/ some
ordinary undocumented DOS calls, :-)

> > 	Another good source of information is "Operating Sistems: Design
> > and Implementation" by Andrew S. Tanenbaum. He gets a much better,
> > authentic 'preentive' multitasking at a *8088*!!
> 
> That would be Minix.. Tanenbaum got into an argument with Linus Torvalds
> over that.. but why stop there? I don't know how far along Linux ELKS is
> (this is the version that will run on an 8088 and Z80) but if you're that,
> incredibly insane to want multitasking on an XT..
> 
That's right. Minix I meant. Tanenbaum got multitasking on an
8088. Then here you are. Obiously, on an 386's PM is easier. But,
there is where DJGPP starts to play. Just join the pieces. A lot
of that work is already done! A debugger can run a child. Why
can't a debugger run several children?
BWT, Minix used (slow) Rendez-vous method for didactical 
purposes.

> If you desperately want multitasking under something-like-DOG, check out
> the RSXWDK and RSXNT packages. I got these, but they don't seem to work
> with DJGPP v2 (written for 1.x and the OS/2 EMX-GCC). I've taken a look at
> the source, and DJGPP 1.x with the RSXNT libraries *does* support fork().
> You'd have to be running under Windog though.
> 
I'm still checking out aetsk102, jkthpack and looking for
ctask22.
I'll see it, too. Thanks for your comments.

PS: I enclose my demo attached

-------------------------------------------------------------------
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





---1764323956-1258419266-839589228=:11912
Content-Type: APPLICATION/ZIP; NAME="multi.zip"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine DOT A32 DOT 3 DOT 93 DOT 960809131348 DOT 11912A AT nervion DOT cs DOT us DOT es>
Content-Description: 

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
---1764323956-1258419266-839589228=:11912--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019