WPF で作る!! 仮想化支援技術確認ツール CLR/H ひよひよ Crystal Dew World

Slides:



Advertisements
Similar presentations
1 Layout Utilities の紹介 Layout Utilities とは、お客様のプログラムに 流し込み印刷を簡単に組み込めるソフトウエア開発ツールです 無償 流し込み印刷の例.
Advertisements

「AMDで使うと遅いんだけど」 x86/x64最適化勉強会 #4 LT
Visual Studio 2010 の新機能 Coded UI Test
Virtual Editionのご紹介 2012年12月12日.
Phoenixとは 2Dゲーム作成ツール. PROJECT. phoenixとは 2Dゲーム作成ツール.
ご使用の前に 使用可能なPC環境 Windows XP SP2 以上
榮樂 英樹 LilyVM と仮想化技術 榮樂 英樹
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
1.コンピュータと情報処理 p.20 第1章第1節 3.ソフトウェア ソフトウェア 基本ソフトウェア
Virtual Editionのご紹介 (株)ネットジャパン 法人営業部 2012年7月18日 1.
仮想化システムを用いて 複数のOSを動かす
操作は、バッチファイルを ダブルクリックするだけ!
Smart Care 仮想アプライアンス 技術トレーニング 2011 年 12 月
MajorなMeasure 囚人.
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟 +Beta2?
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟 +Beta2?
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
12.3,E,-15, 12.3,E5,+,=, >,<,…,
Ver Manual 2010 Tanaka.
MISAO with WPF JZ5 2008/6/7.
MISAO with WPF JZ5 2009/2/7.
MISAO with WPF JZ5 2009/2/7.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
2010/10/13 Windows10基本操作 第2章 Windowsの開始と終了 PVC六樹会パソコンサロン.
スティックライト for USB USB-ROMの開発手順について WindowsがUSBメモリから起動します。 株式会社ロムウィン
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
仮想マシンとPCの一元管理を 可能にする仮想AMTの開発
DAQ-Middlewareトレーニングコース 実習
圧倒的速さを誇る、高速&省電力! 大人気ストレージ「SSD」!
Windows 10 Pro 64bit レノボ i3 SSD:500GB 搭載モデル
Titanium Studioを使った アプリ開発 Vol.1
初めてのTSF 囚人.
Virtual Editionのご紹介 2012年7月26日.
卒業論文に向けて(5) 学部4年生 島本 大輔 2004年12月14日.
AMD64の仮想化技術を利用した 仮想マシンモニタの実装
2016年もおすすめ!高速ストレージ『SSD』搭載モデル
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
Windows Azure (CTP) 触ってみた
圧倒的速さを誇る、高速&省電力! 大人気ストレージ「SSD」!
Wake-on-LAN 神戸大学 理学部 地球惑星科学科          島津 通.
セキュリティ(3) 05A2013 大川内 斉.
WPFの初歩の初歩 うつせみ(虚蝉).
WPFの初歩の初歩 うつせみ(虚蝉).
デジタルテレビ対応製品 カテゴリガイド VGA to HDMI変換 USB3.0リムーバブルケース
実行時情報に基づく OSカーネルのコンフィグ最小化
ツールと Python で戯れる Azure データサービス 【第一弾】 ~準備編~
A Provably Sound TAL for Back-end Optimization について
ゲーム開発モデルの基礎.
Androidアプリの作成 情報工学部情報工学科 07A1069 松永大樹.
全体ミーティング 6月6日 島本 大輔(M2) 2006年6月6日(火).
初めてのTSF 囚人.
EGSに対応した粒子軌跡と 計算体系の3次元表示ソフト - CGVIEW -
Windows Azure (CTP) 触ってみた
MISAO with WPF JZ5 2008/6/7.
コンパイラ資料 実行時環境.
<前提条件> iSeriesSite ワークフロー 実行環境 構成イメージ
WindowsMobile de HelloWorld
WindowsMobile de HelloWorld
≅ ≰ ≳ ≗ ≲ ≩ ≴ ≥ ver manual Tanaka.
1.Windows XP の現状と今後 移行は進んでいるが、法人には移行できていない層が残っている まだXPのシェアは16.9%もある
オペレーティングシステム i386アーキテクチャ(1)
NGK2013B – 名古屋合同懇親会 2013忘年会 – Kouji
~目次~ Ⅰ.動作環境 Ⅱ.ファイルのダウンロード Ⅲ.システムのインストール Ⅳ.初期設定 Ⅴ.アンインストール
★C++/オブジェクト指向実践企画★ Othelloゲーム作成
仮想マシンと物理マシンを一元管理するための仮想AMT
WPF(.NET3.5)   vs Silverlight 2.0 Beta1 中 博俊@わんくま同盟.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
<前提条件> C/S Bridge(C/S版)
How To WPF アプリケーション Part3 By 中博俊.
Presentation transcript:

WPF で作る!! 仮想化支援技術確認ツール CLR/H ひよひよ Crystal Dew World http://crystalmark.info/

Virtual Windows XP とは? Windows XP SP3 + 仮想PC環境 実機 仮想PC 同じアプリでも得られる 情報に違いが…… 仮想PCにインストールしたアプリを直接起動可能!! 実機 仮想PC

Virtual Windows XP が動かない!? あっ、あれ?

AMD-V™ または Intel® VT (BIOS で有効に設定) が搭載された、ハードウェア仮想化に対応したプロセッサーが必要です。 Virtual Windows XP の動作には… AMD-V™ または Intel® VT (BIOS で有効に設定) が搭載された、ハードウェア仮想化に対応したプロセッサーが必要です。

VirtualChecker の出番ですよ!! 仮想化支援機能の状態確認 OpenLibSys.org http://openlibsys.org/index-ja.html

Panasonic CF-Y8 (Yシリーズ最終モデル) 『無効』⇒『有効』 BIOSセットアップ画面から 仮想化支援機能を有効にします。 ※設定変更後は一度電源を切りましょう。 Panasonic CF-Y8 (Yシリーズ最終モデル)

作ってみたいと思いませんか? 自分でも作ってみたいと思いませんか? WPFで!!

必要な機能は3つだけ!! Intel VT/AMD-V に対応しているか判定 Intel VT/AMD-V が有効か判定 結果を表示 CPUID命令を使用して判定 でもどうやって? RDMSR命令を使用して判定 でもどうやって? WPFで表示

WinRing0 汎用ハードウェアアクセスライブラリ http://openlibsys.org/ 修正 BSD ライセンス 主な機能 I/O ポートの読み書き PCI コンフィギュレーション空間の読み書き RDMSR/WRMSR などの特権命令発行 RDTSC や CPUID などの一般命令発行 ⇒ .NET Framework では実現できない CPUID命令やRDMSR命令の発行を代行

WinRing0.dll (WinRing0x64.dll) VirtualChecker WPF の構成 WinRing0.dll (WinRing0x64.dll) ユーザーモード:Ring3 カーネルモード:Ring0 WinRing0.sys WinRing0x64.sys

1. Intel VT/AMD-V 対応? Intel VT の場合 private bool IsIntelVtSupported() { // Feature Flag ECX の bit5 が 1 なら Intel VT 対応 uint eax = 0, ebx = 0, ecx = 0, edx = 0; if (ols.CpuidPx(0x1, ref eax, ref ebx, ref ecx, ref edx, (UIntPtr)1) != 0 && (ecx & (1 << 5)) != 0) { return true; } else return false; AMD-V の場合 省略

2. Intel VT/AMD-V 有効? Intel VT の場合 private bool IsIntelVtEnabled() { // Feature Control MSR EAX の bit1/bit2 が 1 なら Intel VT 有効 uint eax = 0, edx = 0; if (ols.RdmsrPx(0x3A, ref eax, ref edx, (UIntPtr)1) != 0 && ((eax & (1 << 1)) != 0 || (eax & (1 << 2)) != 0)) { return true; } else return false; AMD-V の場合 省略

完成!? 3. 結果の表示 if (IsIntelVtSupported()) { if (IsIntelVtEnabled()) str = "Intel VT 有効"; } else str = "Intel VT 無効"; else if (IsAmdvSupported()) { if (IsAmdvEnabled()) str = "AMD-V 有効"; } else str = "AMD-V 無効"; str = "Intel VT/AMD-V 未対応"; label1.Content = str; 完成!?

まとめ XP Mode が使えるかどうかわからない!! というお悩みもこれで解決です。 XAML <Window x:Class="VirtualCheckerWpf.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="VirtualChecker WPF" Height="110" Width="600" ResizeMode="NoResize"> <Grid FlowDirection="LeftToRight"> <Label Name="label1" FontSize="48" Height="70" Width="578" HorizontalContentAlignment="Center" /> </Grid> </Window> XP Mode が使えるかどうかわからない!! というお悩みもこれで解決です。