[fpc-pascal]fork with forked program

Marco van de Voort marcov at stack.nl
Tue Sep 16 16:08:54 CEST 2003


> On dinsdag, sep 16, 2003, at 15:34 Europe/Brussels, Marco van de Voort 
> wrote:
> 
> >> This has nothing to do with unix <-> BeOS. For example, Solaris is
> >> definitely Unix and also uses the concept of light weight processes.
> >
> > Light weight processes are a Unix feature.
> 
> Not all Unixes have light weight processes. Note that "light weight 
> process" has nothing to do with whether or not it is cheap to start a 
> new process on a particular OS.

Google says about LWP: (FOLDOC)

A single-threaded sub-process which, unlike a thread, has its own process
identifier and may also differ in its inheritance and controlling features.
 
It seems to be somewhere inbetween thread and full process. However what
and how exactly the difference is, seems vague (specially since any
process on Unix is a sub-process of init ?) 

> > (heavy and cheap are relative to the other)
> > Windows -> heavy processes, cheap threads.
> > Unix	-> cheap processes, expensive threads
> 
> That is a vast over-generalisation.

It's the traditional definition. Threads were originally implemented
userland. Only with System V they came into the kernel afaik.

However most free unices are BSD derived and kept their userland threading
for a long while. This also because the userland threading remained the
only portable threading. 

> All unixes most definitely do not have expensive threads, in fact in
> several of them a process is always layered over a thread.

Which is a deviation of the original concepts, and the raeson why I said
that in most recent years the definitions are blurred.




More information about the fpc-pascal mailing list