From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.52.1.103 with SMTP id 7mr863862vdl.6.1418892990426; Thu, 18 Dec 2014 00:56:30 -0800 (PST) X-Received: by 10.140.81.169 with SMTP id f38mr18419qgd.3.1418892990367; Thu, 18 Dec 2014 00:56:30 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!i13no118382qae.0!news-out.google.com!r1ni69qat.1!nntp.google.com!s7no8774148qap.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 18 Dec 2014 00:56:30 -0800 (PST) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=185.30.132.97; posting-account=hya6vwoAAADTA0O27Aq3u6Su3lQKpSMz NNTP-Posting-Host: 185.30.132.97 References: <455d0987-734a-4505-bb39-37bfd1a2cc6b@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <8277a521-7317-4839-b0b6-97f8155be1a4@googlegroups.com> Subject: =?ISO-8859-1?Q?Re=3A_GNAT=A0and_Tasklets?= From: vincent.diemunsch@gmail.com Injection-Date: Thu, 18 Dec 2014 08:56:30 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2868 X-Received-Body-CRC: 1776617867 Xref: news.eternal-september.org comp.lang.ada:24102 Date: 2014-12-18T00:56:30-08:00 List-Id: Le jeudi 18 d=E9cembre 2014 09:41:53 UTC+1, Dmitry A. Kazakov a =E9crit=A0: > On Wed, 17 Dec 2014 22:31:57 +0200, Niklas Holsti wrote: >=20 > > As Brad said, another purpose is to separate logical threads=20 > > of control, and I would add a third purpose, which is to prioritize=20 > > tasks of different urgencies, for real-time systems. >=20 > This is a very important point. >=20 > In my branch of work (data/event driven architectures) a great deal of > things could be designed much easily and safely if state machines were > replaced by a logical chain of control ("task"). It would not mean a > separate physical task behind. Actually in most cases it is just few > physical tasks and thousands of logical tasks scheduled by events. >=20 > If Ada supported this (co-routines) it would greatly simplify I/O, GUI, W= eb > designs. >=20 > --=20 > Regards, > Dmitry A. Kazakov > http://www.dmitry-kazakov.de Hello Dimitry What is a "physical task" and a "logical task" ? For me : - a task is a "logical task", because it is a concept of the Ada langage. - a thread is what you call a "physical task", because it is an OS feature. And if there should be a clear rule inside the Ada langage I would argue fo= r a simple rule like : - tasks (and task types) declared at Library level are mapped to kernel th= reads - tasks (and task types) declared localy are mapped to simple jobs spawned= to a pool of tasks. And add the use of pragma, or aspects, for special cases (GPU...) Kind regards, Vincent