« UNIXシグナル マニアックス | Main | process migration »

May 24, 2005

演習3: 米澤研

おーくら日記に倣ってまとめ。

米澤研では、「LilyVMにcheckpoint/restart機能をつける」という課題に取り組んだ。要は仮想マシンのステートを保存して実行を中断し、後にその地点から再開するという機能である。

仮想マシンモニタ(VMM)というソフトウェアの動作についてマジメに考えたのは初めての経験だったので、いろいろなことを知った。IntelやAMDが競って導入するというウワサの仮想化技術(VT/Pacifica)がいったい何をするための機能なのかわかった。要するにOSよりも1段上のring(-1)に相当する層を新たに導入しようということだ。

LilyVMはx86マシンを部分的にエミュレートする。そのため、x86のページング機構やら例外処理なんかについてもIntelのマニュアルを落としてきてにらめっこ。それから、LilyVMはUNIXのシステムコールの上に成り立っているので、システムコールについてもいろいろ新しい知識を得た。シグナルとか、mmapとかptraceとか。

結果として、当初目標としていた程度の機能は実装することができた。途中わけがわからなくてやる気を失っていた時機もあったので正味の作業時間としては3週間くらいか?ともかく終わってみればきちんとした成果物も出せたし、楽しい演習であった。一応成果物を公開してみる。

さて、次は石川研である。いよいよカーネルか。

|

« UNIXシグナル マニアックス | Main | process migration »

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/39126/4254955

Listed below are links to weblogs that reference 演習3: 米澤研:

« UNIXシグナル マニアックス | Main | process migration »