Interface編集部
2021年2月号 特集 6日目 第1章
6日目 第1章 実験で理解する!ハイパーバイザの動作原理
●Linux環境の準備
▲VirtualBox
Windows PCで試す場合,まず次のウェブ・サイトからBirtualBoxをダウンロードし,イントールします.
https://www.virtualbox.org/wiki/Downloads
VirtualBox 6.1.16 platform packagesのWindows hostsをクリックしてダウンロードします.
ダウンロード・ファイルをダブルクリックし,インストーラに従ってインストールします.
インストーラで設定するのは,インストール場所とデスクトップ・アイコンなどです.
基本的に「Next>」をクリックしていけばよいです.
▲CentOS6.5
以下のウェブ・サイトのリンクからCentOS6.5のイメージをダウンロードします.
http://kozos.jp/vmimage/progtool.html
ダウンロードした下記ファイルを7zipなどを利用して解凍します.
progtool-CentOS.tar
解凍してできた下記のファイルを使用します.
progtool-CentOS.ovf
▲VirtualBox起動
「ファイル」「仮想アプライアンスのインポート」とクリックします.
「ソース」の中のフォルダ・アイコンをクリックし,progtool-CentOS.ovfを選択します.
右下の「インポート」ボタンをクリックします.
「Oracle VM VirtualBoxマネージャー」に戻ったら,上段にある「起動」アイコンをクリックすると,CentOSが起動します.
ログイン・プロンプトが出たら,ユーザ名,パスワードを入力します.
user: user
Password: progtooluser
・次のコマンドで実験用サンプル・ソースコードをダウンロードします.
$ wget http://kozos.jp/samples/signal-vm/virtual-inout.c
●実験1
・上記ソースコードの一部を実験のため編集します.
$ vi virtual-inout.c
本誌P92のリスト2を参考にsetsig()の呼び出しを無効化します.
・コンパイル
$ gcc virtual-inout.c -o virtual-inout -Wall
・実行
$ ./virtual-inout
Segmentation fault
$
●実験2
・ソースコードを編集しsetsig()と#ifを有効にして実行します.
本誌P93のリスト1の#if 0 → #if 1に変更
main()関数のsetsig()を有効にする
$ gcc virtual-inout.c -o virtual-inout -Wall
$ ./virtual-inoutvi
●実験3
・#ifを元に戻して実行
$ gcc virtual-inout.c -o virtual-inout -Wall</span
$ ./virtual-inout
●シャットダウン
次のコマンドでCentOSをシャットダウンできます.
$ su
(Password: progtoolroot)
$ shutdown -h now