あなたがやろうとしているのは、10 年前の Linux がどのように機能していたかです。
それ以来、それはより複雑になりました。私が知っている合併症のいくつかは次のとおりです:
- カーネルが常に一瞬のロールオーバーをテストするように、-5 分のオフセットがあります。
- カーネル コマンド ラインで jiffy スキップ値を設定できるため、1000 Hz カーネルを 250、100、または 10 で実行できます。
- NoHZ でのさまざまな試みは、タイマー ティックをまったく使用せず、タイマー リングと HPET のみに依存しています。
- ティックを無効にして、ティックが必要なときはいつでもホスト ハイパーバイザーに問い合わせる仮想ゲスト拡張機能がいくつかあると思います。 Xen や UML ビルドなど。
そのため、カーネルには、時間を知らせるように設計された関数があります。それらを使用するか、彼らが何をしているかを理解してコピーしてください。