Está en la página 1de 29

Universidad Central de Venezuela 2do Semestre 2006

Escuela de Computació
Computación

02-Arquitectura del Computador

Arquitectura del
Computador.
2do. Semestre 2006

Universidad Central de Venezuela

Introducción
 Un sistema operativo hace disponible la
potencia computacional a los usuarios,
controlando el hardware

 En este tema repasaremos los aspectos


de hardware de la computadora que son
importantes para el SO

Semestre 2-
2-2006 Universidad Central de Venezuela 2/57

1
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Componentes básicos
 Procesador (CPU)
 Memoria principal (alias memoria real, memoria
primaria, etc.)
 Mantiene datos e instrucciones
 Módulos de E/S (controladores de E/S, canales de E/S,
procesadores de E/S, etc.)
 hardware (con registros llamados puertos de E/S) eso
mueve datos entre el cpu y los perifericos, tales como:
 dispositivos de memoria secundaria (disco duro, etc.)
 teclado, pantalla...
 equipos de comunicaciones
 Interconexión del sistema (Buses)
 comunicación entre el procesador, memoria, y módulos de
E/S

Semestre 2-
2-2006 Universidad Central de Venezuela 3/57

Arquitectura del Computador

Sincroniza el acceso
a la memoria

Semestre 2-
2-2006 Universidad Central de Venezuela 4/57

2
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Ejemplo de E/S
Instruction execution cycle
Thread of

cache
execution Memory
Data movement
CPU (*N)
Instructions
and
E/S Request

Data
Interrupt

Data

A
DM

Keyboard
Disk Device
Device
Driver
Driver Perform E/S
and
Keyboard
Disk Controller
Controller
Read Data
Semestre 2-
2-2006 Universidad Central de Venezuela 5/57

Componentes básicos

Semestre 2-
2-2006 Universidad Central de Venezuela 6/57

3
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Estructura de un Módulo de E/S


 Los datos hacia/desde el bus del sistema son
mantenidos en registros de datos
 Los Registros de Status/Control) mantienen:
 información de estado actual
 información de control actual

 La lógica de E/S interactúa con el CPU vía el


bus de control
 Contiene lógica específica a la interface de cada
dispositivo

Semestre 2-
2-2006 Universidad Central de Venezuela 7/57

Estructura de un Módulo de E/S

Semestre 2-
2-2006 Universidad Central de Venezuela 8/57

4
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Registros del CPU


 Consisten en memoria rápida en el CPU
 Registros de Control y Estado
 Generalmente no disponible a los programas del usuario
 algunos son usados por CPU para controlar su funcionamiento
 algunos son usados por el OS para controlar la ejecución de los
programas
 Registros visibles al usuario
 disponibles al sistema (OS) y a los programas del usuario
 Mantiene datos, direcciones y algunos códigos de condición

Semestre 2-
2-2006 Universidad Central de Venezuela 9/57

Registros Control y de Estado.


 Contador de Programa (PC)
 Contiene la dirección de la próxima instrucción a
ejecutar
 Registro de la Instrucción (IR)
 Contiene la instrucción en ejecución
 Palabra de Estado de Programa(PSW)
 Un registro o grupo de registros que contienen:
 Códigos de condición y bits de información de estado
 Bits de habilitación/inhabilitación de interrupciones
 Bit de modo Supervisor(OS)/Usuario

Semestre 2-
2-2006 Universidad Central de Venezuela 10/57

5
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Registros visibles al usuario


 Registros de Datos
 Pueden ser asignados por el programa del
usuario para realizar operaciones sobre los
datos
 Registros de Dirección
 Contienen direcciones de memoria de datos e
instrucciones
 Pueden contener una parte de una dirección
que se usa para calcular la dirección
completa
Semestre 2-
2-2006 Universidad Central de Venezuela 11/57

Registros visibles al usuario


 Ejemplos de Registros de Dirección
 Indice/Desplazamiento
 Implica sumar un índice/desplazamiento a un valor
base para conseguir una dirección
 Apuntador a Segmento
 cuando la memoria es dividida en segmentos, la
memoria es referenciada por un segmento y un
desplazamiento
 Apuntador a Pila
 Apunta al tope de la pila

Semestre 2-
2-2006 Universidad Central de Venezuela 12/57

6
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Registros visibles al usuario


 Códigos de la Condición o Banderas
 Bits puestos como resultado por el hardware
del procesador como resultado de
operaciones
 Pueden ser accedidos por un programa pero
no pueden cambiarse directamente
 Ejemplos
 Bit de Signo
 Bit de Cero

 Bit de Overflow

Semestre 2-
2-2006 Universidad Central de Venezuela 13/57

Jerarquía de Dispositivos de
Almacenamiento

Semestre 2-
2-2006 Universidad Central de Venezuela 14/57

7
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Jerarquía de Dispositivos de
Almacenamiento

Tipos de memoria (números aproximados!!)

Semestre 2-
2-2006 Universidad Central de Venezuela 15/57

Memoria Cache
 Pequeñas memorias caras pero
muy rápidas que interactúan con
otra memoria más lenta pero
mucho más grande
 Invisible a OS y el usuario
programa pero interactúa con
otro hardware de manejo de
memoria
 EL procesador verifica primero si
la palabra referenciada a está en
el cache
 Si no se encontró en el cache, un
bloque de memoria que contiene
la palabra se mueve al cache

Semestre 2-
2-2006 Universidad Central de Venezuela 16/57

8
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

El Ciclo de Instrucción Básico

 El CPU busca la próxima instrucción (con sus


operandos) de la memoria.
 Luego, el CPU ejecuta la instrucción
 El contador de Programa (PC) mantiene la dirección de
la próxima instrucción
 El contador de Programa se incrementa
automáticamente después de cada búsqueda
Semestre 2-
2-2006 Universidad Central de Venezuela 17/57

El CPU y la E/S
 El CPU debe esperar por que se
complete la E/S
 WRITE transfiere el control al
manejador de la impresora (programa
de E/S)
 El programa de E/S prepara el módulo
de E/S para imprimir (4)
 El CPU tiene que ESPERAR que se
complete el comando de E/S
 Se debe esperar mucho tiempo por la
impresora
 El programa de E/S termina en (5) e
informa del estado de la operación

Semestre 2-
2-2006 Universidad Central de Venezuela 18/57

9
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Interrupciones
 El Computador permite a los módulos de
E/S INTERUMPIR al CPU.
 Para esto el módulo de E/S sólo requiere
una línea de solicitud de interrupción en
el bus de Control
 Entonces el CPU transfiere el Control a
una Rutina Manejadora de la Interrupción
(normalmente parte del OS)

Semestre 2-
2-2006 Universidad Central de Venezuela 19/57

Ciclo de instrucción

 El CPU verifica las solicitudes de interrupciones después


de cada instrucción
 Si no hay solicitudes de interrupción, entonces busca la
próxima instrucción para el programa actual
 Si una interrupción está pendiente, entonces suspende
ejecución del programa actual, y ejecuta la rutina
manejadora de la interrupción
Semestre 2-
2-2006 Universidad Central de Venezuela 20/57

10
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Interrupciones.
Manejador de Interrupciones
 Es un programa que determina naturaleza de la
interrupción y realiza las acciones necesarias
 El Control se transfiere a este programa
 El Control debe transferirse de regreso al
programa interrumpido para que pueda
reasumirse desde el punto de interrupción
 Este punto de interrupción puede ocurrir en
cualquier parte en el programa
 Por ello se debe salvar el estado del programa
(contenido del PC + PSW + los registros +...)
Semestre 2-
2-2006 Universidad Central de Venezuela 21/57

Interrupciones. Procesamiento

Semestre 2-
2-2006 Universidad Central de Venezuela 22/57

11
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Interrupciones.
Mejoras

en el uso del CPU
El prog. de E/S prepara el módulo de
E/S y envía los comandos de E/S (pe:
a la impresora)
 El prog. de E/S transfiere el control al
prog. del usuario
 El código del usuario se ejecuta
durante el funcionamiento de E/S (pe:
imprimiendo) sin ninguna espera
 El prog. del usuario se interrumpe (x)
cuando la operación de E/S se realiza
y transfiere el control a la rutina
manejadora de interrupciones para
examinar el estado del módulo de
E/S
 Se resume la ejecución del código de
usuario
Semestre 2-
2-2006 Universidad Central de Venezuela 23/57

Interrupciones.
Clasificación
 E/S
 Señala la terminación normal de una operación o un error
 Excepción de Programa
 overflow
 intento de ejecutar una instrucción ilegal
 referencia fuera del espacio de memoria de usuario

 Cronómetro
 Quita el control del CPU a un prog. para realizar otra tarea
 Falla del hardware (pe: error de paridad de memoria)

Semestre 2-
2-2006 Universidad Central de Venezuela 24/57

12
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Interrupciones múltiples:
orden secuencial

 Se deshabilitan las interrupciones durante una interrupción


 Las interrupciones permanecen pendientes hasta el procesador
habilita interrupciones
 Después que la rutina manejadora de la interrupción se completa, el
procesador verifica para las interrupciones adicionales
Semestre 2-
2-2006 Universidad Central de Venezuela 25/57

Interrupciones múltiples:
prioridades

 Las interrupciones de mayor prioridad ocasionan que las de baja


prioridad deban esperar
 Ocasionan que la rutina manejadora de la interrupción de baja
prioridad sea interrumpida
 Ejemplo: cuando llegan datos por una línea de comunicación,
necesitan ser almacenado rápidamente para hacer sitio para más
datos
Semestre 2-
2-2006 Universidad Central de Venezuela 26/57

13
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Multiprogramación
 Cuando un programa lee un valor que
necesitará en un dispositivo de E/S debe
esperar por que se complete la operación de
E/S
 Las interrupciones son eficaces principalmente
cuando se comparte un solo CPU
concurrentemente entre varios procesos activos.
 El CPU puede entonces ejecutar otro programa
cuando un programa espera por el resultado de
la operación de E/S

Semestre 2-
2-2006 Universidad Central de Venezuela 27/57

Técnicas de comunicación de
E/S
 3 técnicas son posibles para el funcionamiento
de E/S
 E/S programada
 No usa interrupciones: el CPU tiene que esperar por la
terminación de cada operación de E/S
 E/S manejada por interrupción
 El CPU puede ejecutar código durante el funcionamiento de
E/S: se interrumpe cuando la operación de E/S se termina.
 Acceso Directo a Memoria
 Un bloque de datos se transfiere hacia/desde memoria
directamente, sin pasar por el CPU

Semestre 2-
2-2006 Universidad Central de Venezuela 28/57

14
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

E/S programada
 El módulo de E/S
realiza la acción, en
nombre del procesador,
 Pero el módulo de E/S
no interrumpe al CPU
cuando se termina la
E/S
 El procesador debe
mantenerse ocupado
esperando, verificando
el estado del módulo de
E/S2-2-2006
Semestre Universidad Central de Venezuela 29/57

E/S manejada por interrupción


 El procesador es
interrumpido cuando el
módulo de E/S esta listo
para intercambiar datos
 El procesador es libre hacer
otro trabajo
 No necesita estar ocupado
en esperar
 Consume mucho tiempo del
procesador porque cada
palabra leída o escrita pasa
a través del procesador

Semestre 2-
2-2006 Universidad Central de Venezuela 30/57

15
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Acceso Directo a Memoria


 El CPU genera un requerimiento a
un módulo de DMA (módulo
separado o incorporado en el
módulo de E/S)
 El módulo de DMA transfiere un
bloque de datos directamente
hacia/desde la memoria (sin pasar
por el CPU)
 Una interrupción se envía cuando la
tarea está completa
 El CPU está ocupado sólo al
principio y al final de la transferencia
 El CPU es libre realizar otras tareas
durante el transferencia de los datos

Semestre 2-
2-2006 Universidad Central de Venezuela 31/57

Traps y Excepciones
 Interrupciones generadas por Software
 Excepción: un programa de usuario actúa inadecuadamente
 Ocasionado por un error (div por 0, o violación de
acceso a memoria)
 Trap: un programa de usuario requiere un servicio del SO
 Ocasionado por Llamadas al Sistema (system calls)
 Se manejan de manera similar a las interrupciones de
hardware:
 Se detiene la ejecución del proceso
 Se llama a la rutina manejadora de la interrupción
 Se restaura el estado después de servir al trap

Semestre 2-
2-2006 Universidad Central de Venezuela 32/57

16
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Instrucciones Protegidas
También se llaman instrucciones privilegiadas. Ejemplos:
 Acceso directo del usuario a algunos recursos de
hardware.
 Acceso directo a dispositivos de E/S como discos, impresoras,
etc.
 Instrucciones que manipulan el estado de gestión de la
memoria
 Apuntadores a la Tabla de Páginas, Carga de la TLB, etc.
 Colocar valores de bits especiales de modo
 La instrucción Halt

Necesarias para:
 Abstracción/facilidad de uso y protección
Semestre 2-
2-2006 Universidad Central de Venezuela 33/57

Operación en Modo-Dual
 Permite al SO protegerse a sí mismo y a otros componentes del
sisema
 Modo Usuario y Modo Kernel
 El SO corre en modo kernel, los programas de usuario corren en
modo usuario
 Las instrucciones privilegiadas se ejecutan en modo kernel
 El hardware provee un bit de modo
 Permite distinguir si el sistema está corriendo en código de usuario o
código del kernel
 Llamadas al sistema cambian el modo a kernel
 El retorno de la llamada usando RTI coloca el modo en usuario
 ¿Cómo los programas de usuario ejecutan acciones privilegiadas?

Semestre 2-
2-2006 Universidad Central de Venezuela 34/57

17
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Transición de Modo Usuario a


Modo

Kernel
El usuario llama a procedimientos del SO para operaciones
“privilegiadas”
 Para llamar al servicio de modo kernel desde un programa de usuario:
 Se usan Llamadas al Sistema
 Las Llamadas al Sistema intercambia la ejecución, llevándola a modo
kernel

User Mode
User process System Call Mode bit = 1 Resume process

Trap Kernel Mode Return


Mode bit = 0 Mode bit = 0 Mode bit = 1

Save Caller’s state Execute system call Restore state


Semestre 2-
2-2006 Universidad Central de Venezuela 35/57

Llamadas al Sistema (System


Calls)
Interfaz de Programación para acceder a los servicios provistos por el
SO
 Escritos típicamente en lenguajes de alto nivel (C o C++)
 Son accedidos por los programas usando APIs
 Las tres APIs más comunes son:
 Win32 API, para Windows
 POSIX API, para sistemas-basados-en-POSIX (UNIX, Linux, Mac OS X)
 Java API, para la Máquina Virtual Java (JVM)

Semestre 2-
2-2006 Universidad Central de Venezuela 36/57

18
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Tipos de Llamadas al Sistema


 Control de Procesos
 Finalización o aborto de procesos, crear o terminar procesos, esperar
por algún tiempo, asignar o desasignar memoria.
 Gestión de Archivos
 Abrir o cerrar archivos; leer, escribir o buscar.
 Gestión de Dispositivos
 Conectar o desconectar un dispositivo, leer, escribir o buscar.
 Mantenimiento de la Información
 Obtener información de procesos; obtener atributos de dispositivos;
colocar la hora del sistema.
 Comunicaciones
 Crear, abrir, cerrar un socket, obtener estatus de transferencia.

Semestre 2-
2-2006 Universidad Central de Venezuela 37/57

¿Por qué una API?


 Secuencia de Llamadas al Sistema para copiar el
contenido de un archivo en otro

API Standard Win-32

Semestre 2-
2-2006 Universidad Central de Venezuela 38/57

19
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Implementación de
Llamadas al Sistema
 Típicamente, se asocia un número con cada llamada al
sistema.
 La Interfaz de llamadas al sistema mantiene una tabla, indexada
de acuerdo a esos números.
 La interfaz de llamada al sistema, invoca la llamada al
sistema solicitada, en el kernel y retorna el estatus de la
llamada al sistema y cualquier valor que se retorne.
 El invocador no necesita saber nada acerca de cómo se
implementa la llamada al sistema.
 Sólo es necesario entender la API y entender que hace el SO
como resultado de la llamada.
 La mayoría de los detalles de la interfaz del SO se ocultan a los
programadores mediante la API.
 Se gestiona mediante el uso de librerías de soporte de tiempo de
ejecución (conjunto de funciones construidas en librerías incluidas
con el compilador).

Semestre 2-
2-2006 Universidad Central de Venezuela 39/57

Sobrecarga producida por las


Llamadas al Sistema
 Problema: La distinción entre modo usuario y modo constituye una
barrera al desempeño.
 Cruzar esta barrera de hardware es costoso.
 Las llamadas al Sistema toman entre 10x- y 1000x más tiempo
que una llamada a procedimiento normal.
 Solución: Implementar algunas funcionalidades en modo usuario
 Las librerías de enlace dinámico (DLLs) pueden reducir el número
de Llamadas al Sistema
 Mediante el cache de resultados (getpid) o
 Mediante operaciones de bufering (open/read/write vs.
fopen/fread/ fwrite).

Semestre 2-
2-2006 Universidad Central de Venezuela 40/57

20
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

¿Cómo arranca el SO?


 El computador tiene un programa muy simple pre-cargado en una
memoria especial de sólo lectura:
 El Basic Input/Output Subsystem, o BIOS
 Cuando la máquina arranca, el CPU ejecuta el BIOS.
 El BIOS a su vez, carga el ejecutable de un “pequeño” SO:
 Desde el Disco Duro, CD-ROM, o cualquier otro dispositivo (p.e. red,
pen drive).
 Entonces transfiere el control a una dirección de inicio estándar en esa
imagen.
 La pequeña versión del SO carga y arranca la versión “grande”:
 Este mecanismo de dos etapas es usado para que el BIOS no tenga que
entender el Sistema de Archivos implementado por el kernel del SO
“grande”.
 Los Sistemas de Archivos son estructuras de datos complejas y los
diferentes kernel los implementan de diferentes maneras.
 La versión pequeña del SO se almacena en un pequeño sistema de
archivos de propósito especial que el BIOS entiende.

Semestre 2-
2-2006 Universidad Central de Venezuela 41/57

¿Qué hace el SO?


 El SO corre programas de los usuarios, si esta disponible, entonces
entra en un ciclo de no hacer nada (ciclo idle).
 En el ciclo idle:
 El SO ejecuta un ciclo infinito (UNIX)
 El SO realiza actividades de gestión del sistema y análisis de
rendimiento
 EL SO detiene el procesador y entra en modo de bajo consumo de
energía (notebooks)
 El SO realiza alguna función (DEC’s VMS sobre VAX calculaba Pi)
 El SO se “despierta” cuando recibe:
 interrupciones desde los dispositivos de hardware
 traps desde los programas
 excepciones desde los programas de usuario

Semestre 2-
2-2006 Universidad Central de Venezuela 42/57

21
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Flujo de Control del SO


From boot
main()
System call
Initialization Interrupt

Exception

Idle
Loop
Operating System Modules

RTI

Semestre 2-
2-2006 Universidad Central de Venezuela 43/57

Estructura del Sistema Operativo


 Estructura Simple: MS-DOS
 Escrito para proveer la mayor funcionalidad en el menor espacio
 Las Aplicaciones tienen control directo del hardware
 Desventajas:
 No modular
 Ineficiente
 Baja seguridad

Semestre 2-
2-2006 Universidad Central de Venezuela 44/57

22
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Estructura General del SO


App App App

API

File Memory Process Network


Systems Manager Manager Support

Security Service
Module Module

Extensions & Device Interrupt Boot &


Add’l device drivers Drivers handlers init

Estructura Monolítica
Semestre 2-
2-2006 Universidad Central de Venezuela 45/57

Estructura por Capas


 El SO se divide en un número de capas:
 La capa inferior (capa 0), es el hardware
 La de mayor nivel (capa N) es la interfaz del usuario
 Cada capa usa sólo funciones y
servicios de las capas inferiores.
 Ventajas:
 Simplicidad de construcción
 Facilidad de depuración
 Extensible

 Desventajas:
 Definir las capas
 Cada capa agrega sobrecarga.

Semestre 2-
2-2006 Universidad Central de Venezuela 46/57

23
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Estructura por Capas


App App App

API
Process Network Object
File Memory
Manager Support Support
Systems Manager

M/C dependent basic implementations

Hardware Adaptation Layer (HAL)


Boot &
Extensions & Device Interrupt init
Add’l device drivers Drivers handlers

Semestre 2-
2-2006 Universidad Central de Venezuela 47/57

Estructura de Microkernel
 Se mueve tanto código como sea posible, del kKernel hacia el
espacio del usuario.
 Los módulos de usuario se comunican usando pase de mensajes.
 Beneficios:
 Un microkernel es fácil de extender
 Es fácil portar el SO a nuevas arquitecturas.
 Es más confiable (menos código corre en modo kernel).
 Más Seguro.
 Ejemplo: Mach, QNX
 Desventajas:
 La necesidad de comunicación entre el usuario y el kernel degrada el
rendimiento.
 Ejemplo: La evolución Windows desde Windows NT a Windows XP

Semestre 2-
2-2006 Universidad Central de Venezuela 48/57

24
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Estructura de Microkernel
App Memory App
Manager

Process Security
Manager Module
File
Systems Network
Support

Basic Message Passing Support

Extensions & Device Interrupt Boot &


Add’l device drivers Drivers handlers init

Semestre 2-
2-2006 Universidad Central de Venezuela 49/57

Módulos
 La mayoría de los SO modernos implementan el concepto
de módulos del kernel.
 Usan orientación a objetos para agregar funcionalidad al kernel
 Cada módulo se comunica con los otros a través de interfases
conocidas.
 Cada uno se carga dentro del kernel cuando es necesario.
 En general, son similares a las capas pero con más
flexibilidad.
 Ejemplos: Solaris, Linux, MAC OS X

Semestre 2-
2-2006 Universidad Central de Venezuela 50/57

25
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Estructura UNIX

Semestre 2-
2-2006 Universidad Central de Venezuela 51/57

Estructura Windows

Semestre 2-
2-2006 Universidad Central de Venezuela 52/57

26
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Sistemas UNIX Modernos

Semestre 2-
2-2006 Universidad Central de Venezuela 53/57

MAC OS X

Semestre 2-
2-2006 Universidad Central de Venezuela 54/57

27
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Máquinas Virtuales
 Implementan una observación de la época de Turing
 Un computador puede “emular” otro computador
 Un SO puede implementar la abstracción de un cluster de
computadores, cada uno corriendo su propio SO y Aplicaciones
 Esta idea es muy útil
 En la construcción
de sistemas
 Para Protección
 Desventajas
 La implementación esta
llena de complejidades
 Ejemplos
 VMWare, JVM,
CLR, Xen+++

Semestre 2-
2-2006 Universidad Central de Venezuela 55/57

Estructura VMWare

Semestre 2-
2-2006 Universidad Central de Venezuela 56/57

28
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación

02-Arquitectura del Computador

Pero, ¿Es real?


 ¿Puede el SO conocer si se está ejecutando
sobre un computador real o sobre una máquina
virtual?
 Una manera puede ser intentar realizar una
operación protegida,
 pero el monitor de la máquina virtual (VMM) puede
atrapar este requerimiento y emularlo.
 Puede medir el tiempo cuidadosamente,
 pero el hardware moderno corre a velocidad variable.
 Conclusión: Realmente no puede decirlo.

Semestre 2-
2-2006 Universidad Central de Venezuela 57/57

29

También podría gustarte