2011-05-01から1ヶ月間の記事一覧

VM間共有メモリivshmemを試してみる

はじめに qemu(-kvm)にはVM間共有メモリ(Inter-VM shared memory: ivshmem)という機能があります。名前のとおりVM間の共有メモリを実現する機能です。今回はこの機能を体験することが目的です。内部動作解析などは行なっていません。 How does ivshmem work?…

仮想マシンとBIOSと準仮想化

はじめに PCエミュレータや完全仮想化の仮想マシンの場合は、当然ながらBIOS(もしくはEFI)をエミュレーションする必要があります。BIOSが用意しなければならない情報には、例えばNUMAにおけるCPUやメモリの構成情報があります*1。物理マシンの場合は、基本的…

Rootfs over Virtfsでゲストを起動する

はじめに Virtfsを使うと、ホストのディレクトリをゲストにmountさせることができます。ここではdebootstrap等でホストに用意したrootfsを使ってゲストをブートさせる方法について説明します。 What's Virtfs? Virtfsは、"File system pass-through/Paravirt…

mmapとページフォールト

はじめに メモリ管理周りで勘違いしていた部分をコードを追いながら説明してみます。 概要 Q1: qemuはゲストメモリ領域をmmap(2)してるんだよね?A1: してますがコードには呼び出し箇所はありません*1。mmapはposix_memalign(3)内で呼び出されます。Q2: ゲス…