Anteriormente llamado Microsoft Intermediate Language o MSIL (durante las versiones de prueba de los lenguajes ) es el lenguaje de programación legible por humanos de más bajo nivel en el Common Language Infrastructure y en el .NET Framework. Los lenguajes del .
NET Framework compilan a CIL. CIL es un lenguaje ensamblador orientado a objetos, y está basado en pilas. Es ejecutado por una máquina virtual. Los lenguajes .NET principales son C#, Visual Basic .NET, C++/CLI, y J#.
Ahora es posible ejecutar este lenguaje en plataformas GNU/Linux gracias al Proyecto Mono, que implementa una maquina virtual similar a la de .NET pero de software libre.
Durante la compilación de los lenguajes de programación .NET, el código fuente es convertido a código CIL en lugar de código objeto específico del procesador o de la plataforma. CIL es un conjunto de instrucciones independientes de la plataforma y que puede ser ejecutado en cualquier CPU.La conversión es realizada gradualmente durante la ejecución del programa. La compilación JIT proporciona optimización especifica para el ambiente, seguridad de tipos en tiempo de ejecución, y verificación de ensamblados. Para cumplir con esto, el compilador JIT examina los metadatos del ensamblado en busca de accesos ilegales y maneja las violaciones apropiadamente.
Los metadatos son información acerca de las clases compiladas. Al igual que los tipos de biblioteca en el Component Object Model, permite a las aplicaciones proporcionar y descubrir interfaces, clases, tipos, métodos y campos en el ensamblado. El proceso de lectura de meta datos es llamado también reflexión.
El proceso de ejecucion de Ejecución de CIL es el siguiente:
- El código fuente es convertido a Common Intermediate Language y un ensamblado .NET es creado.
- Hasta la ejecución de un ensamblado .NET, su CIL es pasado a través del compilador JIT del Common Language Runtime para generar código nativo. (La compilación NGEN elimina este paso en tiempo de ejecución.)
- El código nativo es ejecutado por el procesador de la computadora.
No hay comentarios:
Publicar un comentario