@techreport{oai:ipsj.ixsq.nii.ac.jp:00237553, author = {南, 陽太 and 山田, 浩史}, issue = {8}, month = {Aug}, note = {クラウド環境では,一般に 1 台のマシン上に複数の OS を稼働させる仮想化技術が用いられている.仮想マシンでは通常,様々なアプリケーションに対応するために汎用 OS が利用されているのに対し,ユーザは単一目的で仮想マシンを使用することが一般的である現状が,クラウド環境の余分な使用を招いている.クラウド環境でアプリケーションに必要な OS の機能のみを提供できる技術に Unikernel があり,単一目的に特化したライブラリ OS である.最小限の OS の機能のみをアプリケーションに静的リンクすることでメモリフットプリントやオーバヘッドを小さくできるが,実行中にコンポーネントを再配置や変更をすることによる動的なアップデートや動的な機能拡張を行うことができない.本研究ではリンク後にメモリに静的配置された各コンポーネントを動的に追加・削除することを可能にする Unikernel を提案する.これにより,1.動的なコンポーネントのアップデート,2.実行時のコンポーネントの設定変更,ならびに,3.Trusted Computing Base の更なる縮小,といったことが可能になる.Unikernel が実行中に行う関数呼び出しを監視し,関数解決の許可/禁止をすることで,対象のコンポーネントを追加・削除する.提案手法を QEMU 3.0.2,Unikraft 0.15.0 に実装した.実験では,Redis や SQLite といった real-world アプリケーションを用いた際にも提案手法の機構が問題なく動作することを確認し,今後の課題と方針を示した.}, title = {コンポーネントを動的追加・削除できるUnikernel}, year = {2024} }