Descargar la presentación
La descarga está en progreso. Por favor, espere
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.