Beruflich Dokumente
Kultur Dokumente
Multiprogramación
,1*(1,(5Ë$(1,1)250È7,&$
6LVWHPDVGH2SHUDFLyQ
81,9(56,'$'1$&,21$/(;3(5,0(17$/'(*8$<$1$
6LVWHPDV2SHUDWLYRV
,QWURGXFFLyQ
6LVWHPDV2SHUDWLYRV
,QWURGXFFLyQ
6LVWHPDV2SHUDWLYRV
,QWURGXFFLyQ
6LVWHPDV2SHUDWLYRV
,QWURGXFFLyQ
6LVWHPDV2SHUDWLYRV
,QWURGXFFLyQ
6LVWHPDV2SHUDWLYRV
,QWURGXFFLyQ
• Ejemplo:
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
3URFHVR
• Ubicación en memoria:
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
3URFHVR
6HJXULGDG:
o Se reducen los efectos de un error.
o Los programas tienen la ilusión de que están sólos.
o Cada proceso se ejecuta en su propio espacio de
direcciones (no puede acceder directamente a
espacios de direcciones de otros procesos).
o Su ejecución y posibles errores está confinada a su
espacio ⇒ compartir información se complica ⇒
hay un costo implícito.
• Proceso = CPU virtual.
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
3URFHVR
• Creación de procesos:
Un proceso se crea mediante una llamada al
sistema (ej: “CreateProcess”, “fork”, etc.).
El proceso creador (que hace la llamada) se
denomina “padre” y el proceso creado
(resultado de la llamada) se llama “hijo”.
Aspectos a considerar en la relación padre/hijo:
1. Compartición de recursos: todos, algunos, ninguno.
2. Espacio de memoria: clonado, nuevo.
3. Sincronización del padre: ¿esperar a que el hijo
termine?
4. Terminación.
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
3URFHVR
• Terminación de procesos:
Un proceso termina cuando invoca al sistema
una llamada específica (ej: “exit”).
También si se genera una excepción y el SOP
decide abortarlo.
En UNIX, cuando un proceso termina, con él
muere su descendencia (genocidio).
Podría existir una llamada al sistema para
abortar otro proceso.
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
3URFHVR
• Comunicación de procesos:
Los procesos pueden tener distintas relaciones
de comunicación entre sí:
a) Independientes/competidores: los procesos
compiten por el uso de recursos escasos.
b) Cooperantes: los procesos colaboran entre sí para
llevar a cabo un objetivo común.
6LVWHPDV2SHUDWLYRV
3URFHVR
6LVWHPDV2SHUDWLYRV
&RQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
1) P1 ejecuta n
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
6LVWHPDV2SHUDWLYRV
&DPELRGHFRQWH[WR
8) Se reanuda ejecución de P2
6LVWHPDV2SHUDWLYRV
7LSRVGH0XOWLSURJUDPDFLyQ
6LVWHPDV2SHUDWLYRV
7LSRVGH0XOWLSURJUDPDFLyQ
b) Tratamiento paralelo:
A cada uno de los procesos en memoria se le
asigna un intervalo de tiempo fijo o período 7
llamado TXDQWXP (décima de segundos).
Al finalizar el TXDQWXP asignado a un proceso, el
control de la CPU pasa al siguiente proceso.
La cuenta del tiempo se realiza mediante un circuito
contador activado por el reloj de la CPU; al
transcurrir el período 7 se genera una interrupción
de la CPU.
6LVWHPDV2SHUDWLYRV
7LSRVGH0XOWLSURJUDPDFLyQ
c) Tiempo compartido:
Se asigna el control de la CPU a un nuevo proceso
interrumpiendo al anterior siempre que este último
agote su TXDQWXP de tiempo o que entre en la
ejecución de una instrucción de E/S.
Es una combinación de las dos modalidades
anteriores.
La CPU trabaja el 100% en determinados intervalos
según el tipo de carga..
6LVWHPDV2SHUDWLYRV
7LSRVGH0XOWLSURJUDPDFLyQ
6LVWHPDV2SHUDWLYRV
7LSRVGH0XOWLSURJUDPDFLyQ
a) Apropiativa o preferente:
MS-Windows, UNIX, Linux.
El SOP puede interrumpir en cualquier momento el
proceso activo para ceder CPU a otro proceso
preparado.
El algoritmo de planificación decide qué proceso se
detiene y cuál de los procesos preparados pasa a
activo.
6LVWHPDV2SHUDWLYRV
+LORV
6LVWHPDV2SHUDWLYRV
+LORV
6LVWHPDV2SHUDWLYRV
+LORV
6LVWHPDV2SHUDWLYRV
+LORV
6LVWHPDV2SHUDWLYRV
+LORV
6LVWHPDV2SHUDWLYRV
+LORV
6LVWHPDV2SHUDWLYRV
3URFHVRV&RQFXUUHQWHV
6LVWHPDV2SHUDWLYRV
3URFHVRV&RQFXUUHQWHV
• Comunicación ⇒ intercambio de
información entre los procesos.
• Sincronización ⇒ detener un proceso hasta
que se produzca un determinado evento o
se den ciertas condiciones.
• Ambos procesos requieren estrategias y
técnicas de solución.
6LVWHPDV2SHUDWLYRV