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