.NET Framework
.NET Frameworkはインターネットを利用した分散環境において、アプリケーション開発を容易に行うためのプラットフォームを提供する。また、.NET Frameworkは以下の項目を実現することを目標として設計された。
- オブジェクト(プログラム等)の存在場所および起動場所を問わず、一貫したオブジェクト指向プログラミング環境を提供する。
- ソフトウェアのメモリ配置やバージョン管理の競合を最小限に抑えるための実行環境を提供する。
- コードの安全性を保証できる実行環境を提供する。
- スクリプトの実行やインタープリタにおけるパフォーマンス低下を回避する。
- WindowsアプリケーションおよびWebアプリケーションの開発において、一貫した環境で作業ができる。
- .NET Frameworkに基づいたコードを他のシステムと統合できるように、すべての通信処理を業界標準に準拠して構築する。
- .NET FrameworkはOSとアプリケーションとの間に存在し、「共通言語ランタイム」(Common Language Runtime:CLR)および「Frameworkクラスライブラリ」の2つの主要なコンポーネントにて構成する。
共通言語ランタイム
.NET 対応のプログラム言語では、ソースコードをコンパイルすることによりMicrosoft中間言語(MSIL)とメタデータ(MSILで宣言された型などを含め、プログラムのすべての仕様が含まれる)が生成される。また、MSILはマシンに依存しないコードで、プログラム実行時にCLRによってネイティブコードに変換される。(JIT[Just-In-Time]コンパイラ)
CLR はメモリ、スレッド実行、コード実行、コード整合性検査、コンパイル、およびその他のシステム サービスを管理する。これらの機能はCLRで実行されるマネージコードにあらかじめ用意され、プログラムの移植性、セキュリティ、言語間の統合およびパフォーマンスの向上をサポートする。CLRの主な機能について以下に示す。
- 実行時のインタラクティブ性
メタデータを通して実行時にプログラム間で通信することが可能。また、新しい型を検出し、動的にインスタンス化することにより、それらの型のメソッドを呼び出すことも可能。 - 移植性
CLRをサポートしている場合、Windows以外のプラットフォームにおいてもプログラムの再コンパイルをせずに実行することが可能。(CLRのJITコンパイラにてネイティブコードに変換される) - セキュリティ
MSILコードの安全性をCLRが分析する。 - アセンブリ
.NETアプリケーションを配布する単位をアセンブリという。アセンブリはマニフェストと1つ以上のモジュール(EXE、DLL)、およびリソース(HTMLやイメージファイル)の集合で成り立ち、マニフェストには名前とバージョン、および公開するすべての型とリソースのリスト、ならびに依存する他のアセンブリのリストが含まれる。 - 共通型
CLRでは共通型を管理するシステムとしてCTS(Common Type System)を実装する。CTSはメタデータとMSILで表現できる型(値型と参照型)、およびそれらの型に対して実行できる演算が定義され、C#、Visual C++.NET、VB.NETおよびその他の.NET 対応のプログラム言語をサポートする。
Frameworkクラスライブラリ
Frameworkクラスライブラリ(以下、FCLと称す)は基本クラスライブラリであり、FCLにはスレッド管理およびI/O管理などの基本機能ライブラリからデータサービス(ADO.NET)およびWebサービスなどの高機能ライブラリまで様々な用途のクラスライブラリが用意されている。また、FCLは.NET 対応のすべてのプログラム言語から使用できることを目的として実装されている。
2009年6月17日 17:14
