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
next prev parent 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