検索
連載

ドメインのスケジューリング【後編】仮想マシンモニタ Xen 3.0解読室(3/3 ページ)

引き続き、ドメインのスケジューリングの仕組みを見ていきます。今回は、Xen上のゲストOSとして動作するLinuxカーネルでは、プロセス切り替えをどのように実現しているのかを解説します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

アイドル状態

 ネイティブなLinuxカーネルでは、実行するプロセスがなくなるとアイドルプロセスをスケジューリングし、アイドルプロセスは永久にcpu_idle関数を実行し続けます。電源制御の可能なハードウェアでは、システムを省電力モードに遷移させたり、それがないハードウェアではhlt命令やnwait命令を利用して、少しでも無駄に電力を消費しないようにしています。

 準仮想化ドメインのゲストOSがアイドル状態になったとき、「アイドル状態になった」とXenに通知し実行権を手放すことを、Xenは期待しています*。準仮想化ドメイン用のLinuxカーネルでは、アイドル状態になるとxen_idle()関数が呼び出されます。xen_idle()関数はハイパーバイザー呼び出しを行い、Xenに実行権を返します(リスト6の太字部分)

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

リスト6 xen_idle()関数

最後に

 次回はsedfスケジューラについて解説します。なお、ドメインスケジューリング関連機能は、Xen 3.0.1のコードのままで説明することにします。次回の記事を読めば、sedfスケジューラの癖や、xmコマンドによるスケジューラの(難解な)制御方法が分かってくるのではないかと思います。

*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

このページで出てきた専門用語

「アイドル状態になった」と」とXenに通知し実行権を手放すことを、Xenは期待しています

手放さなくとも、割り当て時間を過ぎれば、Xenが強制的にドメイン切り替えを行う。しかし、動作効率を考えると、ゲストOSとして動作するOSは自ら実行権を手放すべきといえる。


関連キーワード

カーネル | Linux | オープンソース | 仮想化 | Xen


本記事は、オープンソースマガジン2006年6月号「仮想マシンモニタ Xen 3.0解読室」を再構成したものです。


前のページへ |       

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る