Professional Documents
Culture Documents
Unidade Dois
Um processo inclui:
Contador de programa
Registradores (pilha)
Variáveis (seção de dados)
novo 2 encerrado
pronto em execução
4 1
em espera
P1 P2 P3
0 24 27 30
O tempo de espera para P1 = 0; P2 = 24; P3 = 27
O tempo de espera médio: (0 + 24 + 27)/3 = 17
P2 P3 P1
0 3 6 30
O tempo de espera para P1 = 6; P2 = 0; P3 = 3
O tempo de espera médio : (6 + 0 + 3)/3 = 3
Muito melhor que o anterior
Efeito Comboio: pequenos processos atrás de longos processos
0 7 8 12 16
0 2 4 5 7 11 16
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
Escalonador
Um novo job entra na fila Q0 servido por FCFS. Quando
recebe CPU, o job tem 8 ms. Se não terminar em 8 ms, o
job é removido para Q1.
Em Q1 o job é servido por FCFS e recebe 16 ms adicionais.
Se ainda não terminar, é transferido para Q2.
Sistemas Operacionais Prof. Flávio Márcio 28
Sincronização de Processos
Processos podem compartilhar armazenamentos
em comum, onde cada um pode ler e escrever
Problema
Imagine que um spool tenha um vetor quem contém os
nomes de arquivos a serem impressos
Esse vetor possui duas variáveis: out – aponta para o
próximo arquivo a ser impresso e in – aponta para a
próxima posição vaga no vetor
Um processo A ler a próxima posição livre (in) e é
escalonado pela CPU
Um processo B ler a próxima posição livre, armazena o
arquivo e incrementa in
O processo A armazena o arquivo a ser impresso e
incrementa in
O arquivo de impressão do processo B é perdido
Região crítica
Parte do código em que há acesso à memória
compartilhada