28
1 TP - Módulo 1; Com Resoluções 1 Computação Avançada Módulo 1 (Aula Teórico-Prática) Modelação e Análise de Sistemas Computacionais Nuno Pereira [email protected] Eduardo Tovar [email protected] TP - Módulo 1; Com Resoluções 2 PARTE I Revisão das Regras das RdP

Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

1

TP - Módulo 1; Com Resoluções 1

Computação Avançada

Módulo 1 (Aula Teórico-Prática)Modelação e Análise de Sistemas Computacionais

Nuno Pereira [email protected] Tovar [email protected]

TP - Módulo 1; Com Resoluções 2

PARTE I

Revisão das Regras das RdP

Page 2: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

2

TP - Módulo 1; Com Resoluções 3

A

Conjunto de Exemplos (1)(Marcação Inicial)

B

22

C

22

TP - Módulo 1; Com Resoluções 4

A B

22

C

22

A C

22

Transição habilitada. Transição não habilitada.

Transição habilitada.

Conjunto de Exemplos (1)(Evolução da Marcação)

Após disparo Após disparo

Page 3: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

3

TP - Módulo 1; Com Resoluções 5

Conjunto de Exemplos (2)(Marcação Inicial)

F

22

D

22

E

1010 100100

TP - Módulo 1; Com Resoluções 6

Conjunto de Exemplos (2)(Evolução da Marcação)

F

22

D

22

E

1010 100100

F

22

D

22

E

1010 100100

1010

Disparo acrescenta dez marcas na posição posterior.

100100

Após disparo Após disparoApós disparo

Disparo acrescenta duas marcas na posição posterior.

Disparo acrescenta cem marcas na

posição posterior.

Page 4: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

4

TP - Módulo 1; Com Resoluções 7

Conjunto de Exemplos (3)(Marcação Inicial)

G H

22

I

22

33

TP - Módulo 1; Com Resoluções 8

Conjunto de Exemplos (3)(Evolução da Marcação)

G H

22

IH

22

22 33

I

22

33

Após disparoApós disparo

Transição não habilitada.

Page 5: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

5

TP - Módulo 1; Com Resoluções 9

Conjunto de Exemplos (4)(Marcação Inicial)

J K L

22 22

33

55

TP - Módulo 1; Com Resoluções 10

Conjunto de Exemplos (4)(Evolução da Marcação)

J K L

22 22

33

55

J K L

22 22

33

55

Após disparo Após disparoApós disparo

Page 6: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

6

TP - Módulo 1; Com Resoluções 11

M

Conjunto de Exemplos (5)(Marcação Inicial)

N

33

TP - Módulo 1; Com Resoluções 12

M

Conjunto de Exemplos (5)(Evolução da Marcação)

N

33

M N

33

Após disparoApós disparo

Page 7: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

7

TP - Módulo 1; Com Resoluções 13

Exercício

2233

•Qual é a sequência de disparo de transições?

t1

t2

t3

t4

P1

P2 P3

P4

P5

P6

P7

P8

TP - Módulo 1; Com Resoluções 14

Exercício

2233

t1

t2

t3

t4

P1

P2 P3

P4

P5

P6

P7

P8

Page 8: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

8

TP - Módulo 1; Com Resoluções 15

Exercício

2233

t1

t2

t3

t4

P1

P2 P3

P4

P5

P6

P7

P8

TP - Módulo 1; Com Resoluções 16

Exercício

2233

t1

t2

t3

t4

P1

P2 P3

P4

P5

P6

P7

P8

Page 9: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

9

TP - Módulo 1; Com Resoluções 17

Exercício

2233

t1

t2

t3

t4

P1

P2 P3

P4

P5

P6

P7

P8

TP - Módulo 1; Com Resoluções 18

Exercício

2233

t1

t2

t3

t4

P1

P2 P3

P4

P5

P6

P7

P8

Page 10: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

10

TP - Módulo 1; Com Resoluções 19

Exercício

• Elaborar o respectivo gráfico das marcações acessíveis

TP - Módulo 1; Com Resoluções 20

Exercício

• Elaborar o respectivo gráfico das marcações acessíveis

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

= →→→→→

11010000

00130000

00001100

00001011

00000102

00000013

543210

43121

MMMMMMttttt

Page 11: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

11

TP - Módulo 1; Com Resoluções 21

PARTE II

Exemplos de Modelação

TP - Módulo 1; Com Resoluções 22

Exemplos de Modelação

1. Semáforos de Trânsito2. Sistema Sequencial c/ Monitorização3. Comutador Simples4. Trabalhos de Impressão 5. Servidor de Base de Dados (Exercício)

Page 12: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

12

TP - Módulo 1; Com Resoluções 23

1. Semáforos de Trânsito

• Um semáforo de trânsito com três cores.• Apenas uma cor está acesa de

cada vez

TP - Módulo 1; Com Resoluções 24

1. Semáforos de Trânsito

• Um semáforo de trânsito com três cores.• Apenas uma cor está acesa de

cada vez

VerdeVerde

AmareloAmarelo

VermelhoVermelho

t1

t2

t3

Page 13: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

13

TP - Módulo 1; Com Resoluções 25

1. Semáforos de Trânsito• Dois semáforos de trânsito num cruzamento (S1 e S2).• Não podemos ter dois semáforos a verde!

S1S1 S2S2

TP - Módulo 1; Com Resoluções 26

1. Semáforos de Trânsito

Este modelo NÃO garante alternância!Este modelo NÃO garante alternância!

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

S1S1 S2S2

• Dois semáforos de trânsito num cruzamento (S1 e S2).• Não podemos ter dois semáforos a verde!• Devemos garantir alternância entre os dois semáforos.

t1

t2

t3

t4

t5

t6

Page 14: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

14

TP - Módulo 1; Com Resoluções 27

1. Semáforos de Trânsito

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

• Dois semáforos de trânsito num cruzamento (S1 e S2).• Não podemos ter dois semáforos a verde!• Devemos garantir alternância entre os dois semáforos.

S1S1 S2S2

t1

t2

t3

t4

t5

t6

TP - Módulo 1; Com Resoluções 28

1. Semáforos de Trânsito

• Sequência de transições

S1S1 S2S2

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

t1

t2

t3

t4

t5

t6

Page 15: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

15

TP - Módulo 1; Com Resoluções 29

1. Semáforos de Trânsito

• Sequência de transições

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

S1S1 S2S2

t1

t2

t3

t4

t5

t6

TP - Módulo 1; Com Resoluções 30

1. Semáforos de Trânsito

• Sequência de transições

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

S1S1 S2S2NOTA: A duração deste estado é zero.

t1

t2

t3

t4

t5

t6

Page 16: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

16

TP - Módulo 1; Com Resoluções 31

1. Semáforos de Trânsito

• Sequência de transições

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

S1S1 S2S2

t1

t2

t3

t4

t5

t6

TP - Módulo 1; Com Resoluções 32

1. Semáforos de Trânsito

• Sequência de transições

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

S1S1 S2S2

t1

t2

t3

t4

t5

t6

Page 17: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

17

TP - Módulo 1; Com Resoluções 33

1. Semáforos de Trânsito

• Sequência de transições

Verde S2Verde S2

Amarelo S2Amarelo S2

Vermelho S2Vermelho S2

Verde S1Verde S1

Amarelo S1Amarelo S1

Vermelho S1Vermelho S1

S1S1 S2S2

t1

t2

t3

t4

t5

t6

TP - Módulo 1; Com Resoluções 34

2. Sistema Sequencial c/ Monitorização

• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é

despoletado um processo secundário de monitorização

• Passos de modelação:

1. Começamos por modelar a sequência de processos;2. Depois, modelamos a activação do processo de monitorização.

Page 18: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

18

TP - Módulo 1; Com Resoluções 35

2. Sistema Sequencial c/ Monitorização

• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é

despoletado um processo secundário de monitorização

MonitorizaMonitorizaççãoão

AA

BB

CC

DD

1. Come1. Começçamos por modelar a amos por modelar a sequência de processossequência de processos

EsperaEspera

t1

t2

t3

t4

t5

t6

TP - Módulo 1; Com Resoluções 36

2. Sistema Sequencial c/ Monitorização

• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é

despoletado um processo secundário de monitorização

MonitorizaMonitorizaççãoão

AA

BB

CC

DD

EsperaEspera

2. E agora modelamos a 2. E agora modelamos a activaactivaçção do processo de ão do processo de monitorizamonitorizaççãoão

t1

t2

t3

t4

t5

t6

Page 19: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

19

TP - Módulo 1; Com Resoluções 37

2. Sistema Sequencial c/ Monitorização

• Um sistema executa 4 processos sequenciais: A, B, C e D.• Enquanto estiverem a ser executados os processos B ou D, é

despoletado um processo secundário de monitorização

AA

BB

CC

DD

O processo de monitorizaO processo de monitorizaçção ão éédespoletado despoletado enquantoenquanto existir uma existir uma marca em B marca em B ouou DD

MonitorizaMonitorizaççãoão

EsperaEspera

2. E agora modelamos a 2. E agora modelamos a activaactivaçção do processo de ão do processo de monitorizamonitorizaççãoão

t1

t2

t3

t4

t5t6

t7

TP - Módulo 1; Com Resoluções 38

3. Comutador Simples

RoundRound--RobinRobinPISCOPISCO

• Um comutador (switch) que serve as portas de entrada em Round-Robin (RR).

• Consideremos que:– Cada porta tem uma fila de entrada de mensagens com capacidade

máxima de 50 mensagens;– O comutador precisa de V unidades de tempo para verificar se fila de

entrada de mensagens tem mensagens;– O comutador demora C unidades de tempo para colocar a mensagem

na fila de saída da porta de destino;– A chegada de mensagens a uma porta do comutador acontece de

acordo com um processo de poisson (tempo entre chegadas exponencial).

Page 20: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

20

TP - Módulo 1; Com Resoluções 39

3. Comutador Simples• Por simplicidade vamos modelar apenas 4 portas.

• Passos de modelação:1. Comecemos por modelar o mecanismo RR de serviço às filas do

comutador; 2. De seguida modelamos a verificação das filas de mensagens e

comutação em cada nó;3. Finalmente, modelar o caso quando o Buffer de mensagens

está vazio.

TP - Módulo 1; Com Resoluções 40

3. Comutador Simples• Por simplicidade vamos modelar apenas 4 portas.• Comecemos por modelar o mecanismo RR de serviço às filas do

comutador:

Estes blocos vão ser substituídos pela verificação das filas de mensagens e comutação das mensagens

InInííciocio FimFim InInííciocio FimFim InInííciocio FimFim InInííciocio FimFim

Porta 1 Porta 2 Porta 3 Porta 4

Page 21: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

21

TP - Módulo 1; Com Resoluções 41

3. Comutador Simples• De seguida modelamos a verificação das filas de

mensagens e comutação em cada nó:

FimFim

Chegada Chegada MsgMsg

BufferBuffer MsgMsg

BufferBuffer c/ c/ MsgMsg

Porta XPorta X

Tempo de verificaTempo de verificaçção da ão da fila de mensagens (fila de mensagens (VV))

InInííciocio

Tempo Tempo para colocar a para colocar a mensagem na fila de mensagem na fila de sasaíída da porta de da da porta de destinodestino ((CC))Comuta Comuta MsgMsg

TP - Módulo 1; Com Resoluções 42

3. Comutador Simples• Falta modelar o caso quando o Buffer de mensagens

está vazio:

FimFim

Chegada Chegada MsgMsg

BufferBuffer MsgMsg

BufferBuffer c/ c/ MsgMsg

Porta XPorta X

Tempo de verificaTempo de verificaçção da ão da fila de mensagens (fila de mensagens (VV))

InInííciocio

Tempo Tempo para colocar a para colocar a mensagem na fila de mensagem na fila de sasaíída da porta de da da porta de destinodestino ((CC))Comuta Comuta MsgMsg

Page 22: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

22

TP - Módulo 1; Com Resoluções 43

3. Comutador Simples• Falta modelar o caso quando o Buffer de mensagens

está vazio:

FimFim

Chegada Chegada MsgMsg

BufferBuffer MsgMsg

BufferBuffer c/ c/ MsgMsg

Porta XPorta X

5050

5050

BufferBuffer VazioVazio

5050

Tamanho do Tamanho do BufferBuffer Leitura da posiLeitura da posiçção. Se tem menos de 50 ão. Se tem menos de 50 marcas, então existem mensagens no marcas, então existem mensagens no bufferbuffer; senão, o ; senão, o bufferbuffer estestáá vazio.vazio.

InInííciocio

Tempo de verificaTempo de verificaçção da ão da fila de mensagens (fila de mensagens (VV))

Tempo Tempo para colocar a para colocar a mensagem na fila de mensagem na fila de sasaíída da porta de da da porta de destinodestino ((CC))Comuta Comuta MsgMsg

TP - Módulo 1; Com Resoluções 44

3. Comutador Simples

Porta 1 Porta 2 Porta 3 Porta 4

50505050

5050

InInííciocio FimFim 50505050

5050

InInííciocio FimFim 50505050

5050

InInííciocio FimFim 50505050

5050

InInííciocio FimFim

• O modelo final:

Page 23: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

23

TP - Módulo 1; Com Resoluções 45

4. Trabalhos de Impressão• Temos 3 processos P1, P2, P3.• O processo P1 faz o pré-processamento de trabalhos de

impressão.• Após o pré-processamento de P1, pode ser executado o

processo P2 ou P3 que enviam os trabalhos para as impressoras

• Os processos acedem às seguintes estruturas de dados partilhadas:– P1: Acede a I1 ou I2– P2: Acede a I1– P3: Acede a I2

TP - Módulo 1; Com Resoluções 46

4. Trabalhos de Impressão

• Passos de modelação:

1. Vamos começar por fazer a estrutura sequencial básica: Chegada de pedidos → P1 → P2 ou P3;

2. Modelar os acessos aos recursos (Impressoras I1 e I2):1. Começamos por modelar o acesso feito por P2 e P3;2. Modelar o acesso feito por P1 aos recursos partilhados.

Page 24: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

24

TP - Módulo 1; Com Resoluções 47

4. Trabalhos de Impressão

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

P2P2

Pedido Pedido ImpressoImpresso

• Vamos começar por fazer a estrutura sequencial básica: Chegada de pedidos → P1 → P2 ou P3:

P1P1

P3P3

Executa P2 Executa P2 OUOU P3P3

TP - Módulo 1; Com Resoluções 48

4. Trabalhos de Impressão

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

P2P2

Pedido Pedido ImpressoImpresso

• Temos de modelar os acessos aos recursos (Impressoras I1 e I2); Começamos por modelar o acesso feito por P2 e P3:

P1P1

P3P3

I1I1

I2I2

Acesso de P2 a I1Acesso de P2 a I1

Acesso de P3 a I2Acesso de P3 a I2

Page 25: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

25

TP - Módulo 1; Com Resoluções 49

4. Trabalhos de Impressão

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

P2P2

Pedido Pedido ImpressoImpresso

• Como modelar o acesso feito por P1 aos recursos partilhados?

P1P1

P3P3

I1I1

I2I2

Esta opção de modelação indica que P1utiliza I1 e I2 ao mesmo tempo.

TP - Módulo 1; Com Resoluções 50

4. Trabalhos de Impressão

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

P2P2

Pedido Pedido ImpressoImpresso

• Temos de modelar a alternativa de aceder a um recurso ou outro (I1 ou I2)…

P1P1

P3P3

I1I1

I2I2

Page 26: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

26

TP - Módulo 1; Com Resoluções 51

4. Trabalhos de Impressão

• Modelar a alternativa de aceder a um recurso ou outro:

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

I2I2

I1I1

P1 utiliza I1P1 utiliza I1

P1 utiliza I2P1 utiliza I2

P2P2

P3P3

Pedido Pedido ImpressoImpresso

P1 utiliza I1 P1 utiliza I1 OUOU I2I2

P1 enquanto utiliza I1P1 enquanto utiliza I1

P1 enquanto utiliza I2P1 enquanto utiliza I2

TP - Módulo 1; Com Resoluções 52

4. Trabalhos de Impressão

• Temos de modelar o facto de apenas poder ser executada uma das opções:

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

I2I2

I1I1

P1 utiliza I1P1 utiliza I1

P1 utiliza I2P1 utiliza I2

P2P2

P3P3

Pedido Pedido ImpressoImpresso

Page 27: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

27

TP - Módulo 1; Com Resoluções 53

4. Trabalhos de Impressão

Fila PedidosFila Pedidos

Chegada Chegada PedidoPedido

I2I2

I1I1

P1 utiliza I1P1 utiliza I1

P1 utiliza I2P1 utiliza I2

P2P2

P3P3

Pedido Pedido ImpressoImpresso

• Adicionando todos os acesso aos recursos, temos o modelo final:

TP - Módulo 1; Com Resoluções 54

Exercício: 5. Servidor de Base de Dados

• Uma base de dados cria processos que acedem a uma tabela. Os processos podem ter dois estados: escrita e leitura.

• As operações de leitura e escrita são exclusivas; Quando temos um leitor a aceder à tabela, nenhum escritor pode aceder a esta e vice-versa.

• São permitidos vários leitores ao mesmo tempo, mas por restrições do sistema, apenas podemos ter um máximo de cinco leitores a aceder àtabela ao mesmo tempo.

• Apenas podemos ter um escritor de cada vez.

• Podem existir em simultâneo um máximo de 50 processos a pendentes para efectuar leituras.

• Podem existir em simultâneo um máximo de 10 processos a pendentes para efectuar escritas.

Page 28: Computação Avançadanpereira/aulas/compa/09/COMPA... · 2. E agora modelamos a activação do processo de monitorização t 1 t 2 t 3 t 4 t 5 t 6 t 7 TP - Módulo 1; Com Resoluções

28

TP - Módulo 1; Com Resoluções 55

5. Servidor de Base de Dados

Fila LeitoresFila Leitores Fila EscritoresFila Escritores5050 1010

• Começamos pelas duas filas; Leitores e escritores:

Limitador da fila de leitores (Limitador da fila de leitores (““mmááximo de ximo de 50 50 processos a pendentes para efectuar processos a pendentes para efectuar leiturasleituras””))

Limitador da fila de escritores (Limitador da fila de escritores (““mmááximo ximo de 10 de 10 processos a pendentes para processos a pendentes para efectuar leiturasefectuar leituras””))

TP - Módulo 1; Com Resoluções 56

5. Servidor de Base de Dados

Fila LeitoresFila Leitores Fila EscritoresFila Escritores

LeituraLeitura EscritaEscrita

55

55

5050 1010

55

• E depois modelamos a leitura e escrita:

Limitador do nLimitador do núúmero de processos a ler (5)mero de processos a ler (5)Limitador do nLimitador do núúmero de processos a escrever (1)mero de processos a escrever (1)

Exclusão mExclusão múútua entre leitores e escritorestua entre leitores e escritores