T E M A 7. Interrupciones

Documentos relacionados
CICLOS DEL PROCESADOR

SISTEMAS OPERATIVOS Arquitectura de computadores

SUBSISTEMA DE ENTRADA-SALIDA. Arquitectura de Computadores I 4º tema

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

GESTION DE ENTRADA Y SALIDA

Sistema Operativo. Repaso de Estructura de Computadores. Componentes Hardware. Elementos Básicos

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Velocidades Típicas de transferencia en Dispositivos I/O

Introducción a los Sistemas Operativos

Sist s em e a m s s O per e ativos o. s Unidad V Entrada Sali l d i a.

Tema: Microprocesadores

Tema 12: El sistema operativo y los procesos

Manejo de Entrada-Salida. Arquitectura de Computadoras

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

Manipulación de procesos

Arquitectura de Computadores. Apellidos, Nombre:

1-Componentes Físicos y Lógicos de un Ordenador.

Manejo de Entrada-Salida. Arquitectura de Computadoras

Interrupciones. Sistemas con Microcontroladores y Microprocesadores.

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O

Funcionamiento de un ordenador. Conrado Perea

Introducción a la arquitectura de computadores

Pseudocódigo. La forma en que se escribe un pseudocódigo es la siguiente:

PREGUNTAS INFORMÁTICA MONITOR UPB EXAMEN 1

Estructura del Computador

UNIVERSIDAD NACIONAL HERMILIO VALDIZAN DIRECCION DE EDUCACION A DISTANCIA Y VIRTUAL CENTRO DE ESTUDIOS INFORMATICOS HUANUCO PERU

ORGANIZACIÓN DE COMPUTADORAS

Sistemas Operativos. Un sistema operativo es un conjunto de programas de computadora diseñados especialmente para cubrir los siguientes objetivos:

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

Introducción a los Sistemas Operativos

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Introducción a la Computación. Herramientas Informáticas. Omar Ernesto Cabrera Rosero Universidad de Nariño

No hay un acuerdo universal sobre una definición de proceso, pero sí algunas definiciones aceptadas:

Herramientas Informáticas I Software: Sistemas Operativos

Servicios del Sistema Operativo (SO)

SISTEMAS OPERATIVOS ACTIVIDAD: TRABAJO COLABORATIVO

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

Tema 7: Sistemas de Entrada/Salida

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Introducción a los Sistemas Operativos

Tipos de Diseño. Ing. Elizabeth Guerrero V.

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Gestión de Entrada-salida

Sistemas Operativos- Evolución Histórica

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

Unidad 4 - Procesamiento paralelo. Arquitectura de computadoras. D o c e n t e : E r n e s t o L e a l. E q u i p o : J e s s i c a F i e r r o

Tema 4 (II) El procesador

Procesos Definición y Estados

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Recopilación presentada por 1

Usuario. Programas de Aplicación. Sistema Operativo. Hardware. Figura 1. Sistema de cómputo estructurado por capas.

Informática Electrónica Manejadores de Dispositivos (Device Drivers)

La resolución de un problema

INTRODUCCIÓN. Comunicación Serial.

Funcionamiento de la computadora

Evolución del software y su situación actual

ELEMENTOS QUE COMPONEN UNA COMPUTADORA

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

Velocidades Típicas de transferencia en Dispositivos I/O

Sistemas Operativos. Daniel Rúa Madrid

Tema 5. Presentación de datos por pantalla

ESTRUCTURA DE COMPUTADORES GUÍA DOCENTE

Clasificación n de los Sistemas Operativos. Clasificación de los SO Estructuras de los SO Modos de procesamiento

Microprocesadores. Informática Aplicada DSI-EIE FCEIA

Arquitectura (Procesador familia 80 x 86 )

INTRODUCCIÓN A LA INFORMÁTICA

Qué es un programa informático?

ARQUITECTURA SPARC: FORMATO DE INSTRUCCIÓN

MANUAL DE USUARIO. Funcionalidad del Asistente de Mantenimiento LAN+PC de Movistar GUÍA BÁSICA DE MANEJO. Versión 2

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS

Tema 6: Periféricos y entrada-salida

ENIAC, Primer computador electrónico y su panel de conexiones

Tema N 6.- Sistemas tolerantes a fallas

INDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos

TEMA 1: Concepto de ordenador

Introducción a los sistemas de entrada/salida Profesores y tutorías

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

CAPITULO III CONTROLADORES

Construyendo Programas más Complejos

Unidad V: Sistemas de archivos 5.1 Concepto

Tema 5.1: Presentación de datos en pantalla

Universidad Católica de Santiago del Estero Facultad de Matemática Aplicada Carrera de Ingeniería en Electrónica

CER-MX-PROD-04 Suspensión, Retiro y Cancelación

Arquitectura de Computadoras. Clase 3 Entrada/Salida

Fiabilidad y Tolerancia a Fallos

Arquitectura del CPU. Organización del Computador 1 Verano 2016

TRABAJO PRÁCTICO Nº 2

30.- Generador de Consultas

Transcripción:

T E M A 7 Interrupciones

7-1 Interrupciones INDICE 7.- Introducción al Tema 7-2 7.1 Interrupciones 7-2 7.1.1 Tipos de Interrupciones 7-2 a).- Interrupciones de Programa 7-2 b).- Interrupciones de Llamada al Supervisor 7-3 c).- Interrupciones de Falla de Máquina 7-3 d).- Interrupciones de Entrada/Salida 7-3 e).- Interrupciones Externas 7-4 7.1.2 Clasificación de las Interrupciones 7-4 a).- Interrupciones Síncronas 7-4 b).- Interrupciones Asíncronas 7-5 7.1.3 Enmascaramiento y Prioridades de las interrupciones 7-5 a).- Enmascaramiento de las interrupciones 7-5 b).- Prioridades de las Interrupciones 7-6 7.1.4 Mecanismos para el Tratamiento de Interrupciones 7-7 Cronograma de Actividades Puntos Clase Interrupciones 1 Interrupciones en MIPS 1 Entrada/Salida 1

7-2 Interrupciones 7.- Introducción al Tema 7.1 Interrupciones El CPU de un computador basado en el modelo de Von Neuman, esta diseñado para ejecutar instrucciones secuencialmente a menos que se ejecute una instrucción que altera el orden de ejecución secuencial y modifica el contenido del PC (bifurcación, llamada a una subrutina, retorno desde una subrutina). Cual seria la manera de indicar al CPU que ocurrió alguno de estos eventos: Se decodifica un código de operación que no existe en el repertorio de instrucciones. Terminó de Imprimir una impresora Ocurre una falla en el hardware, que es detectada por los circuitos correspondientes. Se necesita llamar al SO para que ejecute, que no están al alcance del programa, ejemplo: escribir en disco. Interrumpiendo al CPU para que atienda alguno de esos eventos. Una interrupción se puede definir como un evento asíncrono al programa que se está ejecutando, o excepcional de dicho programa. Para este evento deben proveerse mecanismos especiales que permiten su tratamiento. 7.1.1 Tipos de Interrupciones a).- Interrupciones de Programa Las interrupciones de programa son aquellas que se producen cuando el CPU detecta una condición extraordinaria durante la ejecución de una instrucción e programa. Desbordamiento de la Pila Desbordamiento (Overflow) Direccionamiento inválido Instrucción inválida Violación de protección

7-3 Interrupciones La mayoría de las interrupciones de programa, por la naturaleza de las mismas obliga a la cancelación del programa que las produjo, lo que se denomina finalización anormal de un programa; mientras en algunos casos es posible recuperar la condición presentada y continuar la ejecución del programa una vez que se termine la interrupción. b).- Interrupciones de Llamada al Supervisor Las interrupciones de llamada al supervisor (SVC: Supervisor Call) es una forma de permitir la comunicación entre los programas y el sistema operativo, para que este ciertas acciones que por su naturaleza están reservadas, debido a que implican el manejo de recursos y operaciones cuyo acceso no está permitido a los programas de usuario. Inicio de las operaciones de Entrada/Salida. Asignación de memoria y otros recursos. Lectura o escritura en disco. Mostrar por pantalla. La mayoría de las interrupciones de SVC, implica que una o más instrucciones especiales serán ejecutadas por el SO. Generalmente, se puede continuar ejecutando el programa que produjo c).- Interrupciones de Falla de Máquina Este tipo de interrupción ocurre cuando, los circuitos especiales (incorporados en la mayoría de computadores actuales) detectan condiciones de error de los componentes de hardware. Transmisión de información entre dispositivos (checksun) Sector de Disco CD esta malo Fuente de Poder Mala d).- Interrupciones de Entrada/Salida Los dispositivos periféricos pueden operar en forma independiente del procesador central que controlan las operaciones de los mismos. Esto permite que en un dispositivo particular controle la operación que esta realizando por completo. Al concluir esta operación, en forma

7-4 Interrupciones satisfactoria o no, es necesario notificar al sistema operativo, para que éste pueda tomar las acciones correspondientes e iniciar, siempre que sea posible, nuevas operaciones en dicho dispositivo. Esta notificación se realiza a través de una interrupción. A este tipo de interrupción se le denomina Interrupción de Entrada/Salida Una impresora terminó de Imprimir. Un disco terminó de traer el bloque de memoria que se le había solicitado. En todos los casos cuando se introduce una interrupción de E/S, debe suspenderse la ejecución del programa que estaba en el CPU, para atender la interrupción producida, y posteriormente reiniciar la ejecución del programa que fue interrumpido. e).- Interrupciones Externas Son interrupciones provocadas por condiciones externas al programa que se esta ejecutando, y que no son provocadas por culminación de operaciones en dispositivos de E/S. Interrupción de Reloj. Comunicación entre el operador y el sistema Cuantos trabajos están ejecutándose en el CPU 7.1.2 Clasificación de las Interrupciones Las interrupciones se pueden clasificar en: interrupciones Asíncronas e interrupciones Síncronas, en las cuales se pueden agrupar los tipos de interrupciones que se estudiaron anteriormente. a).- Interrupciones Síncronas Las interrupciones síncronas son aquellas provocadas por la ejecución de una instrucción de programa en el CPU, siendo éstas de una naturaleza tal, que necesitan de atención especial; debido a los requerimientos necesarios para su tratamiento y los resultados que se producen durante el mismo. Como estas son interrupciones internas al programa que se está ejecutando, los únicos tipos de interrupciones que pueden ser provocadas por esta causa son:

7-5 Interrupciones Interrupciones de programa. Interrupciones de llamada al supervisor. b).- Interrupciones Asíncronas Las interrupciones asíncronas son provocadas por eventos externos al programa que se ejecuta, y su objetivo es notificar al sistema operativo de algún cambio en el ambiente de operativdad del sistema, permitiéndose la interacción del operador de la máquina para que pueda tomar decisiones e informar acciones que no pueden ser tomadas automáticamente por el sistema operativo. Dentro de las interrupciones asíncronas se pueden distinguir tres grupos diferentes: Interrupciones por falla de máquina. Interrupciones de Entrada/Salida. Interrupciones Externas. 7.1.3 Enmascaramiento y Prioridades de las interrupciones a).- Enmascaramiento de las interrupciones No siempre es posible la atención inmediata de una interrupción, siendo necesario en algunos casos posponer la atención de la misma o inhibir el tratamiento correspondiente. En los sistemas operativos se presentan situaciones en las cuales es necesario posponer la atención de una interrupción, o bien no llevarla a cabo. Por ejemplo, si ha ocurrido una interrupción por finalización de una operación en un dispositivo de entrada/salida, y luego se produce una nueva interrupción desde otro dispositivo sin que haya terminado de atender la primera interrupción, es conveniente terminar la atención de la primera y posponer mientras tanto las acciones necesarias para atender la segunda interrupción. En otros casos, algunas interrupciones de falla de máquina no pueden ser pospuestas cuando ocurren. El enmascaramiento de interrupciones se hace a través de los componentes de hardware, éstos pueden tomar un estado en el cual, cuando ocurra una interrupción de cierto tipo, se mantiene dicha condición como una señal, pero el mecanismo de interrupción no las tomará en cuenta hasta que no llegue el momento apropiado. En el caso de enmascaramiento total de interrupciones, es decir, que no se atienden cuando ocurren, el

7-6 Interrupciones enmascaramiento puede ser temporal ya que el sistema operativo deshabilita la atención de las interrupciones y las habilita posteriormente. b).- Prioridades de las Interrupciones En las secciones anteriores se estudiaron los diferentes tipos de interrupciones, y se explicó que la ocurrencia de éstas pueden ser síncronas (generadas por otro programa) y asíncronas (generadas por un agente externo). Es posible que durante el tratamiento de una interrupción ocurra una segunda interrupción, para lo cual podemos usar un mecanismo de enmascaramiento que retarde la atención de la segunda interrupción. Sin embargo, hay dos casos que convienen estudiar: La ocurrencia simultánea de varias interrupciones: En este caso es necesario establecer un mecanismo, que permita atender todas las interrupciones presentes en un determinado orden. Este orden de atención no puede ser dado por el tiempo, ya que todas ocurrieron en el mismo momento. Dos interrupciones consecutivas: Ocurre la segunda interrupción, sin que se halla terminado de atender la primera, pero la segunda interrupción no se puede enmascarar, es decir, debe ser atendida de inmediato. Entonces se deberá suspender temporalmente las acciones que se llevan a cabo para el tratamiento de la primera interrupción, y proceder a tratar la segunda interrupción. Esta situación es posible, cuando la condición por la cual se presentó la segunda interrupción, puede tener efectos generales sobre el sistema completo e inclusive sobre la interrupción que se atiende. Las dos situaciones presentadas anteriormente, implican que deben asignarse prioridades a los diferentes tipos de interrupciones, esta asignación irá en función de la importancia que representan las mismas. Además debe disponerse de un mecanismo de hardware que garantice el tratamiento de las interrupciones de mayor prioridad frente delante de aquellas de menor prioridad. Esto es posible de realizar, si se utiliza el mecanismo de enmascaramiento, de manera que cuando se esté tratando una interrupción de cierto nivel de prioridad, sean enmascaradas todas las interrupciones con prioridad igual o menor

7-7 Interrupciones 7.1.4 Mecanismos para el Tratamiento de Interrupciones El núcleo del sistema operativo debe proveer las rutinas especiales para el manejo de interrupciones, estas rutinas deben ser capaces de reconocer el tipo específico de interrupción que ha ocurrido, para hacer el tratamiento correspondiente. A continuación se listan el conjunto de pasos para resolver una interrupción: 1. Al momento de producirse una interrupción, debe quedar almacenada en un registro especial, la identificación del tipo de interrupción que se ha presentado. 2. Se debe salvar el estado que tenía el CPU cuando se produjo la interrupción, es decir salvar el contador de programa y los registros e indicadores en un área reservada de memoria. 3. Se hace una transferencia incondicional al punto de entrada de la rutina manejadora de interrupciones. Los pasos 1 al 3 son ejecutados automáticamente por el mecanismo de hardware encargado de manejar las interrupciones. La dirección de comienzo de la rutina manejadora de interrupciones debe ser fija en memoria. 4. Una vez en la rutina manejadora de interrupciones, se determinará el origen de la interrupción, utilizando la información almacenada en el registro especial mencionado en el paso 1. Identificada la condición de interrupción presente, se procederán a tomar las acciones correspondientes (en general, se hará una transferencia a la rutina de servicio de interrupción que corresponde al tipo de interrupción presentado). 5. Se mantienen enmascaradas las interrupciones con prioridad igual o menor que aquella que se está procesando. 6. Al finalizar de ejecutarse la rutina manejadora de interrupciones, eventualmente continuará ejecutándose el programa que estaba corriendo cuando se produjo la interrupción, restableciendo los valores del contador de programa, registros e indicadores, desde el área de memoria donde habían sido salvados cuando se presentó la interrupción. Si hubiese interrupciones pendientes por atender, estas deberán ser tratadas, antes de dar control nuevamente al programa que inicialmente fue interrumpido.