[Oberon] a module a page (keeps the mind sane)?

Charles Perkins chuck at kuracali.com
Tue Nov 6 16:05:35 CET 2018


I have found a copy here:
http://norayr.am/papers/WirthTasksVersusThreads.pdf

On Tue, Nov 6, 2018 at 5:00 AM Frans-Pieter Vonck <fp at vonck.nl> wrote:

> Hi Chris,
>
> do you have by any chance a link for the article "Tasks versus Threads
> [..]"
> I cannot find it on the net.
>
>  From Wirth: "Embedded Systems and Real-Time Programming"
>
> " The next decision was to eliminate the RT-OS, as it seemed possible
> to  do  essentially  without  concurrent  processes  in  the  form  of
> threads.  The  third
> decision was to program the entire software in Oberon [2], which is very
> suitable for
> programming close to the hardware."
> So he probably used Tasks vs Threads concept for the helicopter.
>
> > "Tasks, called commands, are a conceptual pillar of the Oberon
> > operating environment. Making them interruptible adds significant
> > power to the concept
> In the oberon loop the commands are already interrupted by input events:
> keyboard, mouse, network communication. Does he mean, tat a task can
> interrupt another task?
> Explanation must be found in his article.
>
> Greets,
> F.P.
>
>
>
> Chris Burrows schreef op 2018-11-06 11:48:
> > I recommend that you read Wirth's 1996 paper titled "Tasks versus
> > Threads: An Alternative Multiprocessing Paradigm". The relative merits
> > of tasks, processes, coroutines and threads are discussed.
> >
> > "An alternative to threads is presented as a paradigm for
> > single-processor multi-tasking systems. It avoids complex and hidden
> > mechanisms for process scheduling, and is therefore particularly
> > suitable for realtime systems requiring fast response times, and for
> > small systems in general."
> >
> > "Tasks, called commands, are a conceptual pillar of the Oberon
> > operating environment. Making them interruptible adds significant
> > power to the concept and is shown to require surprisingly few changes
> > and additions to the existing system, hence retaining its basic
> > compactness and efficiency."
> >
> > An implementation of these ideas (called System7) on Native Oberon can
> > be downloaded from the ETH Oberon site:
> >
> > ftp://ftp.ethoberon.ethz.ch
> >
> > by following the path:
> >
> > ETHOberon/Contrib/System7/
> >
> > Now that interrupts are working on Project Oberon 2013 it would be an
> > interesting exercise to try out these concepts there as well,
> >
> > Regards,
> > Chris
> >
> > Chris Burrows
> > CFB Software
> > http://www.astrobe.com/RISC5
> >
> >> -----Original Message-----
> >> From: Oberon [mailto:oberon-bounces at lists.inf.ethz.ch] On Behalf Of
> >> Frans-Pieter Vonck
> >> Sent: Tuesday, 6 November 2018 6:39 PM
> >> To: Jörg Straube
> >> Cc: ETH Oberon and related systems; paulreed at paddedcell.com
> >> Subject: Re: [Oberon] a module a page (keeps the mind sane)?
> >>
> >> Hi J rg,
> >>
> >> I saw the coroutine module is not yet written for project oberon.
> >> But that does not keep me from trying out the concept of cooperatieve
> >> multitasking.
> >> I will look into that,
> >>
> >> Thanks.
> >> F.P.
> >>
> >> J rg Straube schreef op 2018-11-05 23:22:
> >> > F.P.
> >> >
> >> > Installing tasks in the Oberon loop is THE way to enable multi
> >> tasking
> >> > in Oberon.
> >> >
> >> > T := Oberon.NewTask(myHandler, 1000);
> >> > Oberon.Install(T);
> >> >
> >> > Every 1000 ms the procedure  myHandler  will be called.
> >> >
> >> > Another way to have cooperative multitasking is to implement module
> >> >  Coroutines .
> >> >
> >> > br
> >> > J rg
> >> >
> >
> >
> > --
> > Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related
> > systems
> > https://lists.inf.ethz.ch/mailman/listinfo/oberon
> --
> Oberon at lists.inf.ethz.ch mailing list for ETH Oberon and related systems
> https://lists.inf.ethz.ch/mailman/listinfo/oberon
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.inf.ethz.ch/pipermail/oberon/attachments/20181106/b7fea40e/attachment.html>


More information about the Oberon mailing list