La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Overview Sistemas Computacionales

Presentaciones similares


Presentación del tema: "Overview Sistemas Computacionales"— Transcripción de la presentación:

1 Overview Sistemas Computacionales
Capítulo 1

2 Introducción Un Sistema Operativo (SO) explota los recursos de hardware de uno o más procesadores Provee un conjunto de servicios a los usuarios del sistema Administra la memoria secundaria y los dispositivos de I/O Elementos de hardware: Procesadores Memoria principal Volátil Memoria real o memoria primaria Módulos de I/O Dispositivos de memoria secundaria Comunicaciones Terminales Bus del sistema Comunica procesadores, memoria y dispositivos de I/O

3 Componentes básicos de un sistema (Hw)

4 Registros del Procesador
Registros visibles al usuario Pueden ser referenciados por lenguaje de máquina y están disponibles a todos los programas Permite optimizar el uso de registros y minimizar referencias a memoria principal Registros de datos, direcciones, índices, Segment pointer (SP), Stack pointer (SP) Registros de control y status Usado por el procesador para controlar actividades del procesador Usado por rutinas privilegiadas del SO para la ejecución de programas Program counter (PC): contiene la dirección de la próxima instrucción Instruction register (IR): almacena la instrución más reciente Memory address register (MAR): contiene la dirección de memoria de donde se debe leer o escribir Memory buffer register (MBR): almacena temporalmente el dato de escritura o lectura I/O register, I/O buffer register Códigos de condición PSW (program status word)

5 Ciclo básico de Instrucción/Ejecución
Dos pasos Fetch: el procesador lee la próxima instrucción de memoria PC almacena la dirección de dicha instrucción PC es incrementado después de cada fetch Ejecución: el procesador ejecuta la instrucción

6 Registro de instrucción
La instrucción recuperada (fetched) es puesta en el IR Categorias de instrucciones Transferencia de datos entre procesador y memoria Transferencia de datos entre procesador y dispositivo de I/O Procesamiento de datos; operaciones aritméticas o lógicas Control; alteramiento de la secuencia de ejecución

7 Ejemplo de máquina hipotética

8 Ejemplo de ejecución de programa

9 Interrupciones Interrumpen el ciclo normal (básico) del procesador
Utilizados para mejorar la utilizacion del procesador; la mayoría de los dispositivos de I/O son mucho más lentos que el procesador

10 Ejemplo con y sin interrupciones

11 El manejador de interrupciones
Programa que se encarga de servir la interrupción, por ejemplo determinar la naturaleza de la interrupción y ejecutar otras rutinas de servicio Generalmente es parte del SO Suspends the normal sequence of execution

12 Ciclo de ejecución con interrupciones
Al final de un ciclo de ejecución, el procesador chequea si existen interrupciones pendientes Si no, continua con otro ciclo de ejecución Si sí, suspende la ejecución del programa actual y ejecuta el manejador de interrupciones

13 Diagrama de tiempo basado en espera pequeña

14 Diagrama de tiempo basado en espera larga

15 Procesamiento de interrupción simple
Todo el estado del proceso en ejecución debe guardarse antes de ejecutar el manejador de interrupciones

16 Changes in Memory and Registers for an Interrupt

17 Procesamiento de interrupciones múltiples
Deshabilitar procesamiento de interrupciones mientras se atiende a unainterrupción Fácil, y simple Las interrupciones se sirven secuencialmente en el orden de llegada No considera operaciones críticas o con prioridades

18 Procesamiento de interrupciones múltiples
Define prioridades para las interrupciones Así, una interrupción de más alta prioridad puede interrumpir la ejecución de una interrupción de prioridad más baja

19 Ejemplo interrupciones con prioridades

20 Interrupciones y multiprogramación
Procesador tiene más de un programa para ejecutar Los programas pueden ser ejecutados dependiendo de sus prioridades relativas y dependiendo de si están o no esperando por una operación de I/O En el caso de las interrupciones, después que el manejador de interrupciones ha terminado, el control puede regresar a un programa distinto al que se estaba ejecutando al momento de la interrupción

21 Jerarquía de memoria Suponga H=0.95 Tp= 0.95x0.1+0.05x(0.1+1.0)=0.15us
Acceso más veloz, memoria más cara Mayor capacidad, memoria más barata Mayor capacidad, velocidad de acceso menor Mayor capacidad, menor frecuencia de acceso a la memoria por el procesador Ejemplo: Dos niveles de memoria Nivel 1: 1000 bytes, tiempo acceso T1=0.1 us Nivel 2: bytes, tiempo acceso T2=1.0 us H: tasa de hit nivel 1 T1+T2 1 T2 Tiempo promedio de acceso Suponga H=0.95 Tp= 0.95x x( )=0.15us T1 Tasa de hit

22 Memoria Cache Motivación:
Cada ciclo de instrucción involucra al menos un acceso a memoria. ¿Por qué? La velocidad del procesador siempre es mucho más veloz que el de la memoria (ciclo de memoria) Memoria cache es una memoria pequeña de alta velocidad ubicada (conceptualmente) entre el procesador y la memoria principal Invisible al SO Explota el principio de localidad

23 Principios de la memoria cache
Contiene una copia de una porción de memoria principal Cuando se necesita leer un byte (o puede ser una palabra) de memoria, primero se chequea la memoria cache Si no está ahí, se trae el bloque de datos que contiene el byte de memoria principal a la cache y luego al procesador Por el principio de localidad, es muy probable que las próximas referencias a memoria se satisfagan con el bloque recién traído de memoria principal

24 Organización memoria cache- memoria principal

25 Operación de lectura con memoria cache

26 Diseño de memoria cache
Tamaño de la cache Cache pequeñas proveen impacto significativo sobre el performance Tamaño del bloque (línea) El bloque (o línea) es la unidad de datos intercambiada entre memoria principal y la cache Inicialmente, a medida que el tamaño del bloque crece, la tasa de hit aumentará Si sigue aumentando, la probabilidad de usar los datos nuevos será menor a la probabilidad de usar los datos que fueron sacados de la cache justamente para traer los nuevos Función de mapeo Determina en que posición de la cache se almacena el bloque Algoritmo de reemplazo Cuando todos los bloques están ocupados, ¿cuál de ellos puedo usar para traer un nuevo bloque? Política de escritura Determina cuándo debe ser escrito a memoria principal un bloque que ha sido modificado Write-back Write-through

27 Técnicas de comunicación de I/O
I/O Programado Un módulo de I/O realiza la operación, pero no interrumpe al procesador cuando la operación ha terminado Setea los bits apropiados en el registro de status de I/O El procesador debe chequear periódicamente el status del módulo de I/O

28 Técnicas de comunicación de I/O
I/O manejado por interrupciones El procesador guarda el context del programa en ejecución y transfiere el control al manejador de interrupciones El procesador es interrumpido cuando el módulo de I/O está listo para transferir los datos Consume mucho tiempo, por que cada palabra leída o escrita debe pasar por el procesador

29 Técnicas de comunicación de I/O
Acceso directo a memoria (DMA) Transfiere un bloque de datos directamente desde o hacia memoria El procesador es interrumpido sólo al final de la transferencia Mientras tanto, el procesador ejecuta otros programas Sin embargo, el procesador y el módulo de DMA compiten por el bus del sistema


Descargar ppt "Overview Sistemas Computacionales"

Presentaciones similares


Anuncios Google