“An Introduction to Virtualization” by Amit Singh

Slides:



Advertisements
Similar presentations
Windows Azure ハンズオン トレーニング Windows Azure Web サイト入門.
Advertisements

Linuxを組み込んだマイコンによる 遠隔監視システムの開発
WPF で作る!! 仮想化支援技術確認ツール CLR/H ひよひよ Crystal Dew World
第3回 並列計算機のアーキテクチャと 並列処理の実際
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
クラウド上の仮想マシンの安全なリモート監視機構
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
オペレーティングシステムⅡ 第11回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト.
Gouichi Iisaka The Company was called Cray Research Japan Co., Ltd.
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
Docker.
オレポータビリティ 日本Rubyの会 青木 峰郎.
Windows Azure 仮想マシン 入門.
仮想化システムを用いて 複数のOSを動かす
中村孝介(九州工業大学) 光来健一(九州工業大学/JST CREST)
KVMにおけるIDSオフロードのための仮想マシン監視機構
仮想マシンの並列処理性能に対するCPU割り当ての影響の評価
Q q システムソフトウェア 第1回:2007年10月3日(水) q q.
侵入検知システム(IDS) 停止 IDS サーバへの不正アクセスが増加している
Silverlight とは.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors
小型デバイスからのデータアクセス 情報処理系論 第5回.
全体ミーティング 2009/6/24 D3 西川 賀樹.
ネストした仮想化を用いた VMの安全な帯域外リモート管理
Virtualizing I/O Devices on VMware Workstation’s VMM
単一システムイメージを 提供するための仮想マシンモニタ
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
アスペクト指向プログラミングを用いたIDSオフロード
サスペンドした仮想マシンの オフラインアップデート
型付きアセンブリ言語を用いた安全なカーネル拡張
Lazy Release Consistency
AMD64の仮想化技術を利用した 仮想マシンモニタの実装
全体ミーティング 金田憲二.
“Survey of System Virtualization Techniques” by Robert Rose のまとめ
仮想マシン間にまたがる プロセススケジューリング
分散IDSの実行環境の分離 による安全性の向上
Microsoftのマルチプラットフォーム戦略
VMのメモリ暗号化によるクラウド管理者への情報漏洩の防止
VMのメモリ暗号化による クラウド管理者への情報漏洩の防止
IaaS型クラウドにおける インスタンス構成の動的最適化手法
.NET Framework 3.0 概要 (旧称 : WinFX)
実行時情報に基づく OSカーネルのコンフィグ最小化
オペレーティングシステム イントロダクション
仮想機械 温故知新 前田俊行 東京大学米澤研究室.
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
単一システムイメージを 提供するための仮想マシンモニタ
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
IaaS環境におけるVMのメモリ暗号化による情報漏洩の防止
仮想マシンを用いた 既存IDSのオフロード
Intel SGXを用いた仮想マシンの 安全な監視機構
軽量な仮想マシンを用いたIoT機器の安全な監視
信頼できないクラウドにおける仮想化システムの監視機構
ネットワークをシンプルにする エンタープライズ NFV
オペレーティングシステム i386アーキテクチャ(1)
VMが利用可能なCPU数の変化に対応した 並列アプリケーション実行の最適化
Virtualizing a Multiprocessor Machine on a Network of Computers
仮想環境を用いた 侵入検知システムの安全な構成法
仮想マシンの監視を継続可能なマイグレーション機構
iSeries Site 人事・給与C/S版のハードウェア・ソフトウェア要件
仮想マシンと物理マシンを一元管理するための仮想AMT
実装について 前田俊行.
Cell/B.E. のSPE上で動作する 安全なOS監視システム
Mondriaan Memory Protection の調査
卒業論文に向けて(3) 学部4年生 島本 大輔 2004年11月11日.
強制パススルー機構を用いた VMの安全な帯域外リモート管理
L4-Linux のメモリ管理における問題点とその解決策
1.2 言語処理の諸観点 (1)言語処理の利用分野
Virtual Machine Introspectionを可能にするVMCryptの拡張 田所秀和 光来健一 (九州工業大学)
Presentation transcript:

“An Introduction to Virtualization” by Amit Singh http://www 大山 恵弘 2004年10月5日

A Loose Definition virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others

Why Virtualization? 低負荷サーバを少ないマシンに集める レガシーアプリケーションを動かす サンドボックス 資源消費制御・保証、スケジューラ、QoS 存在しないハードウェアの提供 SCSI devices, multiple processors, networks of computers

Why Virtualization? 複数のOSを同時に動かす デバッグ、性能モニタ fault and error containment (platform for fault injection experiment) マイグレーション packagingによりアプリケーションsuiteをapplianceとして扱える

Why Virtualization? 実験のためのツール 既存のOSをSMP上で動かすことを可能にする 任意のテストシナリオを作る isolation, save the state 既存のOSをSMP上で動かすことを可能にする 任意のテストシナリオを作る 既存のOSにnew featureを入れる Migration, backup, recoveryを簡単にする

Why Virtualization? バイナリ互換性を提供 ホスティング secure, cost-effective 楽しい

Privileged and Non-privileged Instructions おなじみの内容 “Analysis of the Intel Pentium’s Ability to Support a Secure Virtual Machine Monitor” Pentiumでは少なくとも17個の命令が non-virtualizable STR命令はどんな特権レベルでも実行可能で、 RPLを返す

TLB IA-32のTLBはハードウェア制御 Alpha, MIPS, PA-RISC, SPARCのTLBはソフトウェア制御 ソフトウェア制御のほうが仮想化しやすい IA-32のTLBエントリはタグつけできない

システムコールの仮想化 ptraceなどでフック システムコールをnullify getpidや無効システムコールに変える ホストがシステムコールのための処理を実行

アイドルループ 普通のOSはやることがないときループする でもこれはVM上だと困る Denaliはそのための仮想命令を持つ idle-with-timeout

エミュレータ ARMn multiprocessor cycle-accurate simulator ARM processor coreのクラスタをsimulateできる

ABI/API Emulation WABI (Windows Application Binary Interface) Sunのマシンの上でWindowを動かす Windows callを「等価な」UNIX callに変換 x86上では命令を直接実行 SPARC上ではemulation and/or binary translation

Lxrun x86のLinux a.outをSCO OpenServer, SCO UnixWareなどの上で動かす UNIX system callをon-the-flyでremap Linux shared libraryが必要 Linux dynamic loaderが必要 つまりLxrunはシステムコールエミュレータである

その他 Real-time LynxOSの新しいバージョンはLinux ABI互換性を持つ FreeBSDはLinuxとバイナリ互換。linprocfsはLinuxのprocfsのsubsetをemulate WineはWindowsアプリケーションをLinux, FreeBSD, Solarisで動かす x86専用

各論 bochs Chorus chroot() Denali x86, I/O device, custom BIOSをエミュレート Chorusのカーネルは、その上に分散OSを実装できる ような低レベルフレームワークを提供 chroot() Denali IA-32 VMM 信頼できないサービスを隔離環境で動かせる ゲストOSを書き換える

各論 Disco Goal: (大きな実装の手間なく)大規模共有メモリ計算機で効率的に走るよう現代のOSを拡張 複数VMを載せられるVMM マルチスレッド共有メモリプログラムとして 実装されている ホストOSのすべての資源を仮想化して提供

各論 Ensim FreeBSD jail Virtual Private Server OSを安全にpartitionできる QoS, complete isolation, manageability Solaris, Linux, Windows FreeBSD jail chroot + α FreeBSDのカーネル内の各所で実装

各論 Hive HP-UX Virtual Partitions (VPAR’s) 複数の独立したカーネル(cell)からなる分散システム cell内にfaultをとじこめて信頼性を向上させる HP-UX Virtual Partitions (VPAR’s) VPARは自分のHP-UXコピーを走らせる VPARは動的生成可能 vPar MonitorというVMM ハードのすぐ上で稼動 ハードウェア資源の所有権をVMインスタンスに割り当てる vParはメモリとI/Oハードウェアを直接アクセスする vParは割り当てられていないハードウェアを意識しない

各論 Linux/RK IBM’s Logical Partitioning (LPAR) QoSをポータブルな形で入れる 複数の独立したAIX, LinuxのOSイメージを一つのサーバ上で走らせる 動的にactive partitionに資源を加えたり取り除いたりできる iSeriesなどのサーバもlogical partitioningをサポート

各論 POWER4 Mac-on-Linux MAE (Macintosh Application Environment) 仮想化を助ける仕組みがある Mac-on-Linux PowerPC上でMac OSとLinuxを動かすことができる カーネルモジュールとして実装 MAE (Macintosh Application Environment) SunOSやHP-UX上で仮想的なMac環境を実現 Motorola 68LC040をエミュレート

各論 Microsoft Virtual Server Nemesis (by U. of Cambridge) QoSのサポートのために設計された Nemesis kernelは小さくて軽量 ほとんどのOSコードはアプリケーションプロセス内で実行される 一つの大域的なページテーブル (単一アドレス空間) プロセスごとのメモリ保護はある いわゆるマイクロカーネル?

各論 Plex86 プログラミング言語VM QLinux x86仮想機械 UCSD P-System, p-code JVM .NET CLI QLinux LinuxをQoSで拡張

各論 Shade SILK (Scout In the Linux Kernel) コードがホスト上で動くように動的にクロスコンパイルするVM SILK (Scout In the Linux Kernel) Scoutはsmall network applianceのためのモジュラーなOS Scoutはカーネルモジュールとして存在。自分のCPUスケジューラとスレッドパッケージを含む

各論 Simics 完全システムシミュレーションのためのプラットフォーム Simicsハードウェアの上で、VxWorks (PowerPC), OSE (PowerPC), Solaris (SPARC), Windows (x86, AMD64)が動く sparc-solaris, x86-linux, x86-windows版あり

各論 SimOS 完全マシンシミュレータ Embraというプロセッサエミュレータをoptionallyに使う CPU, cache, multiprocessor memory buses, network devices, disk drives, other I/O devicesなどをモデル 可能 Simicsに非常に似ている Embraというプロセッサエミュレータをoptionallyに使う 動的バイナリ変換

各論 QuickTransit by Transitive Corporation MIPS, PowerPC, mainframe processorなどのコードをx86やItaniumやOpteronで実行可能 MIPS, x86 , mainframe processorなどのコードをPowerPC上で実行可能 様々なUNIX OS間でのsystem call mapping dynamic binary translation

各論 Solaris Solaris containers Solaris Resource Manager (SRM) Zones trusted container BSD “jail” concept アプリケーションにとっては実際の機械に見える、 安全で隔離された実行環境

各論 Solaris Virtual Private Server カーネルは一つのものを共有 複数の隔離実行環境に分けられる 各環境ごとに独立に管理、設定、リブート、シャットダウンができる 薄いソフトウェア層で実現 カーネルモジュールの集合で大半は実装 アプリケーションは修正なしで走る

各論 Sphera SWSoft ホスティングの自動化と管理をするソフトウェアの会社 VDS (Virtual Dedicated Server) 一つの物理マシンをソフトウェアで複数の実行環境に分ける SWSoft Virtuozzo Virtual Private Serverを作れる Virtuozzo instanceは動的にpartitionされることができ、QoS保証もある

各論 TCP/IPスタックの仮想化 User-Mode Linux UMLinux Virtual PC VMware z/VM faultが存在するときのLinuxマシンの動作を 評価するためのフレームワーク Virtual PC VMware z/VM