lunes, 25 de agosto de 2008

¿Que son el CLR y la Biblioteca de Clases .NET?

En este post, tratare unas de las partes mas importantes del .NET Framework, el CLR y la Bilioteca de Clases .NET.


CLR, Common Language Runtime

Comenzaremos con el CLR, es decir; el Commom Language Runtime o Lenguaje Comun en Tiempo de Ejecución; basicamente es el motor en tiempo de ejecucion del .NET Framework, que se encarga de ejecutar el codigo de todos los lenguejes del .NET Framework.
Pero, el CLR; hace mucho mas, para tener una vision mas amplia de el, a continuacion mostrare una imagen que muestra de que partes esta compuesto.

Como se puede observar, el CLR, la componen cada una de estas partes arriba mostradas; ellas son escenciales para la correcta de ejecucion de programas bajo la plataforma .NET, a continuacion describire brevemente de que se trata cada una de ellas:

Class Loader
Encargado de cargar las clases en memoria.

Compilador MSIL a Nativo
Aqui cabe mencionar que al momento de compilar una aplicacion hecha en cualquier lenguaje como C#, VB.NET, etc; su codigo se transforma en MSIL que significa Microsoft Intermediate Language, que como su mismo nombre indica es como un lenguaje intermedio que el .NET lo comprende y puede manejar; luego cuando se ejecuta la aplicacion, entra a tallar otro compilador, el JIT Compiler, quien esta encargado de transformar el codigo MSIL a codigo nativo propio del dispositivo donde se ejecuta.

Code Manager
Es el orquestador y coordinador de todos los subsistemas del CLR.

Garbage Collector
Encargado de eliminar de la memoria RAM los objetos no utilizados.

Security Engine
Encargado de Administrar todo lo referente a la ejecucion del codigo.

Debuge Engine
Quien ayuda a realizar un seguimiento a la ejecucion del codigo, aun cuando se utilizen distintos lenguajes, esto gracias a la carecteristica de .NET de ser multilenguaje.

Type Checker
Encargado de verificar y controlar que todas las variables utilizadas en la solucion, usen el area de memoria asignado.

Exception Manager
Administra los errores y/o excepciones que se puedan presentar en la aplicacion.

Thread Support
Se refiere al soporte de "hilos", es decir; de multiprocesos o de ejecutar codigo en forma paralela.

COM Marshaler
Es el comunicador de componentes .NET usados en la apliacion.

Base Class Library Support
Es una interfaz con las Clases Base del .NET.

Y es aqui donde queria llegar para mencionar a la Libreria de Clases del .NET.


Libreria de Clases


Es una libreria estandar disponible para todos los lenguejes que usan el .NET Framework; debidamente ordenadas en una jerarquia para hacer facil el trabajo de los desarrolladores. La Libreria de Clases, tiene diversas agrupaciones de clases, o namespaces, ya sean para funciones de entrada y salida, carga de graficos, interaccion con base de datos, manipulacion de XML, manejo de entornos web, etc.

Namespaces, o espacio de nombre; representa a la agrupacion de clases, enumeraciones, etc, que tienen un vinculo o relacion entre si.


A continuacion una imagen que representa a los namespaces mas usados de la Biblioteca de Clases.



Una vez comprendido el funcionamiento y la conformacion del .NET Framework, es mas facil llegar a manejar el IDE de Visual Studio, quien sera tema para nuestro proximo post.


No hay comentarios: