Ir al contenido principal

#08 Emuladores

Un emulador es aquel software que nos permite ejecutar programas o cualquier tipo de software diferente para la cual fue diseñada desde un principio, una arquitectura diferente.
Puede sonar un poco como si fuera un simulador, pero la gran diferencia entre estos es que el simulador solo trata de imitar el comportamiento del programa en específico, mientras que el emulador trata de ejecutar fielmente el funcionamiento del sistema y la arquitectura completa, para dar el mayor la mayor sensación como si el dispositivo emulado fuera el original.
Uno de los usos principales que se les da a estos tipos de tecnología es para la emulación de videojuegos, mostrar cómo sería la experiencia de juego en X consola
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. Aparte de la interpretación del lenguaje de la máquina emulada, es preciso emular el resto del equipo, como los dispositivos de entrada y salida, de forma virtual: si escribir en una región específica de la memoria debe influir en el contenido en pantalla, por ejemplo, esto también debe ser emulado.
En vez de una emulación completa del equipo, una compatibilidad superficial puede ser suficiente. Esto traduce las llamadas del sistema emulado a llamadas del sistema anfitrión.
Los desarrolladores de programas para máquinas con sistemas computarizados y consolas de videojuego comúnmente utilizan emuladores especialmente exactos llamados simuladores antes de ejecutarlos en el equipo real. Esto permite que el programa pueda ser producido y probado antes de que la versión final del equipo para el cual se está desarrollando sea producida en grandes cantidades, de esta forma puede ser probado sin tener que copiar el programa en el equipo, de modo que puedan ser eliminados errores en un nivel bajo sin tener los efectos colaterales de un depurador.
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 la unidad central de procesamiento.
·         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éricos virtuales se comuniquen directamente con la UCP y los subsistemas de memoria.










Comentarios

Entradas más populares de este blog

11# Algoritmo de Prim

El algoritmo fue diseñado en 1930 por el matemático Vojtech Jarnik y luego de manera independiente por el científico computacional Robert C. Prim en 1957 y redescubierto por Dijkstra en 1959. Por esta razón, el algoritmo es también conocido como  algoritmo DJP  o  algoritmo de Jarnik . Descripción El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas. Este incrementa continuamente el tama ño de un ár bol, comenzando por un vertice inicial al que se le van agregando sucesivamente vértices cuya distancia a los anteriores es mínima. Esto significa que en cada paso, las aristas a considerar son aquellas que inciden en vértices que ya pertenecen al árbol El árbol recubridor mínimo está completamente construido cuando no q...

09# Teoría de Grafos y Biología Molecular

Uno de los temas tocados en la semana de la computación fueron el de la teoría de grafos y la biología molecular. También se pudo ver cómo estas se conectaban, como esta teoría ayudo a realizar grandes descubrimientos en el área de la biología molecular. Primero que todo vamos a ver la definición de cada para tener una idea más clara. Teoría de Grafos: Esta es una rama de las matemáticas y las ciencias de la computación que las propiedades de los grafos. Estructuras de datos vistos en el curso de Estructuras de Datos en nuestra carrera. La biología molecular Es la disciplina científica que tiene como objetivo el estudio de los procesos que se desarrollan en los seres vivos desde un punto de vista molecular. Fuente: Wikipedia Ya que tenemos sus definiciones ahora explicaré sus puntos donde intersecan. Estas áreas se relacionan gracias a que en la biología molecular se necesitaba saber cuál era la composición exacta de los DNA, gracias a grandes matemáticos y científic...

04# Algoritmos de Búsqueda

Un algoritmo es como un conjunto de instrucciones que se deben seguir para realizar una tarea concreta. Este se rige por una serie de pasos o ciclos con sus condiciones definidas para el proceso del trabajo que se quiere hacer. Hoy nos basaremos mayormente en los algoritmos de búsqueda, estos se encargan de encontrar un elemento en una estructura de datos. Existen diversos algoritmos para este propósito. Unos de los vistos en las clases anteriores son el secuencial, binario y el de interpolación. Secuencial: Uno de los algoritmos más sencillos y fáciles de implementar, ya que su única función es la de comparar cada elemento de la estructura de datos con el elemento que se quiere encontrar: L: Largo de la estructura T: temporal contador ELE: Elemento a buscar A: Estructura donde se desea buscar Mientras L > T:                 Si ELE es igual a A posición [T]:     ...