OS와 동작해야 하는 Application이 직접 관여하는 언어를 unmanaged language라고 하며 C나 초기 C++가 이에 속합니다. 반면 OS와 App 사이에서 중간 관리자가 존재하는 경우가 있는데 이를 managed language라고 하며 바로 C#, Visual Basic 등이 이에 속합니다.
C#으로 코드를 작성하고 컴파일을 거치면 CIL(Common Intermediate language) code라고 하는 중간 코드의 형태(*.exe, *.dll, 어셈블리)로 존재하게 됩니다. 실행을 하게 되면 바로 그 중간관리자인 CLR(Common Language Runtime)이 그것을 받아 native code로 바꾸어 실행을 해 주는 것입니다.
이 CLR이 메모리 관리, 보안, type 등을 관리해 주므로 실제 실행되는 하드웨어의 차이에도 불구하고 안정적으로 실행되게 해 주는 것입니다.
.NET 프레임워크는 CLR, CTS, BCL, CLS로 이루어져 있습니다.
CLR: Common Language Runtime으로 지금까지 살펴보았습니다.
BCL: .NET이 제공하는 기본클래스 라이브러리(Basic Class Library)입니다.
CTS: Common Type System으로 공통 데이터형을 규정합니다.
int라는 4바이트 데이터형을 System.Int32라는 객체로 규정하여 관리합니다.
CLS: Common Language Specification으로 언어의 규약이 정의 되어 있습니다.
CLR: Common Language Runtime으로 지금까지 살펴보았습니다.
BCL: .NET이 제공하는 기본클래스 라이브러리(Basic Class Library)입니다.
CTS: Common Type System으로 공통 데이터형을 규정합니다.
int라는 4바이트 데이터형을 System.Int32라는 객체로 규정하여 관리합니다.
CLS: Common Language Specification으로 언어의 규약이 정의 되어 있습니다.
출처 MSDN |
댓글 없음:
댓글 쓰기