Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!sri-unix!sri-spam!ames!lll-tis!lll-lcc!well!tenney From: tenney@well.UUCP (Glenn S. Tenney) Newsgroups: comp.lang.forth Subject: Re: Multi-user Forth Message-ID: <3794@well.UUCP> Date: Fri, 21-Aug-87 04:27:08 EDT Article-I.D.: well.3794 Posted: Fri Aug 21 04:27:08 1987 Date-Received: Sat, 22-Aug-87 19:55:50 EDT References: <9.2122EF36@circle.UUCP> <2573@tekgvs.TEK.COM> <645@cfa.cfa.harvard.EDU> Reply-To: tenney@well.UUCP (Glenn S. Tenney) Organization: Whole Earth 'Lectronic Link, Sausalito, CA Lines: 19 I believe that "you" must understand that there is a difference between multitasking and interrupts. A hi speed time-critical routine really should be an interrupt routine written in hi level or assembler. By having the context switch occur at PAUSE (which, btw, is implied at any I/O type word such as BLOCK) a whole slew of problems disappear. It then becomes the programmer's responsibility to put PAUSE in lot's of extra places when you think you're going to be doing something cpu intensive AND when you know it's safe. It's also your job to be sure things are safe before ANY I/O word. All in all, multitasking with PAUSE is much nicer, but it is not what most CS people are used to since there is no time slicing. There are MANY time critical applications running tons of software on lots of terminals etc. using just such a multitasker. Btw, such a multitasker can be written entirely in hi level. I did it to test things out about 4 years ago (or was it 5?). Glenn Tenney