.NETフレームワーク上では,システム側に基本クラスライブラリがコンポーネントとしてサポートされ,中間言語コンパイラを搭載することにより,各ソフトウェアのシステムへの依存度を低くし,システム変更による影響が小さくなるようになっています.中間言語というと,昔から有名なPASCALのP-CODEや,最近ではJavaの中間言語などがありますが,中間言語はネイティブコードに比べて実行速度が低下するといった欠点があります. そこで,.NETフレームワークでは,中間言語対応のネイティブコンパイラが搭載され,インストール時や実行時には用途や目的に応じてネイティブコンパイラが動作し,ネイティブコードで実行されます. こうしたことはMS-DOSの頃にも行われていましたが,今になって再びシステムレベルでの中間言語のサポートが見直され始めたということです.これは,システムやプロセッサに依存しないという利点と,JIT(Just In Time)コンパイラ技術が向上し,ネットワークテクノロジとしての有用性がはっきりしてきたためだと思います. 図6に,中間言語ディスアセンブラの画面を示します.
● ILの利点 ILのサポートさえ行われていれば,プロセッサの種類や環境とは関係なく,アプリケーションやコンポーネントなどをそのまま動作させられます.これにより,基本技術の継承や再利用がさらに容易になるということです. ILを実行するためには,ILをネイティブコードにする実行用のコンパイラか,VM(Virtual Machine)が必要になります.そうした中間層を持つことで,ガーベジコレクションなどのメモリ管理やバージョニング管理などが意識して行われるばかりでなく,実行時のセキュリティ機構などにより,より安全にサーバを動作させることができるようになります. Copyright 2000 広畑 由紀夫 |
Copyright 1997-2000 CQ Publishing Co.,Ltd.