프로그래밍/실버라이트

[실버라이트] CLR(Common Language Runtime) - 공용 언어 런타임

쿠샨 2010. 12. 20. 23:46
CLR 개념

  - .Net Framework 의 기초로 런타임에 코드 실행을 관리하고, 컴파일, 메모리 관리, 스레드 관리, 코드 실
     행, 형식 안전성 유지 및 코드 안전성 확인과 같은 핵심 서비스를 제공 한다.

  - 코드 실행에 있어 적합한 환경으로 제공 하여 개발자의 생산성을 높여 주고, 강력한 응용 프로그램 개발에
    큰 도움이 된다.
     : 한 프로젝트에 여러 언어로 개발이 이루어 지더라도 CLR을 이용하여 통합 가능.

<위키 백과에 나온 CLR 그림>

  - 위키 백과 내용에 따르면, CLR을 사용하는 개발자는 C# 이나 VB 닷넷 과 같은 언어를 코딩 하고, 컴파일 시
     간에 닷넷 컴파일러는 이러한 코드를 공통 중간 언어로 변환 한다. 런타임 할 때 공통 언어 런타임의 JIT컴
     파일러는 공통 중간 언어 코드를 운영 체제의 네이티브 코드로 변환 한다. 이로써 나중에 실행되는 모든 소
     프트웨어가 빠르게 실행되도록 도와 준다.

  - CLR은 마이크로소프트의 윈도우 운영 체제 에서만 동작 한다.



Silverlight 메뉴얼에 나온 CLR 기능 설명

  - 메모리 관리
    : CLR의 쓰레기 수집기는 응용 프로그램의 메모리 할당과 해제를 관리한다.
                -> 즉, 응용 프로그램을 개발할 시 개발자는 메모리 관리 작업을 수행하기 위해 코드를 작성할 필요
                    가 없다. 자동 메모리 관리를 사용 하면, 메모리 관리에 대한 일반적인 문제를 해결 할 수 있다.

  - 공용 형식 시스템
    : 개별 언어 컴파일러가 아닌 런타임에서 사용 가능한 기본 형식이 정의되므로 개발자의 생산성이 높아 진
      다.
      자신이 개발한 언어 뿐만 아니라 다른 개발자가 다른 언어로 작성한 런타임, 클래스 라이브러리, 및 구성
      요소를 완전히 사용 할 수 있다. 이러한 이유로 공용 형식 시스템은 언어 독립성을 목표 실현에 도움을 주
      며, 자신이 선택한 언어로 응용 프로그램을 개발하는데 집중할 수 있다.