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>