Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Dec 2003 09:13:58 -0500
From:      Bill Moran <wmoran@potentialtech.com>
To:        Eric Anderson <anderson@centtech.com>
Cc:        freebsd-doc@freebsd.org
Subject:   Re: A question about a word "userland"
Message-ID:  <3FE307A6.7080303@potentialtech.com>
In-Reply-To: <3FE30408.1000204@centtech.com>
References:  <000901c3c635$3eb40f60$2e01a8c0@jose> <20031219134910.GC5502@electra.cse.Buffalo.EDU> <3FE30408.1000204@centtech.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Eric Anderson wrote:
> Ken Smith wrote:
> 
>> On Fri, Dec 19, 2003 at 09:37:28PM +0800, Jose Liang wrote:
>>
>>> That is about this word: userland. Well, because my English is not vary
>>> well, so I translate this document by some tools sometimes, but there 
>>> are no
>>> any word about "userland". I tried to find a solution to solve this 
>>> problem,
>>> but I didn't get any effective answer. I guess this word means "system
>>> environment that user's set up", Just guess! Am I wrong? Could 
>>> anybody tell
>>> me? If I'm wrong, plese tell me what it means after all.
>>
>> "userland" would be the pieces of FreeBSD that are not inside of the
>> kernel.  Changes to a device driver would be things that are inside
>> the kernel.  If the mv(1) command changed that would be a userland
>> change.
>>
>> Does that help?
>>
> Would a good "rule of thumb" be - if you have to rebuild the kernel 
> after changes for it to be useful, it's not userland, everything else IS 
> userland?

I don't think that fits.  Utilities like top(1) are clearly userland, but
they access kernel data structures (read only) in a way that they must
be synchronized with the kernel.  Other programs, such as ps(1) have the
same issue.

To my understanding, kernelland is pretty much restricted to the kernel
itself and KLDs, everything else is userland.

In a more proper definition, you would take into account how such code
is actually programmed.  Userland programs can use malloc() to request
memory, but malloc() itself is programmed into the kernel ... how does
_it_ request memory? (for example)

-- 
Bill Moran
Potential Technologies
http://www.potentialtech.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FE307A6.7080303>