Scheduler activations

From Wikipedia (Ja) - Reading time: 1 min

Scheduler activations とはマルチスレッドを実現するための機構で、オペレーティングシステムのプロセススケジューラに実装され、カーネルレベルスレッドの機能とユーザーレベルスレッドの柔軟性・性能を提供することができる。Scheduler activations は N 個のアプリケーションスレッドを M 個のカーネルスレッド(あるいは仮想プロセッサ)に割り当てるいわゆる "N:M" モデルを用いる。これは、カーネルレベルのマルチスレッド(1:1)とユーザーレベルのマルチスレッド(N:1)の中間的な方法である。一般的にはN:Mのマルチスレッド機構は、カーネル空間とユーザー空間両方のコードに変更が必要なため、カーネルスレッドやユーザースレッドより実装が複雑である。

Scheduler activations は 1999年に Anderson、Bershad、Lazowska、Levy により提唱された[1]。Nathan Williams によってNetBSD のカーネルに実装された[2] が、NetBSD は現在 1:1 スレッドモデルに移行している[3]FreeBSDKernel Scheduled Entitiesと呼ばれる類似のマルチスレッド実装を採用していたが、現在では 1:1 モデルに移行している。また Vincent Danjean により Linux カーネルにもパッチとして実装されたことがあり[4]、その際ユーザーレベルの部分はMarcel thread library によって実現された。

参考文献

[編集]

Licensed under CC BY-SA 3.0 | Source: https://ja.wikipedia.org/wiki/Scheduler_activations
5 views |
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF