Subject: Re: lightweight processes
To: None <tech-kern@NetBSD.ORG>
From: Neil A. Carson <Carson@rmcs.cranfield.ac.uk>
List: tech-kern
Date: 02/12/1997 15:22:40
Hi,
(Lightweight processes)
> Uh, I'd like to know who said that.
> There exists support in the kernel for kernel-only "processes"
> (e.g. the swapper and pagedaemon, and nfs I/O daemons). However,
> this is not and never was a general-purpose facility, nor has there
> ever been any such general-purpose facility in 'vanilla' BSD kernels
> that i'm aware of.
> If somebody's claiming that there is such a general purpose facility
> in 4.4BSD, they are either incorrect, "optimistic," or you're
> misinterpreting what they're saying. I say "optimistic" because some
> books, e.g. the "Design and Implementation of the 4.?BSD... System",
> tend to describe features or aspects of the system ... in rosy terms,
> where no such features exist or where they don't nearly live up to the
> description they're given.
As you seem to have guessed, this was in `The Design and Implementation of the 4.4BSD
Operating System' on page 80: It goes:
The layout of the process state was completely reorganised in 4.4BSD. The goal
was to support multiple {\em threads} that share an address space and other
resources. Threads have also been called {\em lightweight processes} in other
systems.
...
The reorganisation of the process state in 4.4BSD was designed to support threads
that can select the set of resources to be shared, known as {\em variable
lightweight processes [Ref]. Unlike some other implementations, the BSD model
associates a process ID with each thread, rather than with a collection of threads
sharing an address space.
...
The process structure (with diagram) was shrunk to 1/4 of its former size [in
4.4BSD]. The idea is to minimise the amount of storage that must be allocated to
support a thread. The 4.4BSD distribution did not have kernel-thread support
enabled, primarily because the C library had not been rewritten to be able to
handle multiple threads.
Does the ``not enabled'' bit mean that it isn't in fact there? What else do you think
they are rabbiting on about?
Regards,
Neil
--
* Neil A Carson (Carson@rmcs.cranfield.ac.uk)
* The Royal Military College of Science, Shrivenham.
* Address: Kitchener Mess, Royal Military College of Science, Shrivenham,
* Swindon, Wilts SN8 8LA. Telephone: +44 (0)370 593183