これが私が理解していることです。修正/追加してください:
純粋な ULT では、マルチスレッド プロセス自体がスレッドのスケジューリングを行います。そのため、カーネルは本質的に違いに気付かず、シングル スレッド プロセスと見なします。1 つのスレッドがブロッキング システム コールを行うと、プロセス全体がブロックされます。マルチコア プロセッサでも、プロセスがブロックされていない限り、一度に実行されるプロセスのスレッドは 1 つだけです。ただし、ULT がどのように役立つかはわかりません。
純粋な KLT では、スレッドがブロックされていても、カーネルは同じプロセスの別の (準備ができている) スレッドをスケジュールします。(純粋な KLT の場合、カーネルがプロセスのすべてのスレッドを作成すると想定しています。)
また、ULT と KLT の組み合わせを使用して、ULT はどのように KLT にマップされますか?