Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Escuela de Computació
Computación
Arquitectura del
Computador.
2do. Semestre 2006
Introducción
Un sistema operativo hace disponible la
potencia computacional a los usuarios,
controlando el hardware
Semestre 2-
2-2006 Universidad Central de Venezuela 2/57
1
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
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
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
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
Semestre 2-
2-2006 Universidad Central de Venezuela 7/57
Semestre 2-
2-2006 Universidad Central de Venezuela 8/57
4
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
Semestre 2-
2-2006 Universidad Central de Venezuela 9/57
Semestre 2-
2-2006 Universidad Central de Venezuela 10/57
5
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
Semestre 2-
2-2006 Universidad Central de Venezuela 12/57
6
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
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
Jerarquía de Dispositivos de
Almacenamiento
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
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
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
10
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
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
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
Interrupciones múltiples:
orden secuencial
Interrupciones múltiples:
prioridades
13
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
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
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
Semestre 2-
2-2006 Universidad Central de Venezuela 30/57
15
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
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
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
User Mode
User process System Call Mode bit = 1 Resume process
Semestre 2-
2-2006 Universidad Central de Venezuela 36/57
18
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
Semestre 2-
2-2006 Universidad Central de Venezuela 37/57
Semestre 2-
2-2006 Universidad Central de Venezuela 38/57
19
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
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
Semestre 2-
2-2006 Universidad Central de Venezuela 40/57
20
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
Semestre 2-
2-2006 Universidad Central de Venezuela 41/57
Semestre 2-
2-2006 Universidad Central de Venezuela 42/57
21
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
Exception
Idle
Loop
Operating System Modules
RTI
Semestre 2-
2-2006 Universidad Central de Venezuela 43/57
Semestre 2-
2-2006 Universidad Central de Venezuela 44/57
22
Universidad Central de Venezuela 2do Semestre 2006
Escuela de Computació
Computación
API
Security Service
Module Module
Estructura Monolítica
Semestre 2-
2-2006 Universidad Central de Venezuela 45/57
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
API
Process Network Object
File Memory
Manager Support Support
Systems Manager
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
Estructura de Microkernel
App Memory App
Manager
Process Security
Manager Module
File
Systems Network
Support
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
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
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
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
Semestre 2-
2-2006 Universidad Central de Venezuela 57/57
29