Light-weight process とは

コンピュータオペレーティングシステムでは、軽量プロセス(LWP)がマルチタスクを実現する手段です。 Unix System VとSolarisで使用されていた従来の意味では、LWPは単一のカーネルスレッドの上でユーザー空間で実行され、アドレス空間とシステムリソースを同じプロセス内の他のLWPと共有します。スレッドライブラリによって管理される複数のユーザーレベルのスレッドは、1つまたは複数のLWPの上に置くことができます。これにより、マルチタスクがユーザーレベルで実行できるようになり、パフォーマンス上のメリットが得られます。
いくつかのオペレーティングシステムでは、カーネルスレッドとユーザースレッドの間に別個のLWPレイヤーが存在しません。つまり、ユーザースレッドはカーネルスレッドの上に直接実装されます。これらのコンテキストでは、軽量プロセスという用語は通常、カーネルスレッドを指し、用語「スレッド」はユーザスレッドを指すことができます。 Linuxでは、特定のプロセスがリソースを共有できるようにすることでユーザースレッドが実装されます。これらのプロセスを「軽量プロセス」と呼ぶことがあります。同様に、SunOS 4以降(Solarisより前)の「軽量プロセス」はユーザースレッドを指していました。