1 overview sistemas computacionales capítulo 1. 2 introducción un sistema operativo (so) explota...
TRANSCRIPT
![Page 1: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/1.jpg)
1
Overview Sistemas Computacionales
Capítulo 1
![Page 2: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/2.jpg)
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
![Page 3: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/3.jpg)
3
Componentes básicos de un sistema (Hw)
![Page 4: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/4.jpg)
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)
![Page 5: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/5.jpg)
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
![Page 6: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/6.jpg)
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
![Page 7: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/7.jpg)
7
Ejemplo de máquina hipotética
![Page 8: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/8.jpg)
8
Ejemplo de ejecución de programa
![Page 9: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/9.jpg)
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
![Page 10: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/10.jpg)
10
Ejemplo con y sin interrupciones
![Page 11: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/11.jpg)
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
![Page 12: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/12.jpg)
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
![Page 13: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/13.jpg)
13
Diagrama de tiempo basado en espera pequeña
![Page 14: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/14.jpg)
14
Diagrama de tiempo basado en espera larga
![Page 15: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/15.jpg)
15
Procesamiento de interrupción simple
Todo el estado del proceso en ejecución debe guardarse antes de ejecutar el manejador de interrupciones
![Page 16: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/16.jpg)
16
Changes in Memory and Registers for an Interrupt
![Page 17: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/17.jpg)
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
![Page 18: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/18.jpg)
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
![Page 19: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/19.jpg)
19
Ejemplo interrupciones con prioridades
![Page 20: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/20.jpg)
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
![Page 21: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/21.jpg)
21
Jerarquía de memoria
• 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: 100000 bytes, tiempo acceso T2=1.0 us
– H: tasa de hit nivel 1
0 1Tie
mpo
pro
med
io d
e ac
ceso
T1
T2
T1+T2
Tasa de hit
Suponga H=0.95Tp= 0.95x0.1+0.05x(0.1+1.0)=0.15us
![Page 22: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/22.jpg)
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
![Page 23: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/23.jpg)
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
![Page 24: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/24.jpg)
Organización memoria cache-memoria principal
![Page 25: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/25.jpg)
25
Operación de lectura con memoria cache
![Page 26: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/26.jpg)
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
![Page 27: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/27.jpg)
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
![Page 28: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/28.jpg)
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
![Page 29: 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](https://reader035.vdocuments.co/reader035/viewer/2022070417/5665b4561a28abb57c90a544/html5/thumbnails/29.jpg)
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