Sie sind auf Seite 1von 6

Universidad Mariano Gálvez de Guatemala Javier Fernando Camey Valenzuela

Arquitectura de Computadoras II 0910-09-10149


Ing. Jorge Mario Aceituno Díaz Sección: “B”

Virtualización ISA(Instruction Set Architecture)


La arquitectura de set de instrucción: El ISA marca la división entre el hardware
y el software. Incluye aquellos aspectos visibles por un programa de aplicación o
puede incluir aquellos aspectos visibles sólo por el sistema operativo.
Una computadora con una arquitectura de set de instrucciones (ISA) claramente
ejemplifica las ventajas de las interfaces bien definidas. Las interfaces bien definidas
permiten el desarrollo de subsistemas de computación que se relacionan no sólo en
diferentes organizaciones sino también en tiempos diferentes, a veces años
diferentes. Por ejemplo, Intel y AMD desarrollan microprocesadores que
implementan el set de instrucciones Intel IA-32 (x86), mientras los desarrolladores
de Microsoft escriben el software que es compilado para ese mismo set de
instrucciones.
Como ambos grupos satisfacen la especificación de ISA, puede esperarse que el
software se ejecute correctamente en cualquier computadora personal construida
con un microprocesador IA-32. Lamentablemente, las interfaces también tienen sus
limitaciones. Los subsistemas y los componentes diseñados para las
especificaciones de una interfaz no trabajarán con aquellos diseñados para otras.
Esta carencia de la interoperabilidad es limitante, sobre todo en un mundo de
computadoras conectadas a una red, donde es ventajoso mover el software tan
libremente como los datos. La virtualización de un sistema o componentes, como
un procesador, memoria, o un dispositivo de entrada salida, mapea los recursos
visibles dentro de la interfaz en los recursos del sistema real posiblemente diferente.
Por consiguiente, el verdadero sistema aparece como un sistema virtual diferente o
como sistemas virtuales múltiples.
A diferencia de la abstracción, la virtualización no necesariamente pretende
simplificar o esconder detalles. Por ejemplo, la virtualización transforma un disco
grande en dos discos virtuales más pequeños, cada uno de los cuales parece tener
sus propias pistas y sectores. El software de virtualización usa la abstracción de
archivo como un paso intermedio para proporcionar una correlación entre los discos
virtuales y verdaderos. La escritura en un disco virtual es convertida en una escritura
de un archivo (y por lo tanto en una verdadera escritura en disco). Notando que el
nivel de detalle proporcionado en la interfaz del disco virtual, la dirección del
sector/pista, no es diferente de un verdadero disco; entonces no ocurre una
abstracción.
El VMM emula el hardware ISA de modo que el software usuario pueda ejecutar
potencialmente ISA diferentes del que está implementado en el host. Sin embargo,
en muchas aplicaciones de sistema de VM, el VMM no realiza la emulación de
instrucciones; mejor dicho, su papel principal es proporcionar recursos del hardware
virtualizado.
Optimizador binario de Igual ISA. Para reducir pérdidas de interpretación, los
traductores dinámicos binarios a veces realizan optimizaciones de código durante
la traducción. Esta capacidad conduce naturalmente a VMs en donde los set de
instrucciones que utilizan el guest y el host son los mismos, con el único objetivo de
la optimización. El optimizador dinámico binario de igual ISA utiliza la información
del perfil coleccionado durante la interpretación o fase de traducción para optimizar
el programa binario en ejecución.
Popek y Goldberg describen las características que el Set de Instrucciones de la
Arquitectura (ISA) de la máquina física debe poseer para poder correr VMMs que
presenten las propiedades arriba mencionadas. Su análisis deriva tales
características usando un modelo de "arquitecturas de tercera generación" (por ej.
IBM 360, Honeywell 6000, DEC PDP-10) que es sin embargo suficientemente
general para ser extendido a máquinas actuales. Este modelo incluye un procesador
que opera en modo núcleo (o de sistema) o modo de usuario, y tiene acceso a
memoria lineal y uniformemente direccionable. Se asume que un subconjunto del
set de instrucciones sólo puede ser usado desde el modo de sistema y que la
memoria es direccionada relativamente a un registro de reubicación. La E/S y las
interrupciones no están modeladas.
Teoremas de la virtualización
Para llegar a sus teoremas de virtualización, que dan condiciones suficientes (mas
no necesarias) para la virtualización, Popek y Goldberg clasifican las instrucciones
de un ISA en 3 diferentes grupos:

 Instrucciones privilegiadas
Aquellas que generan un trap si el procesador se encuentra en modo de
usuario pero no lo hacen si se encuentra en modo núcleo.
 Instrucciones sensibles de control
Aquellas que intentan cambiar la configuración de los recursos en el
sistema.
 Instrucciones sensibles de comportamiento
Aquellas cuyo comportamiento o resultado dependen de la configuración de
los recursos.

Dentro de estas dos categorías principales de las VMs, pueden ser divididas según
si ellos usan la misma ISA o una diferente. La base para esta diferenciación es que
la emulación de ISA es un rasgo dominante en aquellos VMs que la soportan. Entre
el proceso VMs que no realizan la emulación de ISA son los sistemas
multiprogramados, que la mayor parte de ordenadores de hoy ya la soportan.
También incluidos están los optimizadores binarios dinámicos de igual ISA, que
emplean muchas de las técnicas de la emulación del ISA.
Universidad Mariano Gálvez de Guatemala Javier Fernando Camey Valenzuela
Arquitectura de Computadoras II 0910-09-10149
Ing. Jorge Mario Aceituno Díaz Sección: “B”

Gerald J. Popek And Robert P. Goldberg

Conclusiones
Hemos visto una notable evolución en las arquitecturas de hardware ofrecidas por
los principales desarrolladores donde el soporte para la virtualización de la CPU, de
la memoria y de los dispositivos de Entrada/Salida ha sido uno de los cambios más
importantes en los últimos años de la historia reciente del hardware.

La marcada tendencia hacia la adopción de tecnologías de virtualización que se


planteaba como una novedad hace algunos años se ha vuelto una realidad de la
infraestructura computacional demostrando sus ventajas en flexibilidad, costos,
consumo de energía y seguridad.

El tema de estudio de las técnicas de virtualización puede ser abordado para su


aprendizaje, prototipación y medición a través de nuestro prototipo, ya que el código
fuente y los comentarios del mismo se encuentran disponibles para todo el
interesado en el tema. De esta forma, nuestro trabajo se presenta como un punto
de partida para explorar nuevas ideas para la virtualización de recursos.

Popek y Goldberg describen las características que el Conjunto de Instrucciones de


la Arquitectura (ISA, por las siglas de Instruction Set Architecture) de la máquina
física debe poseer para poder ejecutar VMMs que tengan las propiedades listadas
arriba. Su análisis deriva tales características usando un modelo de “arquitectura de
tercera generación” (por ejemplo, IBM 360, Honeywell 6000, DEC PDP-10) que, de
cualquier forma, es lo suficientemente general como para ser extendido a las
máquinas modernas. Este modelo incluye un procesador que opera tanto en modo
usuario como en modo privilegiado y tiene acceso a una memoria lineal
uniformemente direccionable. Se asume que un subconjunto del ISA está disponible
sólo cuando el procesador se encuentra en modo privilegiado y que la memoria es
direccionada en términos relativos a un registro de relocación. Las interrupciones y
la Entrada/Salida no están modeladas.

Para deducir sus teoremas de virtualización, que dan condiciones suficientes (pero
no necesarias) para la virtualización, Popek y Goldberg introducen una clasificación
de las instrucciones de un ISA en tres grupos diferentes:

• Instrucciones privilegiadas: instrucciones que provocan una excepción al ser


ejecutadas en modo usuario y no la provocan al ser ejecutadas desde modo
supervisor.
• Instrucciones sensibles de control: instrucciones que permiten cambiar la
configuración actual de los recursos hardware.
• Instrucciones sensibles de comportamiento: instrucciones cuyo
comportamiento o resultado dependen de la configuración del sistema. Por esto
mismo, permiten conocer el estado de la configuración actual de los recursos
hardware.

Teoremas de Virtualización

El resultado principal de Popek y Goldberg puede ser expresado de la siguiente


forma:

Teorema 1: Para cualquier computadora convencional de la tercera generación,


puede construirse un VMM si el conjunto de instrucciones sensibles (tanto de control
como de comportamiento) para esa computadora es un subconjunto del de las
instrucciones privilegiadas.

Intuitivamente, el teorema establece que para construir un VMM es suficiente con


que todas las instrucciones que podrían afectar al correcto funcionamiento del VMM
(instrucciones sensibles) siempre generen una excepción y pasen el control al VMM.
Eso garantiza la propiedad de control de los recursos / seguridad. En cambio, las
instrucciones no privilegiadas deben ejecutarse nativamente (es decir,
eficientemente).

Este teorema también provee una técnica simple para implementar un VMM,
llamada virtualización por ‘trap and emulate’ (excepción y emulación), más
recientemente llamada virtualización clásica: ya que todas las instrucciones
sensibles se comportan correctamente, todo lo que un VMM tiene que hacer es
‘atrapar’ y emular cada una de ellas. Para una explicación detallada de los
mecanismos de interrupción y excepción, y de las diferencias entre términos
similares, como trap1 y excepción, consultar el Apéndice A de este trabajo.

Un problema relacionado es el de derivar condiciones suficientes para la


virtualización recursiva, es decir, las condiciones bajo las cuales puede construirse
un VMM capaz de ejecutar una copia de si mismo. Entonces se postula el segundo
teorema:

Teorema 2. Una computadora convencional de la tercera generación es


recursivamente virtualizable si

1. es virtualizable y
2. puede construirse un VMM sin dependencias de tiempo para ella
Universidad Mariano Gálvez de Guatemala Javier Fernando Camey Valenzuela
Arquitectura de Computadoras II 0910-09-10149
Ing. Jorge Mario Aceituno Díaz Sección: “B”

Uso de la Virtualización
Legacy SW support
En informática, un sistema heredado es un antiguo método, tecnología, sistema
informático o programa de aplicación, "relacionado, o siendo un sistema informático
anterior o anticuado". A menudo un término peyorativo, referenciando un sistema
como "legado" significa que allanó el camino para los estándares que lo seguirían.
Esto también puede implicar que el sistema está desactualizado o necesita ser
reemplazado.

En términos informáticos, la palabra legacy se utiliza para describir la tecnología


obsoleta y obsoleta y el equipo que todavía está siendo utilizado por un individuo u
organización. El legado implica que el sistema está desactualizado o necesita ser
reemplazado, sin embargo, puede estar en buen estado de funcionamiento para
que el propietario comercial o individual no desee actualizar o actualizar el equipo.
Por lo general, el proveedor o el fabricante no están disponibles para sistemas y
aplicaciones heredados.

Training/QA
En el desarrollo de productos y servicios, la garantía de calidad es cualquier proceso
sistemático de verificación para ver si un producto o servicio que se está
desarrollando cumple con los requisitos especificados. Muchas empresas tienen un
departamento separado dedicado a la garantía de calidad. Se dice que un sistema
de aseguramiento de la calidad aumenta la confianza del cliente y la credibilidad de
una empresa, mejora los procesos de trabajo y la eficiencia, y permite a una
compañía competir mejor con otras. El aseguramiento de la calidad fue inicialmente
introducido en la Segunda Guerra Mundial cuando las municiones fueron
inspeccionadas y probadas por defectos después de que fueron hechas. Los
sistemas de garantía de calidad de hoy en día hacen hincapié en la captura defectos
antes de entrar en el producto final.

Server Consolidation
La consolidación del servidor es un enfoque para el uso eficiente de los recursos
del servidor de la computadora con el fin de reducir el número total de servidores o
ubicaciones de servidores que requiere una organización. La práctica desarrollada
en respuesta al problema de la expansión de servidores , una situación en la que
múltiples servidores subutilizados ocupan más espacio y consumen más recursos
de los que puede justificar su carga de trabajo .

Según Tony Iams, analista senior de DH Brown Associates Inc. en Port Chester,
Nueva York, los servidores de muchas empresas normalmente operan entre el 15 y
el 20% de su capacidad, lo que puede no ser una proporción sostenible en el entorno
económico actual. Las empresas están recurriendo cada vez más a la consolidación
de servidores como un medio para reducir costos innecesarios y maximizar el
retorno de la inversión ( ROI ) en el centro de datos . De los 518 encuestados en un
estudio de investigación del Grupo Gartner, el seis por ciento había realizado un
proyecto de consolidación de servidores, el 61% estaba realizando uno y el 28%
planeaba hacerlo en el futuro inmediato.

Failover Infrastructure
La conmutación por error es un modo operativo de respaldo en el que las funciones
de un componente del sistema (como un procesador , un servidor , una red o una
base de datos, por ejemplo) son asumidas por los componentes secundarios del
sistema cuando el componente principal no está disponible. Se utiliza para hacer
que los sistemas sean más tolerantes a fallos, La conmutación por error suele ser
una parte integral de los sistemas de misión crítica que deben estar constantemente
disponibles. El procedimiento implica la descarga automática de tareas a un
componente del sistema en espera para que el procedimiento sea lo más
transparente posible para el usuario final. La conmutación por error puede aplicarse
a cualquier aspecto de un sistema: dentro de una computadora personal, por
ejemplo, la conmutación por error puede ser un mecanismo para proteger contra un
procesador fallido; Dentro de una red, la conmutación por error puede aplicarse a
cualquier componente de red o sistema de componentes, como una ruta de
conexión , un dispositivo de almacenamiento o un servidor Web.

Originalmente, los datos almacenados se conectaban a servidores en


configuraciones muy básicas: ya sea punto a punto o cruzado. En un entorno de
este tipo, el fallo (o incluso el mantenimiento) de un solo servidor hizo que el acceso
a datos fuera imposible para un gran número de usuarios hasta que el servidor
estuviera de nuevo en línea. Desarrollos más recientes, como la red de área de
almacenamiento ( SAN ), hacen posible la conectividad entre servidores y sistemas
de almacenamiento de datos. En general, las redes de almacenamiento usan
muchas rutas, cada una consistente en conjuntos completos de todos los
componentes involucrados, entre el servidor y el sistema. Un fallo de ruta puede
resultar del fallo de cualquier componente individual de una ruta. Vías de conexión
múltiples, cada una con redundancia, Se utilizan para ayudar a asegurar que la
conexión sigue siendo viable incluso si una (o más) rutas de acceso fallan. La
capacidad de conmutación automática significa que las funciones normales pueden
mantenerse a pesar de las inevitables interrupciones causadas por problemas con
el equipo.

Flexible data center


Los centros de datos ya no son el centro del universo de TI. Con un montón de
recursos para alojar cargas de trabajo dinámicas - cloud, colocation, como un
servicio, o centro de datos - el diseño de la instalación local debe ser igualmente
flexible.

Das könnte Ihnen auch gefallen