Date: Wed, 24 Nov 1999 11:05:54 -0800 (PST) From: Matthew Dillon <dillon@apollo.backplane.com> To: Daniel Eischen <eischen@vigrid.com> Cc: Matthew Dillon <dillon@apollo.backplane.com>, "Daniel C. Sobral" <dcs@newsguy.com>, Julian Elischer <julian@whistle.com>, "Daniel M. Eischen" <eischen@vigrid.com>, freebsd-arch@freebsd.org Subject: Re: Threads Message-ID: <199911241905.LAA20045@apollo.backplane.com> References: <Pine.SUN.3.91.991124134533.26314A-100000@pcnet1.pcnet.com>
next in thread | previous in thread | raw e-mail | index | archive | help
:On Wed, 24 Nov 1999, Matthew Dillon wrote:
:
:> I am getting confused by this whole KSE thing. All the threading I've
:> ever implemented has been done simply by splitting out the context
:> information from the Process into a Task, and then allowing N Tasks to
:> reference the same Process. There was no real distinction made between
:> kernel and user mode tasks or processes.
:
:In this context, what is a task? Something similar to a kernel thread?
:If there are N (user-level POSIX) threads in an application, how many
:tasks are there?
N. A task is simply an execution context for the scheduler. That's it,
nothing special. The scheduler need only know about tasks and doesn't
really have to know about meta-data such as (except for the MMU context)
data stored in Processes, nor does it really need to know what *kind*
of task it is messing with.
Simplicity is the best solution.
:> complicates the code. We can trivially use the existing priority
:> scheme to schedule interrupt tasks (threads).
:
:The kernel doesn't know at what priority the threads run, so how can
:it effectively schedule them?
:
:Dan Eischen
If you have one Task == one Thread, the priority is in the Task
structure, so the kernel would know. Obviously the scheduler must know
or it can't properly schedule the execution context.
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911241905.LAA20045>
