SESION 3: ARQUITECTURA DE UN SISTEMA DE COMPUTO
• Un sistema moderno de propósito general está compuesto de: • Uno o más CPUs, y varios manejadores de dispositivo conectados mediante un bus común ú que da d acceso a la l memoria i compartida. • La CPU y los manejadores de los dispositivos pueden ejecutarse de manera concurrente compitiendo p por ciclos de p memoria.
SISTEMA DE COMPUTO MODERNO
• Estos sistemas, antiguamente estaban interconectados de la siguiente forma: MEMORIA PRINCIPAL
LECTORA TARJETAS
CPU
IMPRESORA
•
La transferencia de datos se efectuaba bajo el control de la CPU, haciendo no simultáneas las operaciones de la CPU y de E/S.
Ejemplo: ESPERA ACTIVA 1. Verificar si la impresora está lista para recibir el siguiente carácter. 2 Si la impresora no está lista, 2. lista volver al paso 1. 1 3. Si la impresora está lista, verificar si hay otro carácter por imprimir. 4. Si hay otro carácter, volver al paso 1. 5. Si no hay mas caracteres, la impresión ha terminado.
• La disparidad p en las velocidades entre los dispositivos p de E/S y la CPU obligó al desarrollo de los PROCESADORES o CANALES DE E/S (IBM 360 y 370). CPU Línea Ctrl. MEMORIA
Línea Datos
CANAL
CANAL
CANAL
• E/S basada en interrupciones: solución para evitar la pérdida de tiempo.
SISTEMAS BASADOS EN INTERRUPCIONES
Los dispositivos de E/S y la CPU pueden ejecutarse concurrentemente. concurrentemente CONTROLADOR DE DISPOSITIVO: •Para cada tipo de dispositivo •Comprende: almacenamiento local en buffer y un conjunto de registros de propósito especial. •Transfiere datos entre el periférico que controla y su buffer. FUNCIONAMIENTO: Operación de E/S 1.La CPU carga los registros del controlador del disp. y luego continúa con su trabajo. 2.El controlad. del disp. analiza el contenido se estos reg. y determina la acción a seguir. 3.Si se trata de una solicitud de lectura, el controlador comenzará la transferencia de datos del disp. a su buffer.
4 El controlad 4. controlad. de disp disp. informa a la CPU que ya terminó con su tarea: INTERRUPCION. 5. La CPU suspende lo que estaba haciendo y transfiere de inmediato la ejecución a una posición fija que contiene la dirección de inicio de la RUTINA DE PROCESAMIENTO OC S O DE LA INTERRUPCION U C O ((RPI)) 6. La RPI transfiere los datos del buffer del controlador a la memoria principal. 7 La CPU, 7. CPU ahora puede proseguir con su tarea interrumpida. INTERRUPCIONES • La arquitectura de interrupciones guarda la dirección de la instrucción interrumpida p ((dirección de retorno en la pila del sistema), acumuladores o registros de índice.
• Las interrupciones se desactivan mientras una de ellas se procesa para evitar pérdidas pérdidas. • Las arquitecturas complejas permiten procesar una interrupción mientras se atiende otra: asignación de prioridades a los tipos de solicitudes y almacenamiento por separado de la información por para cada prioridad. • Las interrupciones de igual o menor prioridad se enmascaran o se desactivan. • Una trampa es una interrupción generada por software causada por una petición de un usuario o un error error. • Existe disparidad entre el tiempo de transferencia de datos de ciertos dispositivos de entrada (8000 s.) y el tiempo que emplea la RPI para introducir datos en un buffer (20 s), asignando para solucionar este problema prioridad baja j una p • Para el caso de dispositivos de alta velocidad (cinta, disco o red) se emplea la técnica del DMA.
DMA O ACCESO DIRECTO A MEMORIA: Ejemplo: Lectura de un disco disco. 1. La CPU proporciona al controlador: la dirección del bloque del disco, la dirección de memoria donde d b colocarse debe l ell bl bloque y ell número ú d de b bytes t a transferir. 2. El controlador: a. Realiza la suma de verificación para comprobar que no hubieron errores de lectura. b Copia el primer byte en la memoria principal en b. la dirección especificada (dir. de memoria del DMA) c. Incrementa I t la l dirección di ió y d decrementa t lla cuenta t del DMA en el número de bytes que se van transfiriendo. d. Repite el proceso anterior hasta que la cuenta del DMA sea cero, ocasionando una interrupción.
OPERACIÓN DEL SISTEMA DE COMPUTO • Los dispositivos de E / S y la CPU se puede ejecutar simultáneamente. • Cada controlador de dispositivo está a cargo de un determinado tipo de dispositivo. • Cada controlador de dispositivo tiene un buffer local. • La CPU mueve datos desde / a la memoria principal a / desde los buffers locales. • El controlador del Dispositivo p informa a la CPU q que ha finalizado su operación causando una interrupción.
FUNCIONES COMUNES DE LAS INTERRUPCIONES • Las Interrupciones transfieren el control a la RPI general (rutina de procesamiento de interrupciones), y por medio de un índice basado en el numero de dispositivo único se maneja el vector de interrupciones, que contiene las direcciones de todas las rutinas de servicio. • La arquitectura de la interrupción debe guardar la dirección de la instrucción interrumpida. • Las próximas interrupciones son deshabilitadas, mientras que otra interrupción se está procesando para evitar una pérdida de interrupción. • Los SO modernos son activados por interrupciones o trampas. • Una trampa (excepción) es un interrupción generada por el software causada por un error o una solicitud p de un p programa g de usuario p para q que se especifica realice un servicio del sistema operativo. • Un sistema operativo es impulsado por interrupciones.
Diagrama de Tiempo de interrupciones E/S
Manejo de interrupciones • El sistema operativo mantiene el estado de la CPU almacenando información en los registros y el contador de programa. • Determina qué tipo de interrupción se ha producido: – Por P escrutino ti o sondeo d – Sistema de vector de interrupción
• Separa segmentos de código para determinar qué medidas deben adoptarse para cada tipo de interrupción
Estructura de E/S • Después de que una E/S se inicia, el control vuelve al p programa g de usuario sólo hasta q que la E/S haya y finalizado. – Instrucción wait que pone en estado inactivo a la CPU hasta la próxima interrupción – Instrucción loop o bucle de espera (competición por acceso a memoria). – Usualmente,, a lo sumo una petición p de E / S estará pendiente la vez. Excluye operaciones concurrentes de E/S y de traslapar computo útil con E/S.
Estructura de E/S • Después de que una E/S se inicia, el control vuelve al programa de usuario sin esperar a que la E/S haya terminado: – Llamada al sistema - petición al sistema operativo para permitir que el programa de usuario espere la terminación de la operación de E / S si se desea. – Tabla de estado de los Dispositivos: cada entrada indica para cada dispositivo de E / S, tipo, dirección y estado dirección, estado. – El sistema operativo busca por índice en la tabla dispositivos de E/S para determinar el estado dicho dispositivo y modificar la entrada en la tabla para incluir la interrupción.
Dos métodos de E/S
Tabla de Estado de Dispositivo
ESTRUCTURA DE ALMACENAMIENTO • Memoria Principal: único gran medio de almacenamiento que el CPU puede acceder directamente. • Almacenamiento secundario: extensión de la memoria principal que proporciona una gran capacidad no volátil de almacenamiento. • Discos magnéticos: g – La superficie del disco está dividido lógicamente en pistas las cuales se dividen en sectores – El controlador del disco determina la interacción lógica entre el dispositivo y la computadora. t d
JERARQUÍA Í DE ALMACENAMIENTO • Los sistemas de almacenamiento están organizados jerárquicamente por:. – Velocidad – Costo – Volatilidad • Caching – copiando información en sistemas de almacenamiento más rápidos, la memoria principal puede visualizarse como memoria cache h para ell almacenamiento l i t secundario. d i
Jerarquía de dispositivos de almacenamiento
Almacenamiento en Caché • Es un principio importante, empleado en muchos niveles en un computador (hardware, sistema operativo, programas informáticos) • La información en uso es copiada desde un almacenamiento más lento a uno más rápido p de manera temporal. • Si se necesita alguna pieza de información, se verifica si se encuentra en memoria caché: – Si es así, la información utilizada directamente de la caché (rápido) – Si no es así, los datos son copiados a la memoria caché y utilizados desde allí allí.
• Debido a que los cachés tiene un tamaño limitado: la administracion de la caché es un problema de diseño importante. importante • Selección de tamaño y una política de reemplazo
Caching • Uso de memoria de alta velocidad para mantener los datos recientemente accesados. • Requieres una política de manejo de cache • Caching introduce otro nivel en la jerarquía de almacenamiento • Requiere datos que estén simultáneamente almacenados en mas de un almacenamiento para ser consistentes consistentes.
Migración de un disco a un registro
HARDWARE DE PROTECCION Para proteger al sistema operativo y a los procesos de los usuarios de errores ocasionados por estos mismos, se implementó: Operación de modo dual • Existen 2 modos de ejecución u operación (se añade un bit de modo al hardware del computador) a. MODO MONITOR (Modo Privilegiado o del Sistema, bit 0) El S.O. Obtiene el control del computador. Se pueden ejecutar instrucciones privilegiadas. b. MODO USUARIO ( bit 1) Los programas de usuario tienen el control. • Si algún proceso de usuario (modo usuario) intenta ejecutar una instrucción privilegiada, privilegiada el hardware no lo hace, considerándola como incorrecta y dirige una trampa al S.O.
• Cuando ocurre una interrupción o falla el hardware cambia modo monitor
• Todas las instrucciones de E/S son privilegiadas.
Uso de una llamada al sistema para ejecutar una E/S
Protección de memoria Registros: R i b base y límite lí i Para separar el espacio de memoria de cada proceso. proceso Registro Base: menor dirección de memoria física pe t da permitida Registro Límite: tamaño del intervalo. El hardware de la CPU logra esta protección comparando cada una de las direcciones generadas en modo usuario con los registros, generando una trampa al S.O. S O si fuera necesario. necesario El S.O. puede cargar valores en los registros base y límite mediante una instrucción privilegiada especial.
Uso de un Registro Base y Límite
Hardware de Protección de direcciones
Protección del CPU Cronómetro • Para evitar que un proceso de usuario entre en un ciclo infinito infinito, se fija para interrumpir al computador después de un determinado p periodo. • El cronómetro es decrementado con cada tick del reloj. Cuando alcanza el valor de cero ocurre una interrupción cero, interrupción. • La carga del cronómetro es una instrucción privilegiada