사이드바 영역으로 건너뛰기

.NET Framework

.NET Framework

출처 : http://www.apmsetup.com/ASP/?pid=140#140 의 이근상님이 올리신 글입니다.


다음은 MS 에서 설명하는 .NET Framework 에 대한 설명 입니다.

■ .NET Framework

Microsoft .NET Framework는 분산된 인터넷 환경에서 응용 프로그램 개발을 간단하게 할 수 있는 새로운 컴퓨팅 플랫폼입니다.
.NET Framework는 코드의 안전한 실행을 보장하는 개체 지향 프로그래밍 환경을 제공하고,
스크립트된 환경의 성능 문제를 없애기 위해 설계되었습니다.

.NET Framework의 주 구성 요소에는 공용 언어 런타임 및 .NET Framework 클래스 라이브러리가 있습니다.

Microsoft ASP.NET은 메모리 관리, 스레드 관리,
엄격한 형식 안전성을 강화하는 원격 및 기타 보안과 견고성을 보장하는 코드 정확도를 구성하는 핵심 서비스를 제공합니다.
코드 관리는 런타임의 기본 원칙입니다.
런타임을 대상으로 하는 코드를 관리되는 코드라 하고,
런타임을 대상으로 하지 않는 코드를 관리되지 않는 코드라고 합니다.

.NET Framework 클래스 라이브러리는 개발자가 ASP.NET 응용 프로그램을 만들 때 사용할 수 있는 포괄적이고,
개체 지향적이며, 재사용 가능한 종류의 집합입니다.

■ 공용 언어 런타임 기능 (Common Language Runtime)

공용 언어 런타임에서는 메모리, 스레드 실행, 코드 실행, 코드 안전성 확인, 컴파일 및 기타 시스템 서비스를 관리합니다.

이 기능은 ASP.net이 호스트하는 공용 언어 런타임시 실행되는 관리되는 코드에 내장되어 있습니다.
관리되는 구성 요소는 시작점(예: 인터넷, 엔터프라이즈 네트워크 또는 로컬 컴퓨터)을 포함하여 여러 요소에 따라 신뢰도가 달라집니다.
이는 관리되는 구성 요소가 동일한 활성 응용 프로그램에 사용되더라도 중요한 기능을 수행할 수도 있고, 수행하지 못할 수도 있음을 의미합니다.

런타임에서는 코드 액세스 보안을 적용합니다.
응용 프로그램은 특정 리소스에 대한 액세스 권한을 부여받을 수 있지만 이 제한을 벗어난 리소스에는 액세스할 수 없습니다.

또한 런타임에서는 CTS(Common Type System)라고 하는 엄격한 종류 및 코드 확인 구조를 구현하여 코드 견고성을 유지합니다.
CTS는 모든 관리되는 코드가 자동 기술되는지 확인합니다.
즉, 관리되는 코드는 소프트웨어 개발에 사용된 언어 컴파일러 종류와 관계없이 다른 종류 및 인스턴스를 사용할 수 있습니다.

또한 런타임의 관리되는 환경에서는 일반적인 소프트웨어 문제를 대부분 제거합니다.
예를 들어 런타임에서는 개체가 더 이상 사용되지 않을 때 해당 개체를 해제하면서
자동으로 개체 레이아웃을 처리하고 개체에 대한 참조를 관리합니다.
이 자동 메모리 관리 기능은 가장 일반적인 응용 프로그램 오류 중 두 가지인 메모리 누수와 잘못된 메모리 참조 문제를 해결합니다.
런타임은 성능 향상을 목적으로 설계되었습니다.
공용 언어 런타임에서는 다양한 표준 런타임 서비스를 제공하지만 관리되는 코드는 절대 해석되지 않습니다.
JIT(Just In Time) 컴파일을 사용하면 모든 관리되는 코드는 해당 코드가 실행되는 시스템의 고유 기계어로 실행될 수 있습니다.
동시에 메모리 관리자는 성능을 더욱 향상시킵니다.

■ .NET Framework 클래스 라이브러리 (.NET Framework Class Library)

.NET Framework 클래스 라이브러리는 공용 언어 런타임과 강력하게 통합된 다시 사용할 수 있는 형식의 컬렉션입니다.
클래스 라이브러리는 개체 지향적이며, 응용 프로그램이 추가 기능을 파생할 수 있는 형식을 제공합니다.
클래스 라이브러리를 사용하면 .NET Framework 형식을 사용하기가 쉬워지고
.NET Framework의 새로운 기능을 익히는 데 필요한 시간이 줄어듭니다.
또한 타사 구성 요소가 .NET Framework의 클래스와 쉽게 통합될 수 있습니다.

.NET Framework 형식을 사용하면 문자열 관리, 데이터 수집, 데이터베이스 연결
및 파일 액세스와 같은 일반적인 프로그래밍 작업 범주를 수행할 수 있습니다.
이 외에도 클래스 라이브러리에는 특수화된 다양한 개발 시나리오를 지원하는 종류가 포함되어 있습니다.

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크