![ユーザーレベルのスレッドをオペレーティングシステムカーネルに表示するUNIXバリアントまたは他のオペレーティングシステムはありますか? [閉鎖]](https://linux33.com/image/95724/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%AC%E3%83%99%E3%83%AB%E3%81%AE%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%82%92%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AB%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8BUNIX%E3%83%90%E3%83%AA%E3%82%A2%E3%83%B3%E3%83%88%E3%81%BE%E3%81%9F%E3%81%AF%E4%BB%96%E3%81%AE%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
ユーザーレベルのスレッドをオペレーティングシステムカーネルに表示するUNIXバリアントまたは他のオペレーティングシステムはありますか?
答え1
あなたが尋ねるのは、ユーザースレッドがカーネルで予約可能なエンティティであるかどうかです。ユーザースレッドがカーネルに「表示」されるかどうかは、使用されているモデルによって、ユーザー - >カーネル間のマッピングによって異なります。いくつかのスレッドモデルがあります -
- mx1 - すべてのユーザースレッドが1つのカーネルスレッドにマップされます。
- mxn - m スレッドは n カーネルスレッドにマップされます。
- 1x1 - 1つのカーネルスレッドにマップされた1つのユーザースレッド
[https://www.kernel.org/doc/ols/2002/ols2002-pages-330-337.pdf][1]スレッドモデルに関する情報です。
Linuxの基本的なスレッドモデルは(<glibc 2.4)
次のとおりです。Linuxスレッド1x1を使用してください。ここで、各スレッドには異なるPIDがあります。 LinuxThreadsはposixと互換性がないため、新しいスレッドモデルが実装されています。NPTL (man pthreads(7) for more info)
。存在するNPTL(1x1)、プロセス内のすべてのユーザースレッドは同じpidを持ちますが、一意のスレッドIDを持ちます。これは、psの-Lフラグを使用して見ることができます。(man ps(1))
NPTLに関する良い記事 - [https://www.redhat.com/whitepapers/developer/POSIX_Linux_Threading.pdf][2]