Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Nov 1999 22:34:16 -0800 (PST)
From:      Julian Elischer <julian@whistle.com>
To:        "Daniel M. Eischen" <eischen@vigrid.com>
Cc:        arch@freebsd.org
Subject:   Re: Threads stuff
Message-ID:  <Pine.BSF.4.10.9911272223570.544-100000@current1.whistle.com>
In-Reply-To: <3840B1EC.4614AAF0@vigrid.com>

next in thread | previous in thread | raw e-mail | index | archive | help


On Sat, 27 Nov 1999, Daniel M. Eischen wrote:
> I think it's basically right.  If you saw the diagram at different
> stages, it would be easier to see.

look at:
http://www.freebsd.org/~julian/threads

The .obj file is the tgif source for the 7 stages.
stages 6 and 7 are not wuite worked out yet..
teh question is "Who makes teh decision to pre-empt a running thread, and 
continue the unblocked thread in the kernel? (step 6)

I have shown it in step 6 as though the kernel took it upon itself to do so,
(for example at a quantum boundary) but if teh user decided to do it then the 
situation would skip straight to step 7 because the thread state would already
be in the right place.

I'm puting these out just to get comments..

The shaded areas are where there has been a change.

tell me what you think of this format.

> 
>   o A thread blocks in kernel, the KSE is saved, a new KSE is allocated,
>     and an upcall is made to the scheduler with a unique KSE ID provided
>     to identify the now blocked thread.
> 
>   o Scheduler receives notification of a thread blocking, tags the
>     currently running thread with the KSE ID, chooses a new thread
>     to run, switches to the new thread, and makes a system call to
>     schedule a signal/upcall when the new threads quantum expires.
> 
>   o A KSE is woken up in the kernel.
> 
>   o Scheduler receives notification of a thread unblocking (finishing?)
>     in the kernel.

Here's where I get into difficulty.. shoul d we notify the
UTS on unblocking, or on completion? or both?


> 
>   o At the request of the scheduler, the kernel schedules a timeout for
>     the new quantum and resumes the now unblocked thread.

define " the kernel schedules a timeout for
     the new quantum and resumes the now unblocked thread"

> 
> > I will try make  aset of diagrams that outline the state of various
> > objects related to a thread at various stages..
> 
> How about an animated GIF or MOV? ;-)

almost..
note that by sheet 7 everything is back where it was in sheet 1




julian





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?Pine.BSF.4.10.9911272223570.544-100000>