martes, 14 de junio de 2011

EMULACION

EMULACIÓN

Emulador

En informática, un emulador es un software que permite ejecutar programas de computadora o videojuegos en una plataforma (arquitectura hardware o sistema operativo) diferente de aquella para la cual fueron escritos originalmente.

Simulador

El simulador  sólo trata de reproducir el comportamiento del programa.

Diferencia entre emulador y simulador

Un simulador, que sólo trata de reproducir el comportamiento del programa, un emulador trata de modelar de forma precisa el dispositivo de manera que este funcione como si estuviese siendo usado en el aparato original.

Estructura

La mayoría de los emuladores solo emulan una determinada configuración arquitectura de hardware - si el sistema de explotación (o sistema operativo) también se requiere para emular cierto programa entonces ha de ser emulado también. Tanto el sistema de explotación como el programa deben ser interpretados por el emulador, como si estuviese ejecutándose en el equipo original.

División de emuladores

Típicamente, un emulador se divide en módulos que corresponden de forma precisa a los subsistemas del equipo emulado. Lo más común, es que un emulador este compuesto por los siguientes módulos.
Un emulador de CPU o un simulador de UCP (ambos términos son en la mayoría de los casos intercambiables).
Un módulo para el subsistema de memoria.
Varios emuladores para los dispositivos de entrada y salida.
Lo más común es que los BUSes no sean emulados, por razones de simplicidad y rendimiento, y para que los periférico virtuales se comuniquen directamente con la UCP y los subsistemas de memoria.

Otros

Simulador de CPU
El Simulador de CPU (Unidad Central de Proceso) es a menudo la parte más compleja de un emulador. Muchos emuladores son escritos utilizando simuladores de CPU "pre-empaquetados", para así poder realizar una emulación fiel y eficiente de una máquina específica.

Dispositivos de Entrada y Salida
La mayoría de los emuladores, como dicho anteriormente, no emulan el sistema principal bus; cada dispositivo de entrada y salida es tratado a menudo como un caso especial, y no existe una interfaz constante para los periféricos virtuales.

Sistema de ROMs
NeoRAGEx, emulador a base de ROMs
Los emuladores arrancan ROMs, o sea el contenido de los cartuchos, disquetes o cintas que se usaban con los sistemas antiguos. Físicamente en las PC las ROMs son archivos binarios que se pueden cargar en la memoria. Es decir, el emulador es un programa que hace las funciones de una consola, por ejemplo la Game Boy Advance o una PDA, y la ROM es un archivo que hace de cartucho, CD-ROM, o cinta, por ejemplo "Mario Bros.".

VIRTUALIZACION

VIRTUALIZACION

Virtualización es la técnica empleada sobre las características físicas de algunos recursos computacionales, para ocultarlas de otros sistemas, aplicaciones o usuarios que interactúen con ellos. Esto implica hacer que un recurso físico, como un servidor, un sistema operativo o un dispositivo de almacenamiento, aparezca como si fuera varios recursos lógicos a la vez, o que varios recursos físicos, como servidores o dispositivos de almacenamiento, aparezcan como un único recurso lógico.
La Virtualización es un proceso complejo que se basa principalmente en montar un sistema operativo por encima del que usamos normalmente. En el caso de usar Windows XP con la Virtualización podremos cargar Windows VISTA por encima del XP, de esta manera, podremos usar el VISTA como si fuera un programa más de nuestro ordenador.

TIPOS DE VIRTUALIZACION
 
VIRTUALIZACION DE PLATAFORMA
 
Virtualización Completa
Virtualización Parcial
Virtualización por S.O
 
VIRTUALIZACIÓN DE PLATAFORMA
 
Esta involucra la simulación de máquinas virtuales. La virtualización de plataforma se lleva a cabo en una plataforma de hardware mediante un software "host" (en castellano “anfitrión”), que es un programa de control que simula un entorno computacional (máquina virtual) para su software "guest" (en castellano "huésped"). Este software “huésped”, que generalmente es un sistema operativo completo, se ejecuta como si estuviera instalado en una plataforma de hardware autónoma.
Virtualización completa.- Esta es en donde la máquina virtual simula un hardware suficiente para permitir un sistema operativo “huésped” sin modificar (uno diseñado para la misma CPU) para correr de forma aislada. Típicamente, muchas instancias pueden correr al mismo tiempo.
Virtualización parcial.- “Address Space Virtualización”. La máquina virtual simula múltiples instancias de gran parte (pero no de todo) del entorno subyacente del hardware, particularmente los espacios de direcciones. Tal entorno acepta compartir recursos y alojar procesos, pero no permite instancias separadas de sistemas operativos “huésped”.
Virtualización por S.O.- Virtual izar significa instalar un sistema operativo dentro de otro al que se le llama huésped (guest), mediante el uso de una máquina virtual. Frecuentemente denominada Virtualización compartida del Sistema Operativo o Virtualización del SO, la Virtualización del Sistema Operativo virtual iza servidores en la capa del sistema operativo (kernel).
Virtual izar un Sistema operativo
Virtualizar el sistema operativo es una opción interesante si no queremos instalar dos sistemas operativos en el mismo ordenador.
El único y pequeño inconveniente es que necesitamos un gestor de arranque que al encender nuestro ordenador nos dé la opción de elegir qué sistema operativo queremos utilizar, lo que conlleva a que si por ejemplo estamos en Windows y queremos cambiar a GNU/Linux deberíamos reiniciar nuestro ordenador. La Virtualización por el contrario permite cambiar de sistema operativo como si se tratase de cualquier otro programa, sin embargo, esta agilidad tiene la desventaja de que un sistema operativo virtualizado no es tan potente como uno que ya estuviera instalado.
 
VENTAJAS DE LA VIRTUALIZACIÓN
 
Rápida incorporación de nuevos recursos para los servidores virtualizados.
Reducción de los costes de espacio y consumo necesario de forma proporcional al índice de consolidación logrado (Estimación media 10:1).
Administración global centralizada y simplificada.
Nos permite gestionar nuestro CPD como un pool de recursos o agrupación de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura
Mejora en los procesos de clonación y copia de sistemas: Mayor facilidad para la creación de entornos de test que permiten poner en marcha nuevas aplicaciones sin impactar a la producción, agilizando el proceso de las pruebas.
Aislamiento: un fallo general de sistema de una máquina virtual no afecta al resto de máquinas virtuales.
Mejora de TCO y ROI.
No sólo aporta el beneficio directo en la reducción del hardware necesario, sino también los costes asociados.
Reduce los tiempos de parada.
Migración en caliente de máquinas virtuales (sin pérdida de servicio) de un servidor físico a otro, eliminando la necesidad de paradas planificadas por mantenimiento de los servidores físicos.
Balanceo dinámico de máquinas virtuales entre los servidores físicos que componen el pool de recursos, garantizando que cada máquina virtual ejecute en el servidor físico más adecuado y proporcionando un consumo de recursos homogéneo y óptimo en toda la infraestructura.
Alto grado de satisfacción general.