Date: 01 Nov 1999 11:12:25 +0000 From: Randell Jesup <rjesup@wgate.com> To: freebsd-arch@freebsd.org Subject: Re: Threads models and FreeBSD. Message-ID: <ybug0yqh3dy.fsf@jesup.eng.tvol.net.jesup.eng.tvol.net> In-Reply-To: Nate Williams's message of "Sun, 31 Oct 1999 18:16:19 -0700" References: <199910312340.QAA12893@mt.sri.com> <Pine.BSF.4.05.9910311652000.8816-100000@home.elischer.org> <199911010116.SAA13482@mt.sri.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Nate Williams <nate@mt.sri.com> writes: >Another thing I'd like to add to the requirements list is that the >threads use 'standard' threading mechanisms for safety, such as >mutex/semaphore, etc.., which should exist in the kernel as well. Yes, absolutely. >This is inline with the Posix stuff, and rather than invent our 'own' >new kind of data structure, I'd like to stick with known solutions that >work and everyone for the most part understands. Ditto. Here's one idea : I've worked on natively threaded (from the start) OS's in the past which allowed there to be thread-specific data that could be accessed with a (system) call (or structure reference) from the user level. One object-oriented OS allowed arbitrary attributes to be added to thread objects dynamically (which can be emulated in any OS that allows a single thread-specific pointer that can be fetched/set). This allowed for user-level data similar to the thread-specific data in the kernel (such as currentdir, which the (usermode) filesystem object module added to a thread when it was set). This may be significantly heavier than we'd wish, and there may be other reasons in a general-purpose open OS to not allow this (such as worrying about different accessors trying to use a single thread-specific datum - though an extensible (named or ID'd) attribute scheme solves that). I think it's moderately common in embedded OS's (which can be threads-only, with no heavyweight processes). -- Randell Jesup, Worldgate Communications, ex-Scala, ex-Amiga OS team ('88-94) rjesup@wgate.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?ybug0yqh3dy.fsf>