www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/06/27/02:08:17

Date: Thu, 27 Jun 1996 14:06:36 +0800 (GMT)
From: Orlando Andico <orly AT gibson DOT eee DOT upd DOT edu DOT ph>
To: Garrido Freire <Francisco-Javier DOT Garrido AT sierpes DOT cs DOT us DOT es>
cc: djgpp AT delorie DOT com
Subject: Re: Multitasking in DOS (fwd)
In-Reply-To: <Pine.A32.3.93.960626213957.10128D-101000@santacruz.cs.us.es>
Message-ID: <Pine.SGI.3.93.960627140022.4902B-100000@gibson.eee.upd.edu.ph>
MIME-Version: 1.0

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

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

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.

- Raw text -


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