Cambio de contexto

Download Report

Transcript Cambio de contexto

Este documento describe
gráficamente el cambio en la
ejecución de un proceso PA a otro PB
en un sistema multiprogramado, en
particular el cambio de contexto y de
estado de los procesos.
Alberto Lafuente, UPV/EHU, Dep ATC
PA
1.
Cola de ejecución
PB
Cola de preparados
Pila de PA
SP
CPU
Contexto
de PB
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
Se está ejecutando PA.
PA
Cola de ejecución
BA de la Rut.
de Atención
PB
Cola de preparados
Pila de PA
SP
CPU
Contexto
de PB
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
PA
Cola de ejecución
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
PB
Cola de preparados
Pila de PA
SP
CPU
Contexto
de PB
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
PA
Cola de ejecución
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
PB
Cola de preparados
Pila de PA
SP
CPU
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
PA
Cola de ejecución
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
PB
Cola de preparados
Pila de PA
SP
CPU
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
PAB
Cola de ejecución
Cola de preparados
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
Pila de PA
SP
CPU
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
6.
Cambio de estado de PB.
PAB
Cola de ejecución
Cola de preparados
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
Pila de PA
SP
CPU
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
6.
Cambio de estado de PB.
El PCB de PB contiene el estado
de su SP.
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
PAB
Cola de ejecución
Cola de preparados
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
Pila de PA
SP
CPU
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
6.
Cambio de estado de PB.
7.
Manipulación del Stack
Pointer para retornar al
bloque de activación de PB.
PAB
Cola de ejecución
Cola de preparados
BA de la Rut.
de Atención
BA
Contexto
de la Rut.
de de
Atención
PA
Pila de PA
SP
CPU
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
6.
Cambio de estado de PB.
7.
Manipulación del Stack
Pointer para retornar al
bloque de activación de PB.
8.
Se carga el contexto de PB
en la CPU.
PAB
Cola de ejecución
Cola de preparados
BA
Contexto
de la Rut.
de de
Atención
PA
Pila de PA
SP
CPU
PA
Contexto
de PB
Una cola de
bloqueados (por
ejemplo)
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
6.
Cambio de estado de PB.
7.
Manipulación del Stack
Pointer para retornar al
bloque de activación de PB.
8.
Se carga el contexto de PB
en la CPU.
9.
Retorno de la interrupción.
PAB
Cola de ejecución
Cola de preparados
BA
Contexto
de la Rut.
de de
Atención
PA
Pila de PA
SP
CPU
1.
Se está ejecutando PA.
2.
Se produce una
interrupción (externa o
trap).
3.
Se salva el contexto de PA.
4.
Cambio de estado de PA.
5.
Scheduler: elige a PB.
6.
Cambio de estado de PB.
7.
Manipulación del Stack
Pointer para retornar al
bloque de activación de PB.
8.
Se carga el contexto de PB
en la CPU.
9.
Retorno de la interrupción.
PA
Una cola de
bloqueados (por
ejemplo)
10. Se ejecuta PB.
Pila de PB
Alberto Lafuente, UPV/EHU, Dep ATC