Path: utzoo!attcan!uunet!cs.utexas.edu!usc!henry.jpl.nasa.gov!elroy.jpl.nasa.gov!gryphon!crash!fgbrooks
From: fgbrooks@crash.cts.com (Fred Brooks)
Newsgroups: comp.sys.atari.st
Subject: Re: Multitasking on the ST
Keywords: MX2, process swapping
Message-ID: <205@crash.cts.com>
Date: 15 Aug 89 15:36:08 GMT
References: <8908021826.AA05333@ucbvax.Berkeley.EDU> <15627@watdragon.waterloo.edu> <1989Aug4.173233.8259@sj.ate.slb.com> <1067@philmds.UUCP> <1989Aug11.175942.6534@sj.ate.slb.com> <1069@philmds.UUCP> <194@crash.cts.com> <1072@philmds.UUCP>
Reply-To: fgbrooks@.UUCP (Fred Brooks, )
Organization: Crash TimeSharing, El Cajon, CA
Lines: 16

In article <1072@philmds.UUCP> leo@philmds.UUCP (Leo de Wit) writes:
>|I intercept the BIOS trap vector and add my own routine to do the BConin
>|call. If nothing is waiting in the buffer then I swapout the current process
>|, if a char is is the buffer it is passed on to the calling process and a
>|countdown variable is set to say 100 so that when then next time the buffer
>|is empty it won't swapout until it has checked the buffer a few times.
>
>You'll have to be careful this BIOS call was not done from GEMDOS, I think.
>I'm interested to know how you save a process's state.
>

I save the GEMDOS/BIOS stack for every process that's stored in the location
pointed by the sav-vector in low memory. It's a tricky process and taking a
look at my MX2 source will explain it better that I can here.

fred