6
MULTIPROGRA MACION Integrantes: Saboya Farroñan Verónica. Tello Falla Iris.

Multiprogramacion

Embed Size (px)

Citation preview

Page 1: Multiprogramacion

MULTIP

ROGRAMACIO

N Integrantes: Saboya Farroñan Verónica. Tello Falla Iris.

Page 2: Multiprogramacion

DEFINICION Se denomina multiprogramación a la técnica

que permite que dos o más procesos ocupen la misma unidad de memoria principal y que sean ejecutados al "mismo tiempo" (pseudo-paralelismo, en una única CPU sólo puede haber un proceso a la vez) en la unidad central de proceso o CPU.

Page 3: Multiprogramacion

VENTAJAS La ya mencionada, varios procesos en ejecución.

Permite el servicio interactivo simultáneo a varios usuarios de manera eficiente.

Aprovecha los tiempos que los procesos pasan esperando a que se completen sus operaciones de E/S

Aumenta el uso de la CPU.

Las direcciones de los procesos son relativas, el programador no se preocupa por saber en dónde estará el proceso dado que el sistema operativo es el que se encarga de convertir la dirección lógica en física.

Page 4: Multiprogramacion

INTERRUPCIONESUna interrupción es simplemente un llamado forzoso a un procedimiento.Algunas de las aplicaciones más importantes de las interrupciones son las siguientes:1. En un ambiente de multiprogramación debe existir algún mecanismo que le permita al

sistema tomar el control después de un error en el programa de usuario, como por ejemplo, una división por cero o desbordamiento. Esto puede lograrse por medio de las interrupciones.

2. Un requisito indispensable para poder realizar eficientemente la multiprogramación es que haya concurrencia entre el procesamiento central y las operaciones de entrada/salida. Esto puede llevarse a cabo mediante las entradas/salidas asincrónicas, cuya implantación está basado en el uso de interrupciones.

3. Cuando la computadora se usa como medio para controlar sistemas externos, es indispensable que exista un mecanismo que permita comunicar al procesador la existencia de eventos en dichos sistemas. El mecanismo que tradicionalmente se usa para este fin es el e interrupciones.

4. Para poder realizar la multiprogramación eficientemente es necesario contar con un medio que permita repartir el tiempo del procesador entre los diferentes usuarios, sin que exista el peligro de que un programa permanezca usando el procesador por mucho tiempo. Los relojes conjuntamente con las interrupciones, permiten solucionar este problema.

Page 5: Multiprogramacion

LAS INTERRUPCIONES PUEDEN SER CLASIFICADAS EN TRES GRUPOS DESDE EL PUNTO DE VISTA DE SU FUNCIONALIDAD:

1. Interrupciones Asincrónicas: Son todas aquellas que ocurren de forma simultánea con el procesamiento, por algún suceso que es externo e independiente a la ejecución del proceso en curso, por agentes distintos al procesador. Un ejemplo típico son las originadas por los periféricos.

2. Desvíos: Se refieren a las interrupciones debidas a programación causadas por el procesador al ejecutar una instrucción, tienen carácter sincrónico con respecto al procesamiento. Por ejemplo las interrupciones causadas por división por cero, desbordamiento, error de protección de memoria.

3. Llamadas al Supervisor (SVC): Pueden activar al sistema operativo desde el programa que se está ejecutando; estos se comunican con el sistema operativo para solicitarle un servicio. Son conocidas también como interrupciones por software.

Page 6: Multiprogramacion

CONCURRENCIAPRINCIPIOS GENERALES DE LA CONCURRENCIA En un sistema multiprogramador con un único procesador, los procesos se intercalan en el tiempo

aparentando una ejecución simultánea. Aunque no se logra un procesamiento paralelo y produce una sobrecarga en los intercambios de procesos, la ejecución intercalada produce beneficios en la eficiencia del procesamiento y en la estructuración de los programas.

La intercalación y la superposición pueden contemplarse como ejemplos de procesamiento concurrente en un sistema monoprocesador, los problemas son consecuencia de la velocidad de ejecución de los procesos que no pueden predecirse y depende de las actividades de otros procesos, de la forma en que el sistema operativo trata las interrupciones surgen las siguientes dificultades:

Compartir recursos globales es riesgoso Para el sistema operativo es difícil gestionar la asignación óptima de recursos. Las dificultades anteriores también se presentan en los sistemas multiprocesador.

  El hecho de compartir recursos ocasiona problemas, por esto es necesario proteger a dichos

recursos.

  Los problemas de concurrencia se producen incluso cuando hay un único procesado