2010年11月30日火曜日

QUXGA-W の衝撃

 MS-DOS の時代は、1 画面で表示できる文字数は 横80×縦25 文字が一般的でした。そのため、コーディングを行う際は、できるだけ変数名や関数名を省略して、1 行が長くなり過ぎないように心がけたものです。その後、Windows の時代(Ver.3.1 以降)に突入すると、画面の解像度も MS-DOS の VGA(640×480ピクセル)から SVGA(800×600 ピクセル), XGA(1024×768 ピクセル)と高解像度化していき、1 画面で表示できる文字数が増えていきました。一般に、変数名や関数名を省略してしまうと、それらがどんな役割を持つのか客観的にわかりづらくなってしまうため、高解像度の恩恵に預かるようになってからは、冗長なネーミングをするようになりました。例えば、.NET Framework 4 にはVisualBasicSettingsValueSerializer という長い名前のコンストラクタがありますが、MS-DOS の時代であれば、長くても VBSetValSeri という感じになったのではないかと思います。

 今は主に Visual Studio 2010 を使用して開発を行っていますが、上記のように、クラスライブラリのメソッド名やプロパティ名等は非常に長く、ソースコードの表示だけでも解像度の高いモニタを使用したいところです。加えてデバッグ時は、変数のウォッチなど、更にたくさんの情報を画面に表示したくなります。Visual Studio は、バージョン 2010 からマルチモニタに対応しており、あるモニタにはソースコードを、別のモニタにはデバッグ情報を表示する、といったことが可能になっています。現在は VAIO Z の FullHD モニタ(1920×1080ピクセル)で開発を行っていますが、この解像度の画面を以てしても少々手狭に感じることが多くなったため、別のモニタを 1 台追加してマルチモニタ環境で開発を行うべくモニタを物色していたところ、とんでもない解像度のモニタが見つかってしまいました…。

IBM T221 IBM_T221

 このモニタは 22.2 インチながら、実に 3840×2400 ピクセルもの情報を1画面で表示してしまいます! この解像度は、QUXGA-W(Quad Ultra eXtended Graphics Array - Wide)と呼ばれることからも分かるように、WUXGA(Wide Ultra eXtended Graphics Array、1920×1200 ピクセル) 4 画面分を 1 画面に収めてしまいます。このスペックを私の VAIO Z の Full HD モニタと比較してみると、こんな感じです。

  VAIO Z IBM T221
モニタサイズ 13.1 インチ 22.2 インチ
解像度 Full-HD
1920×1200 ピクセル
QUXGA-W
3840×2400 ピクセル
総ピクセル数 2,073,600 9,216,000
ドットピッチ 0.151 mm 0.125 mm
 

 総ピクセル数から分かるように、VAIO Z 比で約 4.5 倍もの情報を表示することができてしまうわけですね。ただ、IBM T221 に関してここで気になるのが、あまりにも解像度が高すぎることです。このモニタは外付けですから、ビデオカードからモニタまでは、DVI 等のケーブルで接続することになります。ここで、ビデオカードからモニタまではどのくらいの量のデータ転送が発生するのか計算してみます。

リフレッシュレート
(Hz)
カラーモード
(bit)
データ転送量
(GBytes/sec)
60 Hz 16 bit 1.11
60Hz 24 bit 1.66
60 Hz 32 bit 2.21

 リフレッシュレートは、1秒間に画面を何回書き換えるかを表します。液晶モニタでは、一般には 1 秒間で 60 回の画面の書き換えが行われます。この値が大きいほど、動きのある物体がなめらかに表示されるわけですね。また、カラーモードというのは、1 ピクセルあたりの色が何 bit のデータで表現されるかを表します。bit 数が大きいほど、より細やかな色が再現できることになります(例えば、1bit だと、例えば白と黒 2 色しか表すことができません)。24bit や 32bit は、一般に True Color と呼ばれ、人間が識別することができる色をすべて表現できると言われています。

 ここで、一般的によく使われるリフレッシュレート 60Hz かつカラーモード 32bit を IBM T221 で使用した場合を考えてみると、実に 1 秒間に 2GB 以上のデータ転送が発生する計算になります。この値は、画面を表示するための実データの転送に必要な量であり、実際には、データを周期的に正しく転送するための付加情報(オーバーヘッド)が加わります。したがって、おそらくは 2.5GBytes/sec 以上のデータ転送量が発生すると考えられますが、そもそもビデオカード側がそれだけのデータを転送することができるのか、また、ケーブルは、様々なノイズが発生する中で、それだけの転送に耐えることができるのか、といったことが問題となりそうです。

 このようなことから、実際にはリフレッシュレートを低く設定する必要が出てくると考えられますが、私としては Visual Studio が快適に使用出来れば十分なので、リフレッシュレートはそんなに高くなくても大丈夫だろう…ということで、ちゃんと下調べをせずに、見つけてから約1時間後、気づいたら購入ボタンを押していました…。その後 T221 の 仕様 をちゃんと調べてみると、QUXGA-W 表示時の最大リフレッシュレートは 48Hz であることが分かりました。また、ケーブルも DVI-D 2 本となっています。なるほど、という感じですね(さすがに 60Hz は厳しいようです)。

 さてこの IBM T221 ですが、実はこのブログを書いている時点では、まだ届いていません。使用レポートについては、後日、またご紹介したいと思っています(そもそも、私のビデオカードでまともに映るのかどうかという懸念はありますが…)。
 

2010年10月25日月曜日

ストレージデバイスの歴史 (1) - カセットレコーダー


 過去に、SSD の開発や HDD を使用した特定用途向け高速ストレージシステムの開発に携わったことがあります。どんな開発でも言えることですが、パフォーマンスの高いシステムを作るためには、その構造を正確に理解する必要があり、自然とストレージデバイスについて興味が向くようになりました。

 コンピュータシステムの中でも、ストレージは非常に面白いデバイスのひとつです。例えば、昨今はフラッシュメモリの価格低下が著しく、SSD の攻勢に押されつつある HDD ですが、そのメカニズムは想像以上に複雑かつ厳密であり、その性質はコンピュータシステムの中でも非常に異質なものです。

 過去を振り返ってみると、パンチカードや磁気ドラムなど、SSD や HDD の他にも面白いデバイスが沢山あります。当ブログでは、今回から様々なストレージデバイスについて、個人的な思い入れなどを踏まえながらご紹介していきたいと思います。

 まずは、私がコンピュータを使い始めてから最初に使用したストレージデバイスである、カセットレコーダーです。カセットレコーダーは、今となっては懐かしい(?)、カセットテープを使用して音声を録音・再生する機器です。みなさんご存知のラジカセ(最近の若者にはあまり縁がないかも知れませんが…)も、カセットレコーダーですね。
 

ラジカセ 
 ここで、「何でカセットレコーダーがストレージデバイスなの?」 と思われる方もいらっしゃると思います。私自身、カセットレコーダーを”ストレージデバイス”と言うには実はちょっと抵抗があるのですが、データを音声に変換するしくみを用いることで、カセットレコーダーは立派なストレージデバイスに変身します。このしくみについて非常に簡単に言うと、例えばデータが 0 のときは低い音(低周波音)、データが 1 のときは高い音(高周波音)というように、データをビット単位で音声に変換します。昔懐かしい音響カプラを使用して、普通の電話機の受話器をコンピュータと接続し、電話回線を通じてコンピュータ同士が通信する方法にも同じしくみが使われています。カセットレコーダーではデータから変換された音声をカセットテープに録音(記録)し、音響カプラではその音声を電話回線に伝送するわけですね。
 音響カプラ
 このカセットレコーダーが活躍していた 1980 年代には、既にフロッピーディスクドライブ(FDD)や HDD も活躍していました。これらはカセットテープと比較すると高速かつ大容量でしたが、非常に高価であったため(HDD はパソコンより高価だったり、フロッピーディスクも 1 枚で数千円もしていました)、多くのパソコンはカセットレコーダーのインターフェースを備えていました。ちなみに、カセットテープを使用したストレージデバイスは、正式には(?)データレコーダーと言います。以下は、私が初めてプログラミングする機会を提供してくれたコンピュータ(?)である、ファミリーベーシックのデータレコーダーです。

ファミリーベーシック 
 データレコーダーは、コンピュータ向けというだけあって、コンピュータがカセットテープ上のデータを読み書きする際に、コンピュータと通信してカセットテープの記録・再生操作を自動的に行う機能などが付いていたりしました。しかし、基本的なしくみは上記の通りですので、普通のカセットレコーダーでも十分でした。当時小学生だった私は、データレコーダのためだけに 9,800 円もの大金を捻出できるはずもなく(苦笑)、家にあった普通のカセットレコーダーを使用していました。カセットテープ上のデータを読み書きする場合は、コンピュータ側をデータの読み書き状態にセットした後、手動でカセットレコーダーの録音ボタンや再生ボタンを”ガチャン”と押していました(笑)。


 さて、実際のところ、カセットテープにはどのくらいのデータが記録できて(データ容量)、データを読み書きするにはどのくらいの時間がかかる(データ転送速度)のでしょうか? 例えば私が中学生の頃に使用していた MSX の場合は、高速モードのデータ転送速度は 2,400bps でした。つまり、1 秒間で 300 バイトのデータを読み書きすることができる計算になります。これをもとに、まずはカセットテープの収録時間とデータ容量の関係を見てみます。


カセットテープの収録時間とデータ容量の関係

カセットテープの収録時間

データ容量

データ量(参考)
30分

約 527 KB

DVD の映像データ 約 0.5 秒分
(8Mbps の場合)
60分 約 1 MB 約 10 年前のデジカメの写真 1 枚
SONY DSC-P5、標準画質)
90分 約 1.5 MB 2HD の FDD 1 枚分
(1.44 MB)
120分 約 2 MB 音楽データ 約 2 分
MP3 形式/128Kbps の場合)

 当時のパソコン等のメモリ(RAM)容量は数 KB ~ 数百 KB でしたので、カセットテープのデータ容量でも十分でした。今となっては、120 分のカセットテープをもってしても、最近のデジカメの写真 1 枚すら保存できない計算になります…。

 次に、データ容量とデータ転送速度について、現在のストレージデバイス等と比較してみます。
データ容量の比較
ストレージデバイス

データ容量

カセットテープ(120分)比
USB メモリ 8 GB 約 2,000 倍
SD メモリカード 16 GB 約 4,000 倍
SSD 64 GB 約 32,000 倍
HDD

2 TB

約 1,000,000 倍



データ転送速度の比較
ストレージデバイス、他

データ転送速度

カセットレコーダー(MSX)比
WiMAX 70 Mbps 約 31,000 倍
光ファイバー 100 Mbps 約 44,000 倍
USB メモリ 20 MB/s
(読み込み)
約 70,000 倍
HDD

100 MB/s
(シーケンシャル)

約 350,000 倍

SSD 200 MB/s
(読み込み)
約 700,000 倍
 
 HDD は、その機構上データレコーダーの類ではありませんが、現在の私たちにとって身近なストレージデバイスのひとつです。その HDD とカセットレコーダー(カセットテープ)を比較してみると、データ転送速度で 70 万倍、データ容量では実に 100 万倍もの差があることが分かります。また、HDD は任意のデータにすばやくアクセスするランダムアクセスが得意ですが、カセットレコーダーの場合はカセットテープを”早送り”や”巻き戻し”する必要があるため、ランダムアクセスは非常に苦手です。それでも、当時のプライベートユースにおいては、カセットレコーダーは立派なストレージデバイスでした。
 
 現在のストレージデバイスと比較すると、超低容量かつ超低速なカセットレコーダーですが、”録音”や”再生”ボタンをガチャガチャと押しながらデータの読み書きを行っていたことは、ひとつの良い思い出となっています。自分でもなぜ良い思い出なのかはっきりとは分からないのですが、この”アナログ的な操作”が心地良かったのかも知れません。
 
 昨今は、なにもかもが、どんどんデジタル化しています。テレビ、カメラ、クルマ、なんでもかんでもです。しかし、私たち人間がアナログである以上は、必ずアナログ的要素を心地良く感じるはずです。ストレージデバイスの歴史からは少々脱線してしまいますが、今後の開発においても、カセットレコーダーを操作するときにような、アナログ的な心地良い要素を取り入れていきたいと考えています。
 

2010年9月10日金曜日

ノート PC ”VAIO Z12” に Windows Server 2008 をインストール(その3, 最終回)


 前回は、実際に VAIO Z12(VPCZ1)Windows Server 2008 R2 をインストールする方法をご紹介しました。この方法で一番やっかいなのは、リカバリディスクから吸い出した各ドライバや VAIO 専用アプリのインストーラ(setup.exeなど)が格納されているフォルダ名が、何らかのコードのような表記(MODC-164679.no_51…など)になっており、インストーラを実行してみるまでは、その内容がわからないことです(関連するファイルをダンプして中身を確認する方法などもありますが、ちょっと玄人向けですよね) 。

 例えば、グラフィックコントローラのドライバだけをインストールしようとしても、リカバリディスクから吸い出し可能なインストーラは 200 個以上ありますので、そのインストーラを探し出すのは結構大変です。

 そこで今回は、リカバリディスクや VAIO サポートページを利用せずに各種ドライバ(※)を入手する方法をご紹介します。

(※) VAIO 専用アプリのインストールについては、リカバリディスクを使用するか、
   運良く VAIO サポートページ上にて提供されることを祈るしかありません(?)。

 ここでは例として、内蔵グラフィックコントローラのドライバを探してみます。



 1.デバイスマネージャを開く
  「スタートメニュー」→「コントロールパネル」→ 「ハードウェアとサウンド」
  →「デバイスマネージャ」をクリックします。

  Image1

 2.グラフィックコントローラの Vender ID および Device ID を確認する
  グラフィックコントローラのドライバがインストールされていない場合は、
  OS 標準のグラフィックドライバが適用されるため、デバイスマネージャの
  「ディスプレイコントローラ」を参照すると、「標準 VGA グラフィック アダプター」と
  表示されています(※)。

  (※) ドライバ未インストールのデバイスに対して OS が標準でドライバを持っていない
     場合は、”不明なデバイス”のように表示されます。この場合もステップ 2 と同様に、
     Device ID および Vender ID を確認することができます。

  これを右クリックし、「プロパティ」→「詳細」タブ→「プロパティ」→「ハードウェア ID」を
  選択します。

  Image2

  ここで「値」の欄を確認すると、
  「PCI\VEN_8086&DEV_0046&…」のように記載されています。

   これは、このデバイスは「PCI 接続」であり、
   「Vender ID は 8086(16進)」
   「Device ID は 0046(16進)」
  であることを表しています。

3.グラフィックコントローラのベンダー(メーカー)とデバイスの情報を調べる
  ステップ 2 により、このグラフィックコントローラは PCI 接続であることが分かりました。
  そこで、PCI デバイスのデータベースサイト PCIDatabase.com に行ってみます。

  このサイトでは、Vender ID または Device ID をもとに、そのデバイスが
    何であるかを調べることができます。

  まずはトップページから、「Vender Search:」に Vender ID の 8086 を入力し、
  Search ボタンを押します。

  Image3

  すると、この ID のベンダーは Intel Corporation であることが分かります。
  さらに「Intel Corporation」をクリックすると、

  Image4

  Device ID 毎に、そのデバイスの概要が表示されます。

  Image5

  このページ内で Device ID である 0046 を検索してみると、 このデバイスは
  「Intel Graphics Media Accelerator HD」であることが分かります

  Image6

  同様に、Device ID からデバイスを検索することも可能です。
  トップページから、「Device Search:」に Device ID の 0046 を入力し、
  Search ボタンを押します。

  Image7

    すると、各ベンダーの Device ID が 0046 のデバイスがリスト表示され、Vender ID が
  0x8086 の場合は「Intel Graphics Media Accelerator HD」であることが分かります。 

  Image8

  インテルのように、沢山の製品を持つベンダーの場合は、Device ID で検索した方が
  目的のデバイス情報を見つけやすいかも知れません。 

 4.ベンダーやデバイスの名前から、デバイスの情報を検索して確認する
  PCIDatabase.com 上の情報はユーザーが報告したもので、必ずしも正確とは言えません。
  そのため、とりあえず Google で、
   「Intel Graphics Media Accelerator HD」 と
  検索してみます。

  現時点で検索トップの Wiki によると、正式な呼称は「Intel HD Graphics」のようなので、
   「Intel HD Graphics ドライバ ダウンロード」 と
  検索してみます。

  検索トップのページを参照したところ、めでたくドライバのダウンロードページ
  辿りつけました!

  Image9

 5.おまけ:USB 接続のデバイスの場合
  USB 接続のデバイスの場合も、PCI 接続のデバイスと同様にドライバを探すことが
  可能です。

  USB 規格では、Vender ID と Product ID によって USB デバイスの ID を管理しています。
  デバイスマネージャ上でこれらの ID を確認し、linux-usb.org などでデバイスの情報を
  検索することができます。


 この方法は、VAIO に限らず、どの PC でも試すことができます。ドライバの入手にお困りの際は、是非試してみてください。

 それにしても、メーカーがドライバや専用アプリをネット上からダウンロードできるようにしてくれれば、こんな苦労は必要ないのですけどね(このあたりを嫌って VAIO の購入を避ける人も少なからずいるのではないでしょうか? 良い製品なのに勿体ないことです…)。ダウンロード提供物に関する一切の責任は放棄してもらっても構わないので、サービスの改善を願っています。

 余談:インテルの PCI Vender ID が 8086 というのが面白いですね(笑)。
     以前に、PCI Vender ID の取得申請を行ったことがありますが、
     通常は、PCI の規格団体 PCI-SIG が割り当てる ID を使用することになります。
     PCI 規格を作ったインテルの特権といったところでしょうか。

2010年9月5日日曜日

ノート PC ”VAIO Z12” に Windows Server 2008 をインストール(その2)


 今回は、VAIO Z12Widnows Server 2008 R2 をインストールする方法をご紹介します。

 準備するもの
  ・VAIO リカバリディスク(3枚)
   VAIO Care を使用してリカバリディスクを作成します。
   VAIO Care は 2008 R2 では動作しません(起動時に異常終了してしまいます)ので、
   Windows 7 で作成します。

  ・Mod2Wim
   リカバリディスクから VAIO 専用アプリや各種ドライバを吸い出すツールです。
   リカバリディスク内のパッケージは MOD 形式となっていますが、
   それを Windows イメージング (WIM) 形式 に変換してくれます。

  ・Windows 7 自動インストール キット(2008 R2 対応)
   WIM 形式のファイルを通常のファイルに変換するツール ImageX が格納されています。
   (Mod2Wim のパッケージ内にも ImageX が格納されていますが、これは 旧 OS 用の
    ため、Windows 7 や 2008 R2 では動作しません)

 インストール手順
   1.Mod2Wim.zip を解凍する
    今回は C:\Mod2Wim に解凍します。

   2.Windows 7 自動インストールキットをインストールする
    今回は C:\Program Files\Windows AIK\ にインストールします。

   3.自動インストールキット内の ImageX ツールを Mod2Wim フォルダにコピーする
    C:\Program Files\Windows AIK\Tools\x86 フォルダ内のすべてのファイル
    およびフォルダを C:\mod2wim\imagex32 に上書きコピーします。

   4.C:\Mod2Wim\Mod2Wim.bat を実行する
     実行すると、次のような画面になります。

    Image1

   5.リカバリディスク DISC1 をセットする
    今回は、E ドライブにセットします。

   6.リカバリディスクのドライブ設定する
    デフォルトではリカバリディスクは Z ドライブに設定されているため、
    ”Select option:” に ”S” キーを入力し、”S: Set Recovery Volume” を実行して
    ドライブを設定します。今回は、E ドライブを設定します。

    Image2

   7.MOD ファイルを WIM ファイルに変換する
    “1: Copy&Process MOD Files” を実行すると、リカバリディスク上の MOD ファイルが
    WIM ファイルに変換され、C:\mod2wim\wim に格納されます。

    Image3     変換中は、上のような画面になります。
    変換に失敗する場合は、リカバリディスクとドライブ設定を確認してください。

   8.リカバリディスク DISC2, 3 をセットし、変換する
    続いて DISC2, 3 をセットし、”1” キーを入力してファイルの変換を行ないます。

    変換完了後、C:\mod2wim\wim フォルダ内を確認すると、リカバリディスク上の
    MOD ファイルが WIM ファイルに変換されていることが分かります。

    Image5

   9.WIM ファイルを移動する
    C:\mod2wim\wim フォルダ内のすべての WIM ファイルを、適当なフォルダに
    移動します。ここでは C:\WIM とします。

   9.WIM 形式のファイルを通常のファイルとして見えるようにします
    C:\WIM 内の WIM ファイル 20 個を C:\mod2wim\wim に移動し、
    ”5: [Un]Mount Patched Files” を実行します。

    Image6

    ここで C:\mod2wim\wim フォルダ内を確認すると、WIM 形式のファイルに
    対応した “~.dir” フォルダが作成され、フォルダ内にはインストーラなどが
    格納されていることが分かります。

  10.”~.dir” フォルダを別な場所にコピーする
    ”~.dir” フォルダは ”5: [Un]Mount Patched Files” を実行している間のみ
    参照可能なため、すべての ”~.dir” フォルダを他の場所にコピーします。
    ここでは、C:\RecoveryFiles にコピーします。
    コピー完了後、C:\mod2wim\wim フォルダ内の WIM ファイルは特に必要ないため、
    再度 ”5: [Un]Mount Patched Files” を実行し、WIM ファイルのロックを解除してから
    削除します(または、WIM が必要な場合は適当なフォルダに移動してください)。

  11.ステップ 9, 10 を繰り返す
    C:\WIM 内の WIM ファイルがなくなるまで、ステップ 9~10 を繰り返します。

    ステップ 9 で WIM ファイルを 20 個ずつコピーして参照するようにしているのは、
    ”5: [Un]Mount Patched Files” を実行しても、C:\mod2wim\wim フォルダ内の
    WIM ファイルのうち、ファイル名前昇順の上位 20 個以外は ”~.dir” フォルダの
    中身が空になってしまい、正しく参照することができないためです。

    (これには少々ハマりました…)

  12.リカバリディスクからの吸い出し完了
    C:\RecoveryFiles フォルダ内には、リカバリディスクから吸い出した各種ドライバ
    および VAIO 専用アプリが格納されています。 これらファイルは、2008 R2
    インストール後に必要となりますので、USB メモリ等、適当な場所にコピーしておきます。

    なお、吸い出したドライバやアプリのフォルダは ”MODC-164679.no_51.wim.wim.dir”
    のような名前になっており、実行してみるまでその内容は分かりませんので、
    適当に実行してみてください。(^^;

  13.Windows Server 2008 R2、ドライバ、VAIO 専用アプリのインストール
    OS のインストール後、ドライバおよび VAIO 専用アプリをインストールします。
    VAIO 専用のアプリについて、例えば VAIO Care など、そのいくつかは
    2008 R2 では動作しませんでした。ただ、”VAIO の設定” や ”省電力の設定”、
    ”VAIO Event Service” などはインストールできましたので、ホットキーなど、
    VAIO として使用するための必要最低限の環境は整うと思います。

  14.インストール完了!
    VAIO Z12 で Windows Server 2008 R2 が動作しているのを見て
    自己満足に浸りましょう。(笑)

 おまけ
   Hyper-V を使用する場合は、現時点で Windows Server 2008 R2 Service Pack 1 Beta
  をインストールする必要がありますのでご注意ください。

   私は Hyper-V を使いたくて Windows Server 2008 R2 をインストールしたのですが、
  なぜか内蔵の Intel グラフィクスコントローラと Hyper-V のサービスが競合してしまい、
  起動時にブルースクリーンとなってしまう始末でした。グラフィクスドライバを OFF にすれば
  競合は発生しませんが、それでは Z12 の Full HD ディスプレイが泣いてしまいます。
  これでは何のために苦労してインストールしたのかと途方に暮れていたところ、
  Orion さんが SP1 の情報を見つけてきてくれました。Orion さんに感謝!

2010年8月19日木曜日

ノート PC ”VAIO Z12” に Windows Server 2008 をインストール(その1)


 先週より試行錯誤の末、なんとか VAIO Z12Windows Server 2008 R2 Enterprise Edition をインストールすることができました。「これで Hyper-V をノート PC でも使える!」と喜んでいたところ、ちょっと残念なことが…。

 持ち運びをするノート PC ですから、常に電源を ON にしておくわけにはいきません。また、電源を OFF にする場合も、常に OS をシャットダウンするのは効率的とは言えません。状況に応じて ”シャットダウン”と”スリープ(スタンバイ)”、"休止状態(Hibernation)"を使い分けるわけですが、特にノート PC の場合は、バッテリを消費しない(負担をかけない)”休止状態”を多用してきました。ところが、今回 Winodws Server 2008 をインストールしたところ、シャットダウンメニューに”休止状態”が見つかりません。電源関連の設定をあれこれ調べていたところ、なんと Microsoft のサポートにこんな情報が…。

 4GB 超のメモリを搭載している場合は、休止状態は使えないんですね。(;_;)

 休止状態をサポートしない理由については、
 「休止状態にする場合、コンピュータのメモリの内容を格納するにはディスクに十分な空き容量が必要です。4GB を超えるメモリが搭載されていて休止状態がサポートされている場合、コンピュータのパフォーマンスが低下します。このため、マイクロソフトではこのようなコンピュータでは休止状態のサポートを無効にしました。
 と説明されています(一方 Winodws 7 では、4GB 超のメモリを搭載した場合でも、休止状態はサポートされているんですけどね(^^;)。

 「ノート PC にサーバー OS をインストールして、しょちゅうスリープにしたり休止状態にしたりする使い方はどうなの?」という話はありますが(^^;、XP や Vista でも同じようなので、なんとも残念な話です。

2010年8月5日木曜日

Microsoft Visual Studio LightSwitch

Microsoft から「Visual Studio LightSwitch」が発表されました。

こちらこちらを拝見したところでは、どうやらこのツールを使うと、
SalesForceForce.com  や Rollbase のようなノリで、
簡単にビジネスアプリケーションを作成することができてしまうようです。

特徴としては…

 1.マルチプラットフォーム対応
  Silverlight アプリケーションおよびデスクトップアプリケーションをビルドできるため、
  携帯電話を含む各種ブラウザ、Windows Azure などのクラウド環境やデスクトップ
  (オンプレミス)環境など、様々なプラットフォーム上で動作するアプリケーションを
  作成することができます。

 2.アプリケーションを容易にカスタマイズすることができる
  アプリケーションが一般的な開発言語である C# や VB.NET で生成されること、
  また本ツールには Visual Studio コアと .NET Framework が利用されていることから、
  現在の Visual Studio によるアプリケーション開発と同じような感じで、
  アプリケーションを容易にカスタマイズできると想像されます。

 3.様々なデータベースを利用可能
  上記のようなプラットフォームに対応していることから、データベースについても、
  SQL Server や SQL Azure などを利用することができます。

などなど。

プラットフォームごちゃまぜの開発が行えるのは、とても魅力的ですね。
(将来的には当たり前になっているかも知れませんが…)
ベータ版のリリースは8/23 とのことなので、楽しみです。

.NET Framework クラスライブラリのソース内部を追跡

 先月より、Visual Studio 2010 + .NET Framework + C#  を使用し、ある開発を行っています。この広大な環境を使い始めてから日が浅いこともあり(?)、.NET Framework クラスライブラリのメソッド実行時に例外が発生しても、具体的にメソッド内のどこで何が起こっているのかが分からず、何が悪いのか、いまいちピンとこない場合があります。

 そんな時、「デバッグ実行時にライブラリのソース内部まで追えれば、話が早いのに…」などと偉そうに思っていたところ、ライブラリのソースデバッグを行う設定がありました。(^^;

設定手順:

  1. Visual Studio 2010 の「メニュー」→「デバッグ」→「オプションと設定」を選択します
  2. 「.NET Framework のソースステッピングを有効にする」をチェックしますオプション設定画面
  3. デバッグのオプション設定で「”マイコードのみ”設定を有効にする」をチェックしていた場合は以下のような警告が出ますが、マイコード以外のソースデバッグを行うのが今回の趣旨ですので、気にせず OK を押します警告1
  4. 以下のような説明がでますので、一応、気に留めておきます警告2
  5. 最後に、現在のプロジェクトで使用しているライブラリのシンボルをローカルにキャッシュするため、シンボルのダウンロードが自動的に始まります(使用しているライブラリが多い場合は、10分以上かかるかも知れません)。

 これで、クラスライブラリのソース内部まで追跡可能となりました!

classstring