On 14.04.2017 09:36, Sven Barth via fpc-pascal wrote:


A process definitely is less "light" than threads even on Unix systems: a process has its own address space

Not really true (see below).

Why do you think the concept of threads was introduced in Unix? Early Unix systems only had processes.

Because if you do something that is usually called "Thread" you _want_ shared memory in the same address space, not because of that being "light" but because the way you want to handle your memory based objects in your user code needs this.

In fact the "real" difference between Threads and processes (i.e. the Kernel knows that a processing entity is supposed to be a "Thread" associated with other threads of a process) in Linux only had been introduced with the "Native POSIX Thread Library" ("NPTL") -> https://en.wikipedia.org/wiki/Native_POSIX_Thread_Library. Before NPTL, you just used processes for your threads telling the system that for the new thread you wanted a shared address space.

Again (AFAIK) NPTL had not been introduce to make threads "lighter" but to allow for threads behaving in a decently POSIX compatible way (e.g. the threads of a process getting only a common share of time slices).

-Michael
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to