軽量カーネルスレッド
軽量カーネルスレッド (英: Light Weight Kernel Threads) あるいは LWKT とは、計算機科学の一般的な用語であり、カーネルスレッドの一種、また特にDragonFly BSD固有の実装のことを指す。
LWKTは、カーネルスレッドをプリエンプトできるという点において、通常のカーネルスレッドとは異なる。
DragonFlyBSDの開発者Matt Dillonによれば、DragonFlyBSDのLWKTは以下のような特性を持つ。
"LWKTスケジューラはスレッドの実行に責任を持ち、固定優先度のスケジュール方法を採用しているが、固定優先度はユーザープロセスではなく主要なサブシステム間を優先度付けすることに注意してほしい。"たとえば、ハードウェアの割り込みスレッドは最も高い優先度を持っており、次がソフトウェア割り込み、カーネル内部のスレッド、最後がユーザースレッドになっている。ユーザースレッドはユーザー-カーネル優先度(カーネル内コードの実行、たとえばシステムコールの一部をユーザーランドで実行するような場合)あるいはユーザー優先度で動作する。
"DragonFlyはプリエンプトを行うが、特別な状況下でのみ非常に注意深く行う。LWKTの割り込みスレッドは他の大半のスレッドをプリエンプトすることができる。これはFreeBSD-4.xにおける割り込み優先レベル(SPL)/現在プロセスでの割り込み実行の動きを模倣したものだが、DragonFlyでは非割り込みカーネルスレッドが他の非割り込みカーネルスレッドをプリエンプトしない。