Los ensamblados y el código IL Contenido Módulo ¿Qué es un Ensamblado? El código MSIL.

Slides:



Advertisements
Presentaciones similares
Diccionario de Datos (DD)
Advertisements

Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Características Generales y Entornos de Desarrollo
Clasificación de los compiladores
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Programación para Office 2003 con Visual Studio Tools for Office System Octavio Hernández Servicios Profesionales Danysoft.
Introducción a la plataforma .NET.
Introducción a Microsoft .NET
Implementación de aplicaciones. Descripción Introducción a la implementación Implementar una aplicación basada en Windows Utilizar Visual Studio.NET Acceso.
Introducción a Microsoft .NET
Desarrollo de aplicaciones para Windows con VB.NET 2005 Capitulo 3.
Tecnologías para desarrollo de aplicaciones web. Un caso de uso
Sistemas Operativos Distribuidos Plataforma Cliente/Servidor
INTRODUCCIÓN A JAVA.
Common Language Runtime
Herramientas de Desarrollo Dr. Diego Lz. De Ipiña Gz. De Artaza
Temas Operaciones básicas Instalando el compilador
Programación Visual de Sistemas
Introducción a la Programación
Introducción a Microsoft .NET
Técnicas de Programación con Visual Basic
Lic. Israel García Anido
Introducción a la plataforma .NET.
Estrella 1 Introducción a Microsoft .NET
Módulo 1: Primeros Pasos
Bienvenidos.
Sistema La Plata Módulo I INTRODUCCION A APLICACIONES WEB.
POO (Programación Orientada a Objetos)
Interacción Persona Ordenador
1er. Comité de Usuarios. Historia ¿Qué hay de nuevo? No más cygwin. Exportación granular: trabajo distribuído. Compilación de metadatos. Manejo.
Programación e Ingeniería de Software III Informática UNIVERSIDAD AUTÓNOMA DE SINALOA Material Proporcionado por: MC. Gerardo Gálvez Gámez.
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
Programación e Ingeniería de Software III
ASP.NET es una nueva y potente tecnología para escribir páginas web dinámica. Es una importante evolución respecto a las antiguas páginas ASP de Microsoft.
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Introducción .NET Framework
REMOTING by Juan Martínez Gil.
Arquitectura del Common Language Runtime Daniel A. Seara Director Regional MSDN Buenos Aires – ARGENTINA NDSoft.
Control de errores visual basic
Leonard Camacho. DCom  Tecnología propietaria de Microsoft.  Extiende el modelo COM de Microsoft.  La “D” es debido al uso de su versión DCE/RCP, conocida.
LENGUAJES DE PROGRAMACIÓN
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
CAPACITACIÓN VISUAL STUDIO.NET(FILE) JOHNNY IV YOUNG OSPINO Analista Desarrollador
Introducción a la plataforma .NET Erich Bühler
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Ingeniería de software
Bienvenidos. Desarrollo de Aplicaciones I Lic. Alfonso Felipe Lima Cortés
Facultad de Ingeniería
Introducción al Lenguaje. ¿ Qué es PHP ? O Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en.
Facilitador: Christian Alexander Martinez
Clase 5 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Clase I Curso Microsoft .NET I.S.F.T. N° 182.
C OLEGIO DE B ACHILLERES N O.13 X OCHIMILCO, T EPEPAN C ARRASCO G ARCÍA L ORENA T ORRES H EREDIA C ARLA P ALMIRA G RUPO : 308 M ATUTINO E QUIPO : 12.
Introducción a .NET Nombre : Ethel García-Simón Matachana
Administrar.NET Framework v2 en Windows Server 2003.
OIS: Object's Indexed Serialiation Version Un sistema jerárquico de almacenamiento de objetos TOL de estructura arbitraria basado en ficheros binarios.
MAESTRIA EN CIENCIAS DE LA COMPUTACION Comparación de implementación de sistemas distribuidos usando COM y CORBA Jesús Gil Muñoz Julio 2001.
Colegio de Bachilleres Plantel 13 Xochimilco - Tepepan
 Palabra inglesa que define un conjunto de conceptos, prácticas y criterios.  En el desarrollo de Sw es una estructura conceptual y tecnológica que proporciona.
UNIVERSIDAD LATINA (UNILA)
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
Diccionario/Directorio de Datos
Módulo 4: Administrar el acceso a recursos
Entorno de Trabajo e Introducción a Java Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 1.
Curso de programación Visual Chart 6 (1ªEd.)
Proyecto Harry Generador de aplicaciones. Objetivo Crear una herramienta de desarrollo de sistemas que permita minimizar los tiempos de programación mediante.
Entregables del Proyecto
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación Computadoras V Conceptos Generales Profesor: Elian Rojas Berrocal.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Los ensamblados y el código IL

Contenido Módulo ¿Qué es un Ensamblado? El código MSIL

Módulos En.NET Framework se llama Módulo a un archivo DLL o EXE. Contiene código en Lenguaje Intermedio (IL), metadatos y opcionalmente el manifiesto del Ensamblado (Assembly). Pueden ser de 2 tipos: -Archivos de Recursos. -Archivos de Código compilado.

Ensamblado Un ensamblado es la unidad mínima (primaria) de distribución, implantación y versionado en.NET Es autodescriptivo e independiente de la plataforma. Tiene extensión DLL o EXE (PE) Compuesto de un manifiesto y de uno o más módulos. Parecido al código ensamblador, pero de alto nivel. Todas las aplicaciones.NET generan código MSIL.

Assembly Metadata Código Compilado MSIL Recursos MiBiblioteca.DLL Descripción de Tipos Clases Clases Base Interfaces Implementadas Atributos de las Clases Métodos de las Clases NombreVersiónCultura Manifiesto del Assembly Otros Assemblies Permisos de Seguridad Tipos Externos

NETModule En.NET, existe un tercer tipo de archivo (que no es un ensamblado, sino parte de él). Se utiliza para conformar un solo ensamblado de varios archivos. Son archivos con extensión *.netmodule No se pueden utilizar directamente como ensamblados. Un módulo no es un ensamblado, sino sólo una pieza para formar uno.

Tipos de Ensamblados Assemby sencillo ResourcesResources MSILMSIL MetaDataMetaData ManifestManifest ThisAssembly.dllThisAssembly.dll ResourcesResources MSILMSIL MetaDataMetaData ManifestManifest ThisAssembly.dllThisAssembly.dll MSILMSIL MetadataMetadata A.netmoduleA.netmodule B.netmoduleB.netmodule Manifest (No Assembly Metadata) Manifest MSILMSIL MetadataMetadata Manifest Manifest Assembly complejo

Características de un Assembly Unidad de distribución Unidad de distribución  Uno o mas archivos independientemente del empaquetado ( packaging)  Auto descriptivo usando el metadata  Reflection Versionado Versionado  Capturada por el Compilador Frontera de Seguridad Frontera de Seguridad  Contienen permisos de ejecución  Seguridad basada en evidencias  Los métodos pueden demandar pruebas de permisos concedido para todo el proceso de ejecución.

Que es el Metadata? Describe a un assembly Identifica: Nombre, versión, Cultura, Llaves publicas Que tipos son exportados A que otros assemblys hace referencia Permisos que se necesitan para la ejecución Descripción de tipos Nombre, visibilidad, clases base, interfaces que implementa Miembros ( métodos, campos, propiedades, eventos, tipos anidados) Sentencias declarativas Atributos definido por el usuario Atributos definidos por el compilador Atributos definidos por el framework

Manifiest

Global Assembly Cache Cache a nivel máquina Cache a nivel máquina Almacena assemblies que deben ser compartidos por diferentes aplicaciones Almacena assemblies que deben ser compartidos por diferentes aplicaciones Instalar en GAC solo los assemblies que deben ser compartidos y mantener privados a los que no Instalar en GAC solo los assemblies que deben ser compartidos y mantener privados a los que no Para instalar en GAC un assembly Para instalar en GAC un assembly Utilizar un instalador Utilizar un instalador Utilizar la herramienta gacutil.exe Utilizar la herramienta gacutil.exe Utilizar el Windows Explorer para arrastrar los assemblies al cache Utilizar el Windows Explorer para arrastrar los assemblies al cache

Que son los AppDomains? Procesos lógicos dentro del CLR Corren dentro de un proceso del Sistema Operativo Un proceso del sistema operativo puede contener varios AppDomains Es mucho mas barato que múltiple procesos del sistema operativo Mucho menos costoso el intercambio de ejecución Un assembly y sus tipos son siempre cargados dentro de un AppDomain Provee una frontera para Fallos Tipos Seguridad

CLR, AppDomains y Assemblies

Assemblies - Aplicaciones.NET Al ejecutar una aplicación, ¿cómo ubico los assemblies necesarios? El Class Loader busca en el directorio local (preferido) Global Assembly Cache (GAC) Diferentes aplicaciones pueden usar diferentes versiones Actualizaciones más simples Desinstalación más simple

Ensamblado

MSIL Microsoft Intermediate Language Es el lenguaje nativo de.NET. Como su nombre lo indica es el Lenguaje Intermedio entre la aplicación y el procesador. Independiente al Procesador en el que se vaya a ejecutar. Parecido al código ensamblador, pero de alto nivel. Todas las aplicaciones.NET generan código MSIL.

CLR - MSIL

Código MSIL

ILDASM Herramienta para navegar por el IL de un PE