administrador de procesos · administrador de procesos . multitarea la multitarea se basa en:...
TRANSCRIPT
![Page 1: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/1.jpg)
Sistemas Operativos
M. en C. Violeta del Rocío Becerra Velázquez
Marzo de 2014.
Administrador de Procesos
![Page 2: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/2.jpg)
Multitarea
La multitarea se basa en:
Paralelismo real entre E/S y
procesador.
Alternancia en los procesos de fases
de E/S y de procesamiento.
Memoria principal capaz de
almacenar varios procesos.
2
![Page 3: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/3.jpg)
Ejemplo de Ejecución en un Sistema
Multitarea
3
Proceso A
Proceso B
Proceso C
Procesador
Tiempo
Procesamiento
Entrada/Salida
Listo
SO
![Page 4: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/4.jpg)
Cambio de Contexto
4
![Page 5: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/5.jpg)
Información del Proceso
Estado del procesador: (conformado
por todos sus registros)
Registros generales.
Contador de programa.
Puntero de pila.
Registro o registros de estado.
Registros especiales
5
![Page 6: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/6.jpg)
Información del Proceso
Imagen de Memoria del Proceso
Esta formada por los espacios de memoria
que está autorizado a utilizar.
6
![Page 7: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/7.jpg)
Información del Proceso
Información del BCP
Información de Identificación: esta identifica
al usuario y al proceso.
Estado del procesador: contiene los valores
iniciales del estado del procesador.
Información de control del proceso.
• Información de planificación y estado.
• Descripción de segmentos de memoria asignados.
• Recursos asignados.
• Punteros.
• Comunicación entre procesos.
7
![Page 8: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/8.jpg)
Tabla de Procesos
8
![Page 9: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/9.jpg)
Tipos de Planificación
9
![Page 10: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/10.jpg)
Objetivos de Planificación
10
![Page 11: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/11.jpg)
Un hilo es una secuencia de instrucciones
relacionadas que se ejecuta de forma
independiente a otras secuencias.
Todos los programas tienen al menos un
hilo principal
Inicializa el programa y comienza la ejecución
de las instrucciones iniciales.
Puede crear otros hilos que ejecuten varias
tareas o puede hacer todo el trabajo el solo
Procesos Ligeros
11
![Page 12: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/12.jpg)
Procesos Ligeros o Threads
12
![Page 13: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/13.jpg)
•Un hilo es una unidad básica de
utilización del CPU; que consiste de: Contador de programa
Conjunto de registros
Espacio de stack
Procesos Ligeros o Threads
13
![Page 14: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/14.jpg)
•Un hilo comparte con sus hilos pares:
Sección de código
Sección de datos
Recursos del sistema operativo
En conjunto se les conoce como tarea
•Un proceso tradicional o pesado, es
igual a una tarea con un hilo.
Procesos Ligeros o Threads
14
![Page 15: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/15.jpg)
Estados del Proceso Ligero
15
![Page 16: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/16.jpg)
En una tarea donde hay múltiples hilos,
mientras un hilo servidor está
bloqueado y esperando, otro hilo en la
misma tarea puede ejecutarse.
Cooperación de múltiples hilos en la misma
tarea aumenta la tasa de trabajos por unidad
tiempo y mejora el rendimiento.
Aplicaciones que requieren compartir un buffer
común (productor-consumidor) sacan
provecho de la utilización de hilos.
Estados del Proceso Ligero
16
![Page 17: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/17.jpg)
Un proceso puede dividirse en múltiples
hilos
Mejor uso de los recursos de hardware
Es necesario entender
Diseño y estructura de la aplicación.
La interface de programación con hilos.
El compilador y el ambiente de ejecución de la
aplicación.
Las plataformas destino donde la aplicación se
va a ejecutar.
Dividiendo una aplicación
17
![Page 18: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/18.jpg)
18
Un trabajo en un núcleo
1 trabajo en 10 segundos
Tasa = 1 / 10 = 0.1
Tiempo de retorno
=10 segs
10 segundos
En el CPU
Uso intensivo de CPU
![Page 19: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/19.jpg)
19
Dos trabajos en un núcleo
2 trabajos en 20 segundos
Tasa = 2 / 20 = 0.1
Tiempo de retorno P0 =20 segs
Tiempo de retorno P1 =20 segs
10 segundos
10 segundos
En el CPU
Uso intensivo de CPU
![Page 20: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/20.jpg)
20
Dos trabajos en un núcleo
2 trabajos en 20 segundos
Tasa = 2 / 20 = 0.1
Tiempo de retorno
P0 =15 segs Tiempo de retorno
P1=19 segs
El tiempo de retorno de los
procesos puede variar
•Prioridades
•Políticas de planificación
La tasa de trabajos se
mantiene igual
10 segundos
10 segundos
En el CPU
Uso intensivo de CPU
![Page 21: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/21.jpg)
21
Un trabajo en dos núcleos
1 trabajo en 10 segundos
Tasa = 1 / 10 = 0.1
Tiempo de retorno
=10 segs
No hay mejora en el
tiempo de retorno ni la
tasa de trabajos
Nucleo 0
Nucleo 1
10 segundos
Uso intensivo de CPU
![Page 22: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/22.jpg)
22
Dos trabajos en dos núcleos
2 trabajos en 10 segundos
Tasa = 2 / 10 = 0.2
Tiempo de retorno
=10 segs
La tasa de trabajos
aumenta al doble
El tiempo de retorno se
mantiene igual que
cuando ejecutamos un
trabajo 10 segundos
10 segundos
Nucleo 0
Nucleo 1
Uso intensivo de CPU
![Page 23: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/23.jpg)
23
Un trabajo optimizado en dos núcleos
1 trabajo en 5 segundos
Tasa = 1 / 5 = 0.2
Tiempo de retorno =5 segs 10 segundos
Nucleo 0
Nucleo 1
5 segundos 5 segundos
Hilo 0 Hilo 1
Uso intensivo de CPU
![Page 24: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/24.jpg)
24
Concurrencia vs. Paralelismo
Concurrencia: dos o más hilos están en
progreso al mismo tiempo
Paralelismo: dos o más hilos están
ejecutandose al mismo tiempo
Se requieren varios núcleos
Hilo 1
Hilo 2
Hilo 1
Hilo 2
![Page 25: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/25.jpg)
Paralelismo con hilos
25
![Page 26: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/26.jpg)
26
Creando hilos por funcionalidad
Asignar hilos a diferentes funciones de
la aplicación El método más simple ya que no hay como
sobreponer
Ejemplo: Construyendo una casa Albañil, carpintero, pintor, plomero,…
![Page 27: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/27.jpg)
27
Hilos para el rendimiento
Mejora el rendimiento de computadoras
Paralelizar para mejorar el tiempo de retorno o la tasa de trabajos
Ejemplo
Línea de ensamblado de automóviles • Cada trabajador hace una función asignada.
![Page 28: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/28.jpg)
28
Tiempo de retorno
Complete una sola tarea en la menor
cantidad de tiempo
Ejemplo: Poner la mesa para la cena
• Uno pone los platos
• Uno que dobla y pone las servilletas
• Uno que ponga los cubiertos
– Cucharas, cuchillos, tenedores
• Uno que ponga los vasos
![Page 29: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/29.jpg)
29
Tasa de trabajos
Completar la mayor cantidad de
trabajos en un tiempo fijo
Ejemplo: Poner las mesas de un
banquete • Varios meseros hacen mesas separadas
• Meseros especializados para platos, vasos,
cubiertos, etc.
![Page 30: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/30.jpg)
30
Descomposición de una tarea
Divide el tiempo de computación
basado en un conjunto natural de
tareas independientes • Asignar datos para cada tarea conforme se van
necesitando
Ejemplo: Pintar por números • Pintando un color es una sola tarea
• Número de tareas = número de colores
• Dos artistas: uno hace los impares y otro los pares
1
1 1 2
2
3
3 3
3
3
3 3
3 3
3
4
4
4
4
5 5 5 5 5
5 5
5
5
5 5 5 5 5
3 6
6
7 9
8
3
8
3
3
8 8
9
1
10 7
6
11
![Page 31: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/31.jpg)
31
Descomposición de los datos
Conjuntos de datos grandes cuyos
elementos pueden computarse de
manera independiente • Divide datos y asocia la computación entre los
hilos
Ejemplo: Calificar exámenes • Varios profesores con la misma llave
![Page 32: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/32.jpg)
32
Aceleración y Eficiencia
Medir que tanto se acelera la ejecución
de cómputo vs. el mejor código serial • Tiempo serial dividido por tiempo paralelo
Ejemplo: Pintar una barda de tablitas • 30 minutos se preparación (serial)
• Un minuto para pintar una tabla
• 30 minutos para limpiar (serial)
Por lo tanto, 300 tablas toman 360
minutos (tiempo serial)
![Page 33: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/33.jpg)
33
Computando Aceleración
¿Que pasa si el dueño de la barda usa un spray para pintar 300 tablas en una hora ? Mejor algoritmo serial
Si no hay sprays disponibles para varios pintores, ¿cuál es la máxima paralelización?
Número de pintores
Tiempo Velocidad
1 30 + 300 + 30 = 360 1.0X
2 30 + 150 + 30 = 210 1.7X
10 30 + 30 + 30 = 90 4.0X
100 30 + 3 + 30 = 63 5.7X
Infinito 30 + 0 + 30 = 60 6.0X
Illustra la ley de Amdahl La aceleración potencial está restringida por la porción serial
![Page 34: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/34.jpg)
34
Eficiencia
Medir que tan efectivamente los
recursos de cómputo están ocupados • Aceleración dividida entre el número de hilos
• Expresada como porcentaje promedio de tiempo
no ocioso
Número de pintores
Tiempo Aceleración Eficiencia
1 360 1.0X 100%
2 30 + 150 + 30 = 210 1.7X 85%
10 30 + 30 + 30 = 90 4.0X 40%
100 30 + 3 + 30 = 63 5.7X 5.7%
Infinito 30 + 0 + 30 = 60 6.0X Muy baja
![Page 35: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/35.jpg)
35
Granularidad
Pobremente definido
como tasa de
computación a
sincronización
Asegurarse que hay
suficiente trabajo que
merezca cómputo en
paralelo
Ejemplo: Dos
granjeros dividen un
campo. ¿Cuántos
granjeros más se
pueden agregar?
![Page 36: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/36.jpg)
36
Balanceo de carga
La distribución más efectiva es tener la
misma cantidad de trabajo por hilo • Los primeros hilos que terminan se convierten en
ociosos
• Los hilos deben terminar casi al mismo tiempo
Ejemplo: Poner las mesas de un
banquete • Lo mejor es asignar la misma cantidad de mesas a
cada cuadrilla
![Page 37: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/37.jpg)
37
Estado del CPU
Lógica de Interrupciones
Cache
Unidades de ejecución
Single Core
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Hilos en plataforma single core
![Page 38: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/38.jpg)
38
Estado del CPU
Lógica de Interrupciones
Estado del CPU
Lógica de Interrupciones
Cache
Unidades de ejecución
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Tecnología Hyper Threading
Ambas instrucciones
requieren diferentes
unidades funcionales
Ambas instrucciones
requieren una misma
unidad funcional
Hilos en plataforma Hyper Threading
![Page 39: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/39.jpg)
39
Estado del CPU
Lógica de Interrupciones
Estado del CPU
Lógica de Interrupciones
Cache Cache
Unidades de ejecución Unidades de ejecución
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Instrucción
Multi Core
Multi-hilos en plataforma multi core
![Page 40: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/40.jpg)
Jerarquía de Procesos Ligeros
40
![Page 41: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/41.jpg)
Todas las computadoras
proporcionan un mecanismo mediante
el cual otros módulos (E/S, memoria)
pueden interrumpir la ejecución
normal del procesador.
El objetivo de las interrupciones es
ser una vía para mejorar la eficiencia
del procesamiento.
Interrupciones
41
![Page 42: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/42.jpg)
De programa.
De reloj.
De E/S.
Por fallo de hardware.
Tipos de Interrupciones
42
![Page 43: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/43.jpg)
De programa: Generadas por alguna condición que se
produce como resultado de la ejecución de
una instrucción, como el desbordamiento
aritmético, la división por cero, el intento de
ejecutar una instrucción ilegal de la
máquina o una referencia a una zona de
memoria fuera del espacio permitido al
usuario.
Tipos de Interrupciones
43
![Page 44: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/44.jpg)
De reloj: Generadas por un reloj interno del
procesador. Esto permite al sistema
operativo llevar a cabo ciertas funciones
con determinada regularidad.
Tipos de Interrupciones
44
![Page 45: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/45.jpg)
De Entrada/Salida: Generadas por un controlador de
Entrada/Salida, para indicar que una
operación ha terminado normalmente o
para indicar diversas condiciones de error.
Tipos de Interrupciones
45
![Page 46: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/46.jpg)
Por fallo de hardware: Generadas por fallos tales como un corte
de energía o un error de paridad de la
memoria.
Tipos de Interrupciones
46
![Page 47: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/47.jpg)
1) El dispositivo emite una señal de interrupción
al procesador
2) El procesador finaliza la ejecución de la
instrucción en curso, antes de responder a la
interrupción.
3) El procesador pregunta por la interrupción,
comprueba que hay una y envía una señal de
reconocimiento al dispositivo que generó la
interrupción.
Tratamiento de Interrupciones
47
![Page 48: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/48.jpg)
4) El procesador necesita ahora prepararse para
transferir el control a la rutina de
interrupción.
5) El procesador carga ahora el contador de
programa, con la ubicación de entrada del
programa de tratamiento de la interrupción,
que responderá a esta interrupción.
6) En este punto, el contador de programa y la
PSW relativa al programa interrumpido se
han salvado en la pila de sistema. (cambio de
contexto)
Tratamiento de Interrupciones
48
![Page 49: Administrador de Procesos · Administrador de Procesos . Multitarea La multitarea se basa en: Paralelismo real entre E/S y procesador. Alternancia en los procesos de fases de E/S](https://reader030.vdocuments.pub/reader030/viewer/2022040110/5eada268f7e88629dd297bb6/html5/thumbnails/49.jpg)
7) La rutina de tratamiento de la interrupción puede ahora proceder a procesar la interrupción.
8) Cuando se completa el tratamiento de la interrupción, se recuperan de la pila los registros de los valores que se salvaron y se restauran sobre los registros del procesador.
9) La operación final es restaurar los valores de la PSW y del contador de programa a partir de la pila. Como resultado, la próxima instrucción ejecutada será la del programa interrumpido previamente.
Tratamiento de Interrupciones
49