Tema 12 Optimización de prestaciones
|
|
- María Pilar Rivero Hidalgo
- hace 8 años
- Vistas:
Transcripción
1 Tema 12 Optimización de prestaciones Formación específica, cursos verano 2008 ETS de Informática Aplicada Universidad Politécnica de Valencia
2 Motivación Optimizar para qué? Potencia de cálculo limitada Cantidad de energía disponible limitada Objetivo principal Comprender como gestiona la memoria el CLR Evitar prácticas que provocan recolección de basura innecesaria Comprender qué hace el entorno de ejecución y tratar de que haga lo menos posible
3 Conceptos generales básicos El código debe ejecutarse suficientemente rápido Nivel de satisfacción del usuario, versión anterior, productos de la competencia Incluir especificación de rendimiento mínimo e ideal Un buen rendimiento se diseña junto con la aplicación Es mejor (en primera instancia) centrarse en el rendimiento percibido que en el rendimiento real Comprender la plataforma sobre la que se ejecuta el código CLR (Common Language Runtime)
4 Compact CLR Engine Optimizar prestaciones suele implicar un compromiso entre Código que se ejecuta rápido Código que ocupa poca memoria Esto no siempre es así en el Compact CLR! Garbage Collector (GC) [Recolector de basura] Just-In-Time compiler (JIT) [Compilador en tiempo de ejecución]
5 Compilador JIT Compilador Fuente a lenguaje intermedio (IL) Compilador JIT Lenguaje intermedio código nativo La compilación se realiza método a método Sólo cuando el método es invocado Esto afecta al rendimiento
6 Compilador JIT Minimizar el coste Reducir la profundidad de la jerarquía de llamadas de métodos Evitar métodos muy largos Evitar la recursión Diferencias con el CLR del Desktop El código nativo generado puede desecharse No soporta imágenes nativas (mayor tamaño)
7 Compilador JIT Method Inlining El cuerpo de un método se incluye en el del método que lo llama Se evita realizar la llamada public void MetodoLlamador() { // Código que ejecuta una tarea X public void MetodoLlamador() { // Código que ejecuta una tarea X } this.metodollamado(); // Código que ejecuta una tarea Z private void MetodoLlamado() { // Código que ejecuta una tarea Y } En tiempo de ejecución } // Código que ejecuta una tarea Y // Código que ejecuta una tarea Z
8 Compilador JIT Típicamente acceso a atributos NOTA: Method Inlining Menos de 17 bytes de IL Sin saltos (típicamente un if) Sin variables locales Sin manejadores de excepciones Sin argumentos de coma flotante de 32-bits Sin valor de retorno Si tiene más de un argumento, deben accederse en el orden (menor a mayor) indicado en el IL
9 Compilador JIT Métodos virtuales Permiten que sean sobreescritos por clases derivadas 40% más costosos para el compilador JIT No permiten Method Inlining Coste de los diferentes tipos de métodos Métodos de instancia 2x/3x código nativo Métodos virtuales x1.5 código gestionado COM e Invoke x5/x6 método de instancia Ver ejemplo 1
10 Recolector de basura Localiza objetos y los libera cuando ya no son referenciados No debemos preocuparnos de la gestión de la memoria Pero hay que diseñar teniendo en cuenta la cantidad de memoria utilizada! Gestión de memoria en Windows CE y Windows Mobile
11 Recolector de basura Windows CE Máximo de 32 procesos en ejecución Máximo de 32 MB de memoria por proceso Restricciones eliminadas en Windows Embedded CE 6.0 Si queda poca memoria Se manda WM_HIBERNATE a las aplicaciones activa el recolector de basura Se manda WM_CLOSE a las aplicaciones Windows CE.NET Advanced Memory Management: Compact Framework Advanced Memory Management:
12 Recolector de basura Espacio de memoria virtual Windows CE Espacio de memoria virtual de aplicaciones Windows CE.NET
13 Recolector de basura Full collection (code pitching) La recolección de basura Se realiza sobre el hilo que está en ejecución Detiene la ejecución de todos los hilos Se realiza cuando: Se ha asignado 1 MB de memoria desde la última recolección (750 KB en la versión 1.0). El código llama a GC.Collect La aplicación pasa a ejecución en background Se produce un error al tratar de asignar un objeto gestionado El subsistema System.Drawing recibe un error out of memory al tratar de asignar un recurso no gestionado La aplicación recibe un mensaje WM_HIBERNATE
14 Contadores de prestaciones Remote Registry Editor Visual Studio 2005 Visual Studio Remote Tools Remote Registry Editor
15 Contadores de prestaciones HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFramework Crear una nueva clave PerfMonitor Crear una nueva entrada DWORD llamada Counters
16 Contadores de prestaciones Cada ejecución de una aplicación genera un fichero nombreaplicación.stat Obtener el fichero vía ActiveSync Remote File Viewer
17 Contadores de prestaciones Analisis de datos: Remote Performance Monitor.NET CF v2.0 SP1 C:\Archivos de programa\microsoft.net\sdk\ CompactFramework\v2.0\bin\NetCFRPM.exe
18 Contadores de prestaciones Loader El número de clases y métodos cargados es una buena indicación del tamaño de la aplicación Total Program Run Time (ms) Tiempo transcurrido desde la invocación del CLR App Domains Created # App Domains creados en el proceso App Domains Unloaded # App Domains descargados del proceso Assemblies Loaded # ensamblados cargados en todos los App Domains Classes Loaded # clases cargados en todos los App Domains Methods Loaded # métodos cargados en todos App Domains
19 Contadores de prestaciones Generics Puede aparecer el uso (interno) de generics aunque no sea explícito en el código Closed Types Loaded Closed Types Loaded per Definition # tipos genéricos cargados en todos los AppDomains # máximo de tipos genéricos creados para una definición dada en todos los AppDomains Open Types Loaded # tipos genéricos abiertos creados en todos los AppDomains Closed Methods Loaded Closed Methods Loaded per Definition Open Methods Loaded (normalmente solo mediante Reflection) # métodos genéricos únicos cargados en todos los AppDomains # máximo de métodos genéricos únicos creados para una definición dada en todos los AppDomains # métodos genéricos abiertos creados en todos los AppDomains (normalmente solo mediante Reflection)
20 Contadores de prestaciones Locks y Threads Problemas de retardos si Threads in Thread Pool > que el máximo número de hilos en el pool (25) Ratio Work Items Queued / hilos disponibles Los temporizadores utilizan hilos del pool (System.Threading.Timer) System.Threading.Monitor.Enter protege regiones de acceso concurrente Threads in Thread Pool # hilos en el pool actualmente Pending Timers Scheduled Timers Timers Delayed by Thread Pool Limit Work Items Queued Uncontested Monitor.Enter Calls Contested Monitor.Enter Calls # temporizadores esperando ser disparados actualmente # temporizadores en ejecución o planificados actualmente # temporizadores retrasados por el límite del pool de hilos # elementos de trabajo encolados en el pool de hilos # llamadas realizadas a Monitor.Enter que no se contestaron # llamadas a Monitor.Enter con lock contention
21 Contadores de prestaciones Garbage Collector Estadísticas del GC: GC Latency Time, Garbage Collections (GC), GC Compactions, y Code Pitchings Boxed Value Types (boxing y unboxing es costoso) Managed String Objects Allocated Peak Bytes Allocated (native + managed) Managed Objects Allocated Managed Bytes Allocated Managed String Objects Allocated Bytes of String Objects Allocated Garbage Collections (GC) Bytes Collected By GC Managed Bytes In Use After GC Total Bytes In Use After GC GC Compactions Code Pitchings Calls to GC.Collect GC Latency Time (ms) Pinned Objects Objects Moved by Compactor Objects Not Moved by Compactor Objects Finalized Boxed Value Types # máximo de bytes en uso por el CLR (memoria nativa y gestionada) # objetos asignados por el GC # bytes asignados por el GC # objetos string gestionados asignados por el GC # bytes de objetos string gestionados asignados por el GC # ejecuciones del GC Collector has run. # bytes recuperados por el GC # objetos vivos después de la última recolección # bytes de memoria, nativa y gestionada, después de la última recolección # veces que el GC ha compactado el heap # veces que el GC ha eliminado código compilado JIT (pitching) # veces que la aplicación ha llamado al método GC.Collect() Tiempo (ms) que el GC ha necesitado para recuperar objetos y compactar el heap # objetos pinned encontrados durante la recolección # objetos desplazados por el GC durante una compactación # objetos que el GC no pudo desplazar durante una compactación # objetos que ejecutaron el finalizador # bytes que han sido boxed
22 Contadores de prestaciones Memory JIT Heap counter representación nativa de todos los métodos gestionados compilados por el compilador JIT GC Heap counter memoria asignada para objetos gestionados El resto puede indicar el tamaño de la aplicación código más pequeño = código más rápido Process Heap Short Term Heap JIT Heap App Domain Heap GC Heap # bytes en uso en el heap por defecto del CLR # bytes en uso en el heap a corto plazo del CLR # bytes en uso en el heap del compilador JIT # bytes en uso en el heap del CLR del App Domain # bytes en uso en el heap del GC
23 Contadores de prestaciones JIT Números más grandes provocarán mayores pérdidas de prestaciones en la aplicación Native Bytes Jitted Methods Jitted Bytes Pitched Methods Pitched Method Pitch Latency Time (ms) # bytes de código nativo generado por el compilador JIT # métodos generados por el compilador JIT # bytes de código nativo generado por el compilador JIT que son pitched # métodos generados por el compilador JIT que son pitched Tiempo total (ms) gastado en pitching métodos generados por el compilador JIT
24 Contadores de prestaciones Exceptions Son muy costosas Un número alto no solo indica pérdida de prestaciones, sino un mal diseño de la aplicación Exceptions Thrown # excepciones gestionadas lanzadas
25 Contadores de prestaciones Interop Traspasar la frontera entre código gestionado y código nativo tiene un alto coste Intentar diseñar llamadas grandes en lugar de múltiples llamadas pequeñas Platform Invoke Calls COM Calls Using a vtable COM Calls Using IDispatch Complex Marshaling Runtime Callable Wrappers # llamadas Platform Invoke de código gestionado a código nativo, excluyendo las llamadas Platform Invoke internas del CLR # llamadas de código gestionado a código nativo utilizando el método vtable de COM Interop # llamadas de código gestionado a código nativo utilizando el método IDispatch de COM Interop # objetos marshalled de código gestionado a código nativo que precisaron copiar o transformar datos # COM Runtime Callable Wrappers creados
26 Contadores de prestaciones Networking Socket Bytes Sent Socket Bytes Received # bytes enviados a través de sockets # bytes recibidos a través de sockets
27 Contadores de prestaciones Windows.Forms El proyecto por defecto (sin ningún control ni código) incluye un brush y una font En presencia de valores altos, podría pensarse en reutilizar algunos de los ya creados Controls Created Brushes Created Pens Created Bitmaps Created Regions Created Fonts Created Graphics Created (FromImage) Graphics Created (CreateGraphics) # controles creados por la aplicación # brochas creadas por la aplicación # lápices creados por la aplicación # bitmaps creados por la aplicación # regiones creadas por la aplicación # fuentes creadas por la aplicación # objetos gráficos creados por 'FromImage' # objetos gráficos creados por 'CreateGraphics'
28 Contadores de prestaciones Analisis de datos en vivo: Remote Performance Monitor Instalación.NET CF v2.0 SP2 Instalar en PC C:\Archivos de programa\microsoft.net\sdk\ CompactFramework\v2.0\WindowsCE\wce500\armv4i Instalar Netcfrtl.dll y Netcflaunch.exe en Windows\ (PDA) Ejecución Windows\netcflaunch (PDA) C:\Archivos de programa\microsoft.net\sdk\ CompactFramework\v2.0\bin\NetCFRPM.exe (PC) Introducir IP y puerto + ruta completa de la aplicación a monitorizar
29 Contadores de prestaciones Análisis de datos en vivo: Remote Performance Monitor Instalación.NET CF v2.0 SP2 Instalar en PC C:\Archivos de programa\microsoft.net\sdk\ CompactFramework\v2.0\WindowsCE\wce500\armv4i Instalar Netcfrtl.dll y Netcflaunch.exe en Windows\ (PDA) Ejecución Windows\netcflaunch (PDA) C:\Archivos de programa\microsoft.net\sdk\ CompactFramework\v2.0\bin\NetCFRPM.exe (PC) Introducir IP y puerto + ruta completa de la aplicación a monitorizar
30 Contadores de prestaciones Análisis de datos en vivo: Remote Performance Monitor Ejecutar el monitor de rendimiento de Windows XP Perfmon en la consola Agregar los contadores.net CF deseados
31 Medición de prestaciones por programa.net Compact Framework no incluye ningun profiler Medir el tiempo de ejecución requiere el uso de tick count Environment.TickCount # milisegundos desde el inicio del sistema Medir el consumo de memoria (# de bytes consumidos por la aplicación) long bytesutilizadosporobjetosgestionados = GC.GetTotalMemory(false);
32 Medición de prestaciones por programa int tiempoinicial = Environment.TickCount; // código a medir int tiempofinal = Environment.TickCount; int tiempotranscurrido = tiempofinal - tiempoinicial;
33 Medición de prestaciones por programa Crear un entorno repetible entre experimentos que no sea afectado por factores externos Compilar en modo Release Ejecutar sobre el dispositivo físico, no en el emulador, no desde Visual Studio No ejecutar otras aplicaciones simultáneamente Cerrar conexiones de red e Internet que no sean estrictamente necesarias
34 Medición de prestaciones por programa Obtener una medida media No medir una única vez Descartar la primera medida para compensar el efecto del compilador JIT No incluir el mecanismo de logging en las medidas Considerar segundos y no milisegundos (efecto impredecible del GC)
35 Consideraciones Lanzar excepciones es costoso Evitarlo si no es necesario Para los desarrollador envisual Basic Evitar usar On Error GoTo/Resume Next Sustituir por try catch finally
36 Consideraciones Mejorar el tiempo de inicio Mantener la interfaz de usuario responsive SuspendLayout/ResumeLayout y BeginUpdate/EndUpdate Cargar datos y realizar tareas costosas en un hilo en background Double-Buffering Cargar un ensamblado con un nombre strong debe verificarse cuanto mayor el ensamblado más tiempo tardará en cargar Eliminar recursos empotrados y cargarlos desde el sistema de ficheros
37 Consideraciones Los strings son objetos inmutables Ver ejemplo 2 Operar con strings implica crear y copiar múltiples objetos string Utilizar System.Text.StringBuilder Ficheros XML Para ficheros mayores de 64 KB, utilizar System.Xml.XmlReader en lugar de System.Xml.XmlDocument Utilizar propiedades como IgnoreWhitespace Mantener los nombres de elementos y atributos cortos System.Data.SqlServerCe SqlCeResultset diseñado para acceso local a bases de datos
38 Consideraciones Matemáticas Utilizar números de 32 bits El compilador JIT utiliza registros de la CPU para almacenar variables de 64 bits Advanced RISC Machines (ARM) no tienen unidad de coma flotante El tipo decimal no tiene traducción directa a un tipo IL
39 Consideraciones Reflexión Utilizar la reflexión es costoso Creación de tipos Utilizar factorías de clases Invocación de miembros de tipos creados utilizar interfaces
40 Consideraciones Colecciones Ver ejemplo 3 Boxing/Unboxing ArrayList List<T> int[] Utilizar bucle for en lugar de foreach, que utiliza reflexión Determinar el tamaño de la colección por medio de un constructor que acepte una capacidad Extender la capacidad indicada implica reservar mayor espacio y copiar todos los elementos
41 Consideraciones Sobreescribir métodos System.Object Ver ejemplo 4 La reflexión es costosa Sobreescribir ToString() implica una llamada a un método virtual, pero su coste es menor que utilizar reflexión Sobreescribir Equals y GetHashCode cuando sea posible son virtuales, utilizan reflexión y boxing
42 Conclusiones Metodología Medir si existen problemas de prestaciones Determinar la causa de la pérdida de prestaciones Aplicar las técnicas oportunas Medir de nuevo las prestaciones Mantener el cambio si provoca una mejora Diversas técnicas son contrarias a los buenos principios de diseño NO aplicar las técnicas explicadas de forma indiscriminada
Métricas para Informes de Pruebas de Rendimiento.
para Informes de Pruebas de Rendimiento. Unidad de Calidad y Certificación. Pag 1 Contenido 1 INTRODUCCIÓN.... 3 2 MÉTRICAS PARA INFORMES DE PRUEBAS DE RENDIMIENTO.... 3 2.1 MÉTRICAS CLIENTE.... 3 2.1.1
Más detallesJava Inicial (20 horas)
Java Inicial (20 horas) 1 Temario 1. Programación Orientada a Objetos 2. Introducción y Sintaxis Java 3. Sentencias Control Flujo 4. POO en Java 5. Relaciones entre Objetos 6. Polimorfismo, abstracción
Más detallesTema 1. Introducción a JAVA
Tema 1. Introducción a JAVA Historia Características Plataforma Java Entorno de desarrollo Ejemplo: Hola mundo Estructura general de un programa Java 1 Historia de Java (i) Surge en 1991: Sun Microsystems
Más detallesA continuación resolveremos parte de estas dudas, las no resueltas las trataremos adelante
Modulo 2. Inicio con Java Muchas veces encontramos en nuestro entorno referencias sobre Java, bien sea como lenguaje de programación o como plataforma, pero, que es en realidad Java?, cual es su historia?,
Más detallesModelo de Objetos Distribuidos
Remote Method Invocation Modelo de Objetos Distribuidos Un objeto remoto es un objeto cuyos métodos pueden ser invocados desde otra máquina virtual de java, potencialmente en un host diferente. Modelo
Más detallesConfiguracion Escritorio Remoto Windows 2003
Configuracion Escritorio Remoto Windows 2003 Instalar y configurar servicio de Terminal Server en Windows 2003 Fecha Lunes, 25 diciembre a las 17:04:14 Tema Windows (Sistema Operativo) Os explicamos cómo
Más detallesINSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA
INSTITUTO TECNOLÓGICO DE COLIMA LIC. EN INFORMÁTICA TERMINAL SERVER TUTOR: JORGE CASTELLANOS MORFIN 19/02/2012 VILLA DE ALVARES, COLIMA Indice Introducción... 3 Objetivo... 3 Lista de Materiales... 3 Procedimiento...
Más detallesGuía Rápida de Puesta en Marcha de MailStore
Guía Rápida de Puesta en Marcha de MailStore Primeros Pasos Paso 1: Requerimientos de sistema e instalación El servidor de MailStore se puede instalar en cualquier PC en la red. Si se esta utilizando un
Más detallesInstalación. Interfaz gráfico. Programación de Backups. Anexo I: Gestión de la seguridad. Manual de Usuario de Backup Online 1/21.
1/21 Instalación Interfaz gráfico Requerimientos Proceso de instalación Pantalla de login Pantalla principal Descripción de los frames y botones Programación de Backups Botones generales Botones de programación
Más detallesMódulo 2. Inicio con Java
Módulo 2. Inicio con Java Objetivos: -Clasificar el lenguaje de programación Java según las formas de clasificar los lenguajes de programación. -Describir el funcionamiento de la plataforma Java. -Explicar
Más detallesINTRODUCCIÓN A JAVA. Índice
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? Bibliografía 2 1 Qué es Java? La tecnología Java
Más detallesservicios. El API es definido al nivel de código fuente y proporciona el nivel de
GLOSARIO API Application Program -ming- Interface Es la interfaz por la cual una aplicación accede al sistema operativo u a otros servicios. El API es definido al nivel de código fuente y proporciona el
Más detallesINF 473 Desarrollo de Aplicaciones en
INF 473 Desarrollo de Aplicaciones en Java Unidad II El Lenguaje de Programación Java Prof. José Miguel Rubio jose.rubio.l@ucv.cl jrubio@inf.ucv.cl PUCV Marzo 2008 1 Orígenes del Lenguaje Java 1991. James
Más detallesWINDOWS 2008 5: TERMINAL SERVER
WINDOWS 2008 5: TERMINAL SERVER 1.- INTRODUCCION: Terminal Server proporciona una interfaz de usuario gráfica de Windows a equipos remotos a través de conexiones en una red local o a través de Internet.
Más detallesApéndice 5 Manual de usuario de ColeXión. ColeXión 1.0. Manual de usuario
Apéndice 5 Manual de usuario de ColeXión ColeXión 1.0 Manual de usuario Índice 1. Qué es ColeXión?... 2 2. Requerimientos del sistema... 3 3. Instalación de ColeXión... 3 4. Creación de un nuevo esquema...
Más detallesAcronis License Server. Guía del usuario
Acronis License Server Guía del usuario TABLA DE CONTENIDO 1. INTRODUCCIÓN... 3 1.1 Generalidades... 3 1.2 Política de licencias... 3 2. SISTEMAS OPERATIVOS COMPATIBLES... 4 3. INSTALACIÓN DE ACRONIS LICENSE
Más detallesMANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0
MANUAL DE USUARIO PARA LA INSTALACION DE LOS AGENTES COMMVAULT SIMPANA 9.0 Commvault Simpana 9 es la solución a la administración de los respaldos de los datos y archivos digitales, ya que ofrece un enfoque
Más detallesEdición de Ofertas Excel Manual de Usuario
Edición de Ofertas Excel Manual de Usuario Alfonso XI, 6 28014 Madrid F(+34) 91 524 03 96 www.omie.es Ref. MU_OfertasExcel.docx Versión 4.0 Fecha: 2012-11-26 ÍNDICE 1 INTRODUCCIÓN 3 2 CONSIDERACIONES DE
Más detallesMicrosoft SQL Server Conceptos.
Microsoft Conceptos. Microsoft 2005 es una plataforma de base de datos a gran escala de procesamiento de transacciones en línea (OLTP) y de procesamiento analítico en línea (OLAP). La siguiente tabla muestra
Más detallesInstalación de la aplicación.
Manual de Instalación del Auto apagado de la UPV. Versión 1.0.1. Marzo del 2010 Redactado por Guillermo García. Dudas o erratas a guillermogn@upv.es. Instalación de la aplicación. Introducción La aplicación
Más detallesGuía rápida del usuario. Disco duro virtual.
Guía rápida del usuario. Disco duro virtual. Servicio de compartición de carpetas y archivos a través de Internet y sincronización con dispositivos móviles. Índice Introducción Definir espacio por defecto
Más detallesWINDOWS 2008 7: COPIAS DE SEGURIDAD
1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden
Más detallesGedicoPDA: software de preventa
GedicoPDA: software de preventa GedicoPDA es un sistema integrado para la toma de pedidos de preventa y gestión de cobros diseñado para trabajar con ruteros de clientes. La aplicación PDA está perfectamente
Más detallesAntivirus PC (motor BitDefender) Manual de Usuario
Antivirus PC (motor BitDefender) Manual de Usuario Índice 1. Introducción... 3 2. Qué es Antivirus PC?... 3 a. Eficacia... 3 b. Actualizaciones... 4 3. Requisitos técnicos... 4 a. Conocimientos técnicos...
Más detallesManual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2
Manual de software Dynamic Cloud 10/2014 MS-Dynamic_Cloud v1.2 ÍNDICE GENERAL 1. INTRODUCCIÓN... 2 1.1 Configuración mínima del PC... 2 2. INSTALAR DYNAMIC CLOUD... 3 2.1 Ejecutar Dynamic Cloud por primera
Más detalleshttp://www.statum.biz http://www.statum.info http://www.statum.org
ApiaMonitor Monitor de Infraestructura BPMS Por: Ing. Manuel Cabanelas Product Manager de Apia Manuel.Cabanelas@statum.biz http://www.statum.biz http://www.statum.info http://www.statum.org Abstract A
Más detallesCOMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX
COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX En este manual se presenta el proceso de configuración de una Maquina Virtual en VirtualBox, que será utilizada para instalar un Servidor
Más detallesJ2ME ENTORNO DE EJECUCIÓN. Un entorno de ejecución determinado de J2ME se compone entonces de una selección de:
J2ME Esta versión de Java está enfocada a la aplicación de la tecnología Java en dispositivos electrónicos con capacidades computacionales y gráficas muy reducidas, tales como teléfonos móviles, PDAs o
Más detallesPS.Vending Almacén Pocket PC
Versión 1.0 Enero 2013 Autor: Pedro Naranjo Rodríguez www.psvending.es Contenido Qué es PS.Vending Almacén Pocket PC?... 3 Funciona PS.Vending Almacén Pocket PC independiente de PS.Vending?... 3 Requisitos...
Más detallesV i s i t a V i r t u a l e n e l H o s p i t a l
V i s i t a V i r t u a l e n e l H o s p i t a l Manual de Restauración del PC Septiembre 2011 TABLA DE CONTENIDOS SOBRE EL SOFTWARE... 3 CONSIDERACIONES ANTES DE RESTAURAR... 4 PROCEDIMIENTO DE RECUPERACION...
Más detallesMarcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net
Marcos de Desarrollo Diseño e implementación de aplicaciones Web con.net Prácticas de laboratorio (.NET) Planificación de clases prácticas 1. Introducción al entorno de trabajo 2. Ejemplos C# 3. Ejemplos
Más detallesGuía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.6
Guía de instalación de Citrix EdgeSight for Load Testing Citrix EdgeSight for Load Testing 3.6 Copyright El uso del producto descrito en esta guía está sujeto a la aceptación previa del Contrato de licencia
Más detallesGuía de acceso a Meff por Terminal Server
Guía de acceso a Meff por Terminal Server Fecha:15 Marzo 2011 Versión: 1.02 Historia de Revisiones Versión Fecha Descripción 1.00 03/07/2009 Primera versión 1.01 13/08/2009 Incorporación dominio 1.02 15/03/2011
Más detalles1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)
Más detallesTema 2: La Tecnología Java
Tema 2: La Tecnología Java 0 La Tecnología de Java Es : Un lenguaje de programación Similar a C/C++ sin los problemas de manejo de memoria. Un ambiente de desarrollo Compilador, intérprete, generados de
Más detallesAnálisis de aplicación: Vinagre
Análisis de aplicación: Vinagre Este documento ha sido elaborado por el Centro de Apoyo Tecnológico a Emprendedores bilib, www.bilib.es Copyright 2011, Junta de Comunidades de Castilla La Mancha. Este
Más detallesCONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003
CONFIGURACIÓN TERMINAL SERVER EN WINDOWS 2003 AUTORÍA ÁNGEL LUIS COBO YERA TEMÁTICA SERVICIOS DE INTERNET ETAPA BACHILLERATO, CICLOS FORMATIVOS. Resumen En este artículo, se detalla paso a paso como instalar
Más detallesArchivo de correo con Microsoft Outlook contra Exchange Server
Archivo de correo con Microsoft Outlook contra Exchange Server Resumen Con este proceso de archivado, lo que pretendemos es guardar nuestro correo en un archivo de datos, para así poder realizar una copia
Más detallesBienvenida. Índice. Prefacio
Bienvenida Intel Learning Series Theft Deterrent Agent se ejecuta en el equipo Intel Learning Series classmate PC del alumno, diseñado especialmente para la máxima seguridad. El software Intel Learning
Más detallesLABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD
LABORATORIO 10. COPIAS DE SEGURIDAD, RESTAURACIÓN Y RECUPERACIÓN DE UNA BD GUÍA DE LABORATORIO Nº 1O Actividad de Proyecto No. 12: ESTABLECER PLANES DE RESGUARDO, RESTAURACION Y CONTINGENCIA. Copias de
Más detallesManual de Instalación. Sistema FECU S.A.
Manual de Instalación Sistema FECU S.A. Índice Requerimientos de hardware... 3 Requerimientos de software... 3 Bajar programas desde Internet... 4 Manual de Usuario... 5 Archivos de instalación FECU S.A....
Más detallesENVÍO DE E-MAIL POR MEDIO DE SMTP
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA ELO 322: REDES DE COMPUTADORES I ENVÍO DE E-MAIL POR MEDIO DE SMTP Alumnos Ariel Mancilla G. 2521040-9 Daniel Spataris J. 2521029-8
Más detallesSoftware Computacional y su clasificación
Software Computacional y su clasificación Capítulo 5 El software En modo sencillo el software permite que las personas puedan contarle a la computadora cierto tipo de problemas y que ésta a su vez le ofrezca
Más detallesAcronis Backup & Recovery 11 Guía de inicio rápido
Acronis Backup & Recovery 11 Guía de inicio rápido Se aplica a las siguientes ediciones: Advanced Server Virtual Edition Advanced Server SBS Edition Advanced Workstation Server for Linux Server for Windows
Más detallesManual de referencia y del usuario
Manual de referencia y del usuario Manual del usuario y referencia de Todos los derechos reservados. Ningún fragmento de esta publicación podrá ser reproducido de manera alguna (ya sea de forma gráfica,
Más detallesProgramación orientada a objetos
Repaso Programación orientada a objetos Curso INEM. Programación en Java Santiago Muelas Pascual smuelas@fi.upm.es! Clase! Objeto! Atributo o variable de instancia! Método! Instanciar/crear un objeto!
Más detallesTciSatSingleW32 Versión 3.1
http://www.tci.net.pe Página 1 de 19 TciSatSingleW32 Versión 3.1 http://www.tci.net.pe Página 2 de 19 Tabla de Contenidos 1. Introducción.... 3 2. Consideraciones al instalar... 3 3. Pantalla Principal...
Más detallesÍndice... 2 Introducción a Heracles... 3 Instalar Heracles... 4 Instalar Heracles en la PDA... 6
Índice Índice... 2 Introducción a Heracles... 3 Instalar Heracles... 4 Instalar Heracles en la PDA... 6 Utilizar Heracles con Factura Plus o TPV Plus... 9 Configurar Factura Plus/TPV Plus... 9 Configurar
Más detallesCOLEGIO COMPUESTUDIO
COLEGIO COMPUESTUDIO ÁREA: TECNOLOGIA E INFORMATICA DOCENTE: WILLY VIVAS LLOREDA ESTUDIANTE: CLEI: III GUIA N 5 N SESIONES: NUCLEO TEMÁTICO: UNIDAD: 2 Sistema operativo (Windows) OBJETIVO: Comprender el
Más detalles1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Más detallesServicio de VPN de la Universidad de Salamanca
Servicio de VPN de la Universidad de Salamanca Descripción del Servicio El servicio de VPN de la Universidad de Salamanca permite el acceso a recursos internos de la misma desde cualquier acceso a Internet
Más detallescomunicaciones IP al servicio de su empresa configuración de clientes de correo para Hosted Exchange
comunicaciones IP al servicio de su empresa configuración de clientes de correo para Hosted Exchange 1. introducción...2 2. configuración de Microsoft Outlook 2003 para Hosted Exchange (RPC sobre HTTPs)...2
Más detallesEntre los más conocidos editores con interfaz de desarrollo tenemos:
Herramientas de programación Para poder programar en ensamblador se precisa de algunas herramientas básicas, como un editor para introducir el código, un ensamblador para traducir el código a lenguaje
Más detallespicojava TM Características
picojava TM Introducción El principal objetivo de Sun al introducir Java era poder intercambiar programas ejecutables Java entre computadoras de Internet y ejecutarlos sin modificación. Para poder transportar
Más detallesInstrucciones de instalación de TrueCode
Gracias por su compra y las instrucciones que le guiara a través del proceso de instalación y puesta en marcha de su nuevo software. Se recomienda la lectura y las discusiones de los usuarios por favor
Más detallesSolución: Descargar e instalarse el componente desde la página Web de Microsoft:
Introducción Con este manual se pretende facilitar la instalación de los nuevos Programas de Gestión. En él se describe paso a paso lo que tiene hacer con una breve descripción y las imágenes de las pantallas
Más detallesIntroducción a Protégé
FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 1ª Parte Introducción a Protégé Febrero 2003 1. Objetivo La presente
Más detallesSISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060
SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060 Elaborado por: Departamento de Informática Febrero 2012 SISTEMA InfoSGA _ Manual de Actualización 16/02/2012 ÍNDICE
Más detallesEurowin 8.0 SQL. Manual de la FIRMA DIGITALIZADA
Eurowin 8.0 SQL Manual de la FIRMA DIGITALIZADA Documento: me_firmadigitalizada Edición: 02 Nombre: Manual de la Firma Digitalizada en Eurowin Fecha: 19-05-2011 Tabla de contenidos 1. FIRMA DIGITALIZADA
Más detallesUnidad 1: Conceptos generales de Sistemas Operativos.
Unidad 1: Conceptos generales de Sistemas Operativos. Tema 3: Estructura del sistema operativo. 3.1 Componentes del sistema. 3.2 Servicios del sistema operativo. 3.3 Llamadas al sistema. 3.4 Programas
Más detallesLista de pasos e instrucciones adicionales
Configuración de un dispositivo WinEmbedded o WinCE como Runtime. Introducción Este documento ha sido desarrollado con la finalidad de brindar a los usuarios de los productos de InduSoft sugerencias y
Más detallesEl soporte del sistema operativo. Hace que un computador sea más fácil de usar. Permite que los recursos del computador se aprovechen mejor.
El soporte del sistema operativo Objetivos y funciones del sistema operativo Comodidad Hace que un computador sea más fácil de usar. Eficiencia Permite que los recursos del computador se aprovechen mejor.
Más detallesÍndice. Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador?
INTRODUCCIÓN A JAVA 20/02/2007 Introducción a JAVA 2 Índice Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales Qué ventajas tengo como desarrollador? Bibliografía
Más detallesSOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
Más detallesLaboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO
Laboratorio 7 Motor de búsqueda web basado en el TAD Árbol Binario de Búsqueda GUIÓN DEL LABORATORIO 1.- Objetivos del laboratorio Diseño de clases en C++ Comprensión y uso del TAD Árbol Binario de Búsqueda
Más detallesProyecto MONO. Juantomás García. 1. Introducción. GNOME Hispano juantomas@lared.es
Juantomás García GNOME Hispano juantomas@lared.es Qué es el proyecto MONO?. Estado actual del proyecto. Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto
Más detallesGestión Dispositivos Móviles Dexon Software
Gestión Dispositivos Móviles Dexon Software INTRODUCCIÓN La gestión de dispositivos móviles es una de las principales actividades que se llevan a cabo en los departamentos de TI de cualquier compañía;
Más detallesSQL Diagnostic Manager Nueva versión 6.0
Página 1 de 6 SQL Diagnostic Manager Nueva versión 6.0 Página 2 de 6 Índice 1. ACCIONES DISPARADAS DESDE LAS ALERTAS...3 1.1. QUE GANA EL DBA CON TODO ESTO...4 2. NUEVA INTERFASE DE REPORTES....4 2.1.
Más detallesMANUAL BÁSICO DE INFORMATICA
MANUAL BÁSICO DE INFORMÁTICA EL ESCRITORIO 1 El escritorio es la primera pantalla que aparece o que se ve después de encendre la PC. Puede contener accesos directos a los programas, documentos, carpetas
Más detallesCOPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA
COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA Autor: Carlos Javier Martín González. Licenciado en Física Teórica por la Universidad Autónoma de Madrid. Analista programador y funcional. Desarrollador
Más detalles3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE EL PLC 5. EJEMPLO DE RECEPCIÓN DE SMS EN EL PLC
MÓDEM-GSM INDICE 1. INTRODUCCIÓN Centro Integrado Politécnico ETI Departamento de Electricidad 2. CONFIGURACIÓN PUERTO SERIE CPU 3. FUNCIONAMIENTO DE LA FUNCIONES TXD Y RXD 4. EJEMPLO DE ENVÍO DE SMS DESDE
Más detallesMarco Besteiro y Miguel Rodríguez Introducción al lenguaje C#
Introducción. C# es un lenguaje orientado a objetos (es más correcto decir orientado a componentes) diseñado para el CLR (Common Language Runtime) de la plataforma.net que se llamó en un principio NGWS,
Más detallesConstructores y Destructores
Ya se ha apuntado que C++ no permite crear objetos sin dar un valor inicial apropiado a todas sus variables miembro. Esto se hace por medio de unas funciones llamadas constructores, que se llaman automáticamente
Más detallesToda base de datos relacional se basa en dos objetos
1. INTRODUCCIÓN Toda base de datos relacional se basa en dos objetos fundamentales: las tablas y las relaciones. Sin embargo, en SQL Server, una base de datos puede contener otros objetos también importantes.
Más detallesACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA
ACCESO AL SERVIDOR EXCHANGE MEDIANTE OWA El Acceso al correo a través de OWA (Outlook Web Access) es una herramienta que permite a los usuarios consultar sus mensajes en una interfaz Web a través de un
Más detallesJuan de Dios Murillo Morera e-mail: jmurillo@una.ac.cr Santiago Caamaño Polini e-mail: scaamano@costarricense.cr INTRODUCCIÓN
UNICIENCIA 24 pp. 83-89 2010 IMPLEMENTACIÓN DE UN SERVIDOR FTP UTILIZANDO EL MODELO CLIENTE/SERVIDOR MEDIANTE EL USO DE SOCKETS EN LENGUAJE C UNIX CON EL FIN DE MEJORAR LOS TIEMPOS DE RESPUESTA EN LA RED
Más detallesSamsung Data Migration v2.7 Guía de instalación e introducción
Samsung Data Migration v2.7 Guía de instalación e introducción 2014.07 (Rev 2.7.) Renuncia legal SAMSUNG ELECTRONICS SE RESERVA EL DERECHO DE MODIFICAR LOS PRODUCTOS, LA INFORMACIÓN Y LAS ESPECIFICACIONES
Más detallesIntroducción. Componentes de un SI. Sistema de Información:
Introducción. Sistema de Información: Conjunto de elementos relacionados entre sí de acuerdo a ciertas reglas, que aporta a la organización la información necesaria para el cumplimiento de sus fines, para
Más detallesBienvenido a su cuenta
CONTENIDO en SitioVIP.com... 3 isuite Website VIP... 4 Instalación... 4 Framework 2.0 no instalado... 4 Activación de Cuenta... 5 Administrar Mi Website... 6 Mi Cuenta... 7 Mi Contenido... 7 Mi Email...
Más detallesÍndice: Pg. 1. Requerimientos Previos Pg. 2. Instalación de Datacograf Lite Pg. 2. Configuración de Datacograf Lite Pg. 5. Idioma Pg. 7. Otros Pg.
Índice: Índice: Pg. 1 Requerimientos Previos Pg. 2 Instalación de Datacograf Lite Pg. 2 Configuración de Datacograf Lite Pg. 5 Idioma Pg. 7 Otros Pg. 9 Email Pg. 12 FTP Pg. 14 1 Requerimientos previos:
Más detallesDISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA
DISEÑO DE UNA ARQUITECTURA CLIENTE/SERVIDOR MEDIANTE OBJETOS DISTRIBUIDOS EN JAVA José Luis Pastrana Brincones (pastrana@lcc.uma.es) Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga
Más detallesResumen de la solución SAP SAP Technology SAP Afaria. Gestión de la movilidad empresarial para mayor ventaja competitiva
de la solución SAP SAP Technology SAP Afaria Gestión de la movilidad empresarial para mayor ventaja competitiva Simplificar la gestión de dispositivos y aplicaciones Simplificar la gestión de dispositivos
Más detallesGuía de instalación de Citrix EdgeSight for Load Testing. Citrix EdgeSight for Load Testing 3.7
Guía de instalación de Citrix EdgeSight for Load Testing Citrix EdgeSight for Load Testing 3.7 Copyright El uso del producto descrito en esta guía está sujeto a la aceptación previa del Contrato de licencia
Más detallesGuía de Laboratorio Base de Datos I.
Guía de Laboratorio Base de Datos I. UNIVERSIDAD DON BOSCO FACULTAD DE INGENIERIA 1- Gestión del SQL Server Management Studio y creación de bases de datos. Objetivos: Identificar el entorno de trabajo
Más detallesRecall SIP. Guía de Instalación y Configuración Versión 3.7
Recall SIP Guía de Instalación y Configuración Versión 3.7 INDICE 1- INTRODUCCION... 3 2- INSTALACIÓN DE RECALL SIP... 4 2.1 Instalación del Hardware...4 2.2 Instalación del Software...5 2.2.1 Instalación
Más detallesMANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007
MANUAL DE INSTALACIÓN PLATAFORMA PROGRESA AUTOR: ASAC COMUNICACIONES DEPARTAMENTO DE DESARROLLO NOVIEMBRE DE 2007 INDICE 1 INTRODUCCIÓN...2 2 REQUISITOS...3 3 INSTALACIÓN...4 3.1 INSTALACIÓN DEL MICROSOFT.NET
Más detallesIntroducción a Java LSUB. 15 de enero de 2015 GSYC
Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada
Más detallesRedes de área local: Aplicaciones y servicios WINDOWS
Redes de área local: Aplicaciones y servicios WINDOWS 7. Escritorio remoto 1 Índice Definición de Escritorio Remoto... 3 Habilitar Escritorio Remoto... 4 Instalación del cliente de Escritorio Remoto...
Más detallesVisual Studio 2008 es el conjunto de herramientas de
1. VISUAL STUDIO 2008 Visual Studio 2008 es el conjunto de herramientas de desarrollo y programación creado por Microsoft tanto para aplicaciones Windows como aplicaciones web. La aparición de Visual Studio
Más detallesAnálisis de aplicación: TightVNC
Análisis de aplicación: TightVNC Este documento ha sido elaborado por el Centro de Apoyo Tecnológico a Emprendedores bilib, www.bilib.es Copyright 2011, Junta de Comunidades de Castilla La Mancha. Este
Más detallesSENTINEL REMOTE CONTROL (S.R.C)
SENTINEL REMOTE CONTROL (S.R.C) Versión G-0.5 Índice de contenidos 0.Consideraciones acerca de este producto...3 1.Objetivo del SRC...3 2.0 Instalación...3 2.1.Parte cliente (gclient)...4 2.1.Parte servidora
Más detallesCapítulo 5 Programación del algoritmo en LabVIEW
Programación del algoritmo en LabVIEW En este capítulo se describen las funciones que se emplearon para implementar el control PID wavenet en LabVIEW. El algoritmo wavenet fue implementado en LabVIEW para
Más detallesGastos Reales Web Manual de Usuario
Gastos Reales Web Manual de Usuario Unidad Informática Diciembre 2009 1 Índice de contenido 1Invocación al guardar un formulario...3 2Invocación desde una grilla...5 3Ingreso por primera vez...6 4Procesamiento
Más detallesManual Configuración GlopDroid. Configuración del módulo GlopDroid para toma de comandas en tablets, móviles y tpv Android.
Manual Configuración GlopDroid Configuración del módulo GlopDroid para toma de comandas en tablets, móviles y tpv Android. El módulo para toma de comandas en Android de Glop se llama GlopDroid y con él
Más detallesTrabaja los Sistemas Aspel desde tus sucursales con Terminal Server
Trabaja los Sistemas Aspel desde tus sucursales con Terminal Server Debido a los adelantos tecnológicos, hoy en día se pueden realizar conexiones remotas sin necesidad de tener una gran infraestructura
Más detallesHP Backup and Recovery Manager
HP Backup and Recovery Manager Manual de usuario Version 1.0 Índice Introducción Instalación Cómo se instala Opciones de idioma HP Backup and Recovery Manager Recordatorios Copias de sguridad programadas
Más detallesAhorro de energía visualizando páginas Web en dispositivos móviles heterogéneos
ROC&C 06 Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos Dr. Juan Gabriel González Serna. M.C. Juan Carlos Olivares Rojas. Acapulco, Guerrero, México, 2006. Agenda Introducción
Más detallesInformática Industrial (II)
Informática Industrial (II) 3º Ingeniería Técnica Industrial (Especialidad en Electrónica). E. U. Politécnica. Universidad de Sevilla. 3-mayo Práctica STR2: Entorno de desarrollo para un SOTR (Sistema
Más detallesManual de usuario de IBAI BackupRemoto
Manual de usuario de IBAI BackupRemoto Índice Cliente de IBAI BackupRemoto... 3 Descarga del cliente de IBAI BackupRemoto... 4 Instalación del cliente de IBAI BackupRemoto... 5 Instalación sobre Microsoft
Más detallesHerramientas Visuales de Programación
Pág. 1 07/04/2013 Para la compilación y ejecución del código que se realizará a lo largo de este curso vamos a utilizar el entorno de programación de la Herramienta Visual Studio 2010. El entorno de programación
Más detalles