Funcionamiento y Características del Common Language Runtime CLR en .NET
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 3,82 KB
El Common Language Runtime (CLR): El Corazón de .NET
El Common Language Runtime (CLR) es el núcleo de la plataforma .NET. Es el motor encargado de gestionar la ejecución de las aplicaciones desarrolladas para ella, ofreciendo numerosos servicios que simplifican su desarrollo y favorecen su fiabilidad y seguridad.
Principales Características y Servicios del CLR
- Modelo de programación consistente: Se implementa a través de un modelo de programación orientado a objetos.
- Modelo de programación sencillo: Con el CLR desaparecen muchos elementos complejos incluidos en los sistemas operativos actuales, tales como el registro de Windows, GUIDs, HRESULTS, IUnknown, etc.
- Eliminación del “infierno de las DLLs” (DLL Hell): En la plataforma .NET desaparece el problema conocido como el conflicto de las DLLs que se da en los sistemas operativos de la familia Windows. Este problema consiste en que, al sustituirse versiones viejas de DLLs compartidas por versiones nuevas, puede que aplicaciones diseñadas para las versiones antiguas dejen de funcionar si las nuevas no son 100% compatibles. En la plataforma .NET, las versiones nuevas de las DLLs pueden coexistir con las viejas, de modo que las aplicaciones podrán seguir usándolas tras la instalación de las nuevas. Esto simplifica considerablemente la instalación y desinstalación de software.
- Ejecución multiplataforma: El CLR actúa como una máquina virtual, encargándose de ejecutar las aplicaciones diseñadas para la plataforma .NET. Es decir, cualquier plataforma para la que exista una versión del CLR podrá ejecutar cualquier aplicación .NET (aunque, cabe mencionar, esto no es verdad al 100% en todos los escenarios).
- Integración de lenguajes: Desde cualquier lenguaje que posea un compilador para .NET es posible utilizar código generado en cualquier otro lenguaje, tal como si se tratase de código escrito en el lenguaje original.
- Gestión de memoria: El CLR incluye un recolector de basura (Garbage Collector) que evita que el programador tenga que gestionar manualmente la destrucción de los objetos que dejan de ser útiles.
- Seguridad de tipos: Facilita la detección de errores de programación difíciles de localizar, comprobando que toda conversión de tipos realizada durante la ejecución sea compatible entre el origen y el destino.
- Aislamiento de procesos: El CLR asegura que el código perteneciente a un determinado proceso no pueda acceder a datos de otro, lo que evita errores frecuentes e impide que unos procesos puedan atacar a otros.
- Tratamiento de excepciones: Proporciona un sistema unificado para la gestión de errores y condiciones excepcionales.
- Soporte multihilo: Ofrece las herramientas necesarias para la ejecución de aplicaciones con múltiples hilos de procesamiento.
- Distribución transparente: El CLR ofrece la infraestructura necesaria para crear objetos remotos y acceder a ellos de manera transparente a su localización real, como si se encontrasen en la máquina local.
- Seguridad avanzada: Proporciona mecanismos para restringir la ejecución de ciertos códigos o los permisos asignados según su procedencia o el usuario que los ejecute.
- Interoperabilidad con código antiguo: Permite la integración y el uso de componentes y librerías desarrolladas previamente fuera del entorno .NET.