Unix Interrupts & Keykos Domains

This is some history. A Linux Threads goldmine.

Generalities on Threads

There are two kinds of threads about and I don’t know how consistent the nomenclature is at making the distinction. I will call the two kernel threads and user threads here until I get convincing information. These distinctions make sense only in a Unix context. Note that for one “process” to deploy two processors kernel threads are required. User threads can only deploy one processor and perhaps several channels and networked transactions.

Xavier Leroy describes clearly a 1997 version of Linux kernel threads. This description uses “process” and “address space” as the Keykos literature does. More commonly Unix literature uses “process” to mean address space. Some information is also available there about Posix threads.

Keykos seems awkward at duplicating the Unix style of thread.

Terminology notes

LWP (Light Weight Process) probably always means kernel thread.