home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 117,517 of 117,927   
   albert@spenarnc.xs4all.nl to Anton Ertl   
   Re: multitasking vs multiple interpreter   
   12 Aug 25 13:14:20   
   
   In article <2025Aug11.194958@mips.complang.tuwien.ac.at>,   
   Anton Ertl  wrote:   
   >Buzz McCool  writes:   
   >>On 7/29/2025 12:49 AM, Anton Ertl wrote:   
   >>> The messages that the actor-like mechanism delivers to   
   >>> the mailbox of a task are xts that the receiving task executes.  You   
   >>> can read about that in https://net2o.de/gforth/Multitasker.html.   
   >>>   
   >>The link above says "Gforth offers two multitaskers: a traditional,   
   >cooperative round-robin multitasker, and a pthread-based multitasker ...   
   >" then has additional links to Pthreads and Cilk. Is the traditional   
   >multitasker at the Cilk link?   
   >   
   >No.  The Cilk stuff is based on the pthreads stuff.  The traditional   
   >multitasker is undocumented, unfortunately.  Maybe we should not   
   >mention it.  Those who like to use it will find it and will know how   
   >to use it.   
      
   The important properties of multi taskers are   
    - can you do io from all tasks   
    - can you compile in any task   
    - must you do PAUSE at certain interval's   
      
   The only essential difference between COT and PRE is that you must   
   do PAUSE in COT. The other differences can be anything.   
   In ciforth the only difference between COT and PRE is that you   
   must do PAUSE. And of course PRE can take advantage of multi cores.   
   All tasks can compile and do i/o.   
      
   Classical multitasking was geared towards multiple users, hence   
   USER variables. This requires multiple keyboards and screens,   
   e.g. a couple of VT100's. This is an interesting experiments,   
   but otherwise makes no sense.   
   i/o is mostly tied up with PAD and BASE, so if you use COT for   
   control, you probably must use the USER mechanism.   
      
   I don't think it makes sense to talk about COT in general, because   
   the most important use case has disappeared, and there are no   
   canonical examples any more.   
      
   An example is manx (control of musical instruments). The instruments   
   are controlled within uS. This is possible with a busy wait on the   
   high priorities parallel tasks. Each high priority parallel task runs   
   to completion, no PAUSE there.   
   The PAUSE is only executed from low priority tasks, the meaning is   
   run all scheduled high priority tasks.   
   I expect that for an application specific solutions are found,   
   and that general frameworks are for illustration only.   
   E.g. the COT in ciforth is use nowhere as far as I can tell.   
      
   >   
   >- anton   
      
   Groetjes Albert   
   --   
   The Chinese government is satisfied with its military superiority over USA.   
   The next 5 year plan has as primary goal to advance life expectancy   
   over 80 years, like Western Europe.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca