2022. 8. 5. 18:37ㆍDokhak/컴퓨터
위키백과
공용 언어 런타임 (CLR) 이란?
.NET 에서는 공용 언어 런타임이라고 하는 런타임 환경을 제공하는데,
코드를 실행하며 개발 과정을 더 쉽게 해주는 서비스를 제공한다.
CLR은 공통 중간 언어라고 불리는 바이트코드의 형태를 실행한다.
공통 언어 런타임을 사용하는 개발자들은 C#이나 VB 닷넷과 같은 언어로
프로그래밍하며, 해당 언어의 컴파일러가 소스 코드를 공통 중간 언어 코드로
변환한다. 일반적으로 런타임에 CLR의 JIT 컴파일러가 공통 중간 언어 코드를
운영 체제의 네이티브 코드로 변환한다.

공통 언어 런타임의 가상 머신은 프로그래머들이 CPU의 자세한 부분까지
신경 쓰지 않아도 되게끔 해주며, 다음과 같은 다른 중요한 서비스도 제공한다.
1. 메모리 관리
2. 스레드 관리
3. 예외 처리
4. 쓰레기 수집
5. 보안
NetInBag.com
공용 언어 런타임이란?
CLR은 컴퓨터 프로그래머에게 여러 컴퓨터 환경에서 프로그램을 실행할 수 있는
프레임워크를 제공한다. CLR은 MS의 공통 언어 인프라를 구현하도록 설계되었다.
MS .NET Framework의 핵심 요소 중 하나이며 프로그래머에게 중간 프로그래밍 코드를
제공한다.
컴퓨터 프로그램은 중앙 처리 장치 (CPU)에게 수행할 작업을 지시하는 일련의 기계 코드로
구성되는데, 특정 CPU가 이해할 수 있는 명령어 목록을 명령어 세트라고 한다.
각기 다른 모델의 CPU들은 각기 다른 명령어 세트를 갖고 있다.
컴퓨터 운영체제는 이러한 문제의 대부분을 해결한다. 운영 체제는 컴퓨터의 세부 정보를
추상화하여 프로그램이 다른 유형의 컴퓨터에서 실행될 수 있도록 한다.
그리고 이 운영 체제의 작동 방식 또한 운영 체제마다 다른데,
바로 이것이 공통 언어 런타임이 적용되는 곳이다.
CLR은 다양한 운영 체제와 컴퓨터에서 프로그램을 실행할 수 있는 또다른 추상화 계층을
제공한다. 이것은 이중 장점을 가지고 있는데, 프로그램이 다른 유형의 컴퓨터 하드웨어에서
실행될 수 있음을 의미할 뿐만 아니라 응용 프로그램 프로그래머가 프로그램 기능에 대해
더 많은 시간을 할애할 수 있도록 한다.
공통 언어 인프라는 프로그램을 일련의 CPU 관련 명령어로 만들지 않고 프로그램을 가상 CPU에 대한
일련의 명령어로 컴파일할 수 있도록 한다. 그런 다음 이 명령은 프로그램을 실행하기 위해
공용 언어 런타임에서 사용된다.
이를 통해 모든 개별 CPU 프로그램을 만들지 않고,
공용 언어 런타임에서 모든 CPU 및 운영 체제 별로 변경을 수행할 수 있다.
CLR을 사용하면 많은 이점이 있다.
프로그래머가 모든 컴퓨터에서 프로그램을 실행하는 것에 대해 걱정할 필요가 없고,
응용 프로그램에서 사용할 수 없는 여러 가지 성능 최적화를 수행할 수 있다.
이를 통해 프로그램이 훨씬 효율적으로 실행될 수 있다.
정리
.NET 프레임워크 기반의 프로그래밍 언어에서부터 운영체제까지
동작의 흐름을 정리하면,
1) C#과 같은 언어로 작성한 소스 코드를 C# 컴파일러가 공통 중간 언어로 변환.
2) 공통 중간 언어를 CLR이 운영체제에 맞는 네이티브 코드로 변환.
3) 운영 체제는 네이티브 코드 (기계어)를 받고 동작을 수행한다.
즉, 공용 언어 런타임이란
CLR을 지원하는 프로그래밍 언어로부터 컴파일된 공통 중간 언어를 받아
운영체제에 맞는 네이티브 코드로 변환함으로써
컴퓨터 환경과 무관하게 프로그램을 개발 및 실행할 수 있게 하는 런타임 환경이다.
'Dokhak > 컴퓨터' 카테고리의 다른 글
| [Computer] 닷넷 프레임워크란? (0) | 2022.08.05 |
|---|---|
| [Computer] 컴파일러란? (0) | 2022.08.03 |
| [Computer] 운영 체제란? (0) | 2022.08.03 |
| [Computer] 런타임이란? (0) | 2022.08.03 |
| [Computer] Process와 Thread란? ft.멀티쓰레드 (0) | 2022.08.02 |