comp.lang.ada
 help / color / mirror / Atom feed
From: schwering <schwering@gmail.com>
Subject: Re: Blocking syscalls in Tasks
Date: Sat, 27 Sep 2008 13:11:12 -0700 (PDT)
Date: 2008-09-27T13:11:12-07:00	[thread overview]
Message-ID: <fed9be94-5dbf-4562-b246-ffc263c300c1@2g2000hsn.googlegroups.com> (raw)
In-Reply-To: 48de7e25$0$26371$4d3efbfe@news.sover.net

On 27 Sep., 20:40, "Peter C. Chapin" <pcc482...@gmail.com> wrote:
> schwer...@gmail.com wrote:
> > Are tasks commonly implemented using threads and does the language
> > specification request tasks to be in the user- or kernelspace? Or is
> > there a real difference between tasks and threads?
>
> My understanding is that this is left implementation defined. However,
> I'm sure those more expert than me will be able to give you a more
> definitive answer.
>
> Peter

My understanding is the same -- or at least I nowhere found something
else.
But I wonder about this, because in my opinion there is a great
difference between tasks = userspace threads and tasks = kernelspace
threads.

If I/O operations are be outsourced to a task for performance
considerations, but the syscalls for these I/O operations are blocking
the complete process (i.e. all running tasks), the outsourcing would
have no (positive) effect.
In this scenario, the I/O task could check whether the next I/O
syscall is blocking and perform it only if it is not. But this would
require an additional syscall (for this check) and would decrease the
performance again. Hence, I think there should at least be some way to
check whether in the given implementation of tasks blocking syscalls
block only the calling task or everything.

By the way, I just tested read()ing from stdin under OS X with GNAT.
This blocked only the read()ing task while other tasks. :-)

Greetings
Chris



  reply	other threads:[~2008-09-27 20:11 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-27 17:26 Blocking syscalls in Tasks schwering
2008-09-27 18:40 ` Peter C. Chapin
2008-09-27 20:11   ` schwering [this message]
2008-09-27 23:14     ` Peter C. Chapin
2008-09-27 18:58 ` Hibou57 (Yannick Duchêne)
2008-09-27 20:02   ` schwering
2008-09-27 20:16     ` Ed Falis
2008-09-27 21:54 ` Maciej Sobczak
2008-09-28  7:55   ` sjw
2008-09-28  3:16 ` anon
2008-09-28 17:48   ` tmoran
2008-09-28 23:39     ` anon
2008-09-30  2:35       ` Randy Brukardt
2008-09-30 10:06         ` anon
2008-09-30 11:01           ` Georg Bauhaus
2008-10-01  2:18             ` anon
2008-09-30 18:06           ` Adam Beneschan
2008-09-30 18:10             ` Ludovic Brenta
2008-09-30 20:09               ` Jeffrey R. Carter
2008-10-06 17:12           ` Ada compilers supporting Ada 2005 (was: Blocking syscalls in Tasks) Georg Bauhaus
2008-10-07 11:51             ` Colin Paul Gloster
2008-10-07 14:31               ` Britt Snodgrass
2008-10-07 15:39                 ` Colin Paul Gloster
2008-10-07 16:38                   ` Adam Beneschan
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox