Tickless Kernel(てぃっくれすけねる)
最終更新:2026/4/28
Tickless Kernelは、システムクロック割り込みを用いずに、イベント駆動でタスクを切り替えるカーネルアーキテクチャである。
別名・同義語 イベント駆動カーネルノンティックカーネル
ポイント
従来のカーネルと比較して、電力消費を削減し、リアルタイム性能を向上させることが期待される。特にバッテリー駆動のデバイスで有効。
Tickless Kernelとは
Tickless Kernelは、従来のカーネルが一定間隔で発生するシステムクロック割り込み(ティック)に依存するのに対し、イベントが発生した際にのみタスクを切り替えるアーキテクチャです。これにより、不要な割り込み処理を削減し、CPUをより効率的に活用できます。
従来のカーネルとの違い
従来のカーネルでは、一定間隔(例えば1ミリ秒)でシステムクロック割り込みが発生し、カーネルは割り込みハンドラを実行してタスクの切り替えを行います。この方式は、リアルタイム性が求められるシステムでは有効ですが、アイドル状態のCPUに対しても定期的に割り込みが発生するため、電力消費が大きくなるという欠点があります。
Tickless Kernelでは、システムクロック割り込みを停止し、代わりにハードウェアイベントやソフトウェアイベントが発生した際にのみタスクを切り替えます。これにより、アイドル状態のCPUに対する割り込みをなくし、電力消費を大幅に削減できます。
メリット
- 電力消費の削減: 不要な割り込み処理を削減することで、バッテリー駆動のデバイスの駆動時間を延長できます。
- リアルタイム性能の向上: 割り込みのオーバーヘッドを削減することで、リアルタイム性の高い処理をより正確に実行できます。
- CPU効率の向上: 不要な割り込み処理を削減することで、CPUをより効率的に活用できます。
デメリット
- 実装の複雑さ: 従来のカーネルと比較して、実装が複雑になります。
- レイテンシの増加: イベントが発生するまでの間、タスクの切り替えが行われないため、レイテンシが増加する可能性があります。
応用例
Tickless Kernelは、スマートフォン、タブレット、ウェアラブルデバイスなどのバッテリー駆動のデバイスや、リアルタイム性が求められる産業用制御システムなどで利用されています。