22
Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribei

Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Embed Size (px)

Citation preview

Page 1: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Aula 4 - Temas 4 e 5

Sistemas Operacionais

Luis Cezar Ribeiro

Page 2: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Para implementar o modelo de processo, o sistema operacional deve manter uma tabela, chamada de tabela de processos, com uma entrada por processo.

Implementação dos Processos

Gerência do processo

Gerência da memória

Gerência de arquivos

Valor dos registradores

Ponteiro para o segmento de texto

Mascara UMASK (de controle de permissões)

Valor do contador de programa

Ponteiro para o segmento de dados

Diretório raiz

Page 4: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Processos orientados a E/S (I/O Bound)

O conjunto de instruções que menos complexas que resumem-se a comandos iniciais e finais aos controladores de I/O, são conhecidas como I/O Bound.

Page 5: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Comunicação entre Processos

Existe, portanto, a necessidade de haver comunicação entre tais processos, preferencialmente de uma forma estruturada, que não seja baseada em interrupções.

Page 6: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Condições de CorridaQuando dois ou mais processos pretendem utilizar um dispositivo físico (memória), é dado o nome de condição de corrida. Esta situação precisa ser perfeitamente controlada pelo Sistema Operacional de modo a evitar quaisquer inconsistências.

Page 7: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Regiões Críticas

Analisando o fenômeno da condição de corrida, observa-se que ela ocorre quando os processos concorrentes estão executando as instruções que determinam a utilização dos recurso compartilhado.

Page 8: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

1ª Regra:

Dois ou mais processos não podem estar simultaneamente dentro de suas regiões críticas correspondentes;

Como o S.O. controla a condição de corrida

Page 9: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

2ª Regra:

Nenhuma consideração pode ser feita a respeito da velocidade relativa dos processos, ou a respeito do número de processadores disponíveis no sistema.

Como o S.O. controla a condição de corrida

Page 10: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

3ª Regra:

Nenhum processo que esteja rodando fora de sua região crítica pode bloquear a execução de outro processo.

Como o S.O. controla a condição de corrida

Page 11: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

4ª Regra:

Nenhum processo pode ser obrigado a esperar indefinidamente para entrar em sua região crítica.

Como o S.O. controla a condição de corrida

Page 12: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Exclusão Mútua com Espera Ocupada

Quando um processo estiver acessando a memória compartilhada dentro de sua região crítica, nenhum outro processo poderá entrar em sua seção crítica correspondente.

Page 13: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

A Instrução TSL

Esta é uma solução simples e correta para o problema do acesso a regiões críticas.Antes de entrar em sua região crítica, o processo chama um procedimento, o qual coloca o processo em espera ocupada até que seu ingresso nela seja permitido.

Page 14: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Bloqueio e desbloqueio de processos

Para complementar a resolução de concorrência entre processos é necessário encontrar uma primitiva que bloqueie a continuação da execução de determinado processo, em vez de gastar tempo de processador quando sua entrada na região crítica não for permitida. Um dos pares de primitivas mais simples para resolver este problema é o denominado SLEEP e WAKEUP.

Page 15: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Problema do Produtor-Consumidor

O Sistema Operacional aplica as primitivas Sleep e WakeUp (dormir e acordar respectivamente para compensar a diferença entre os processos.

Page 16: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Semáforos

Em complemento as soluções de controle de fluxo de execução processos os Sistemas Operacionais foi desenvolvida a técnica de semáforos, que acrescenta comandos UP e DOWN, diminuindo ou aumentando o tempo das primitivas SLEEP e WAKE UP.

Page 17: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Travamento (Deadlock)

Outra aplicação de semáforos e primitivas, é evitar que ocorra um impasse e um potencial travamento.

Page 18: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Escalonamento de ProcessosMódulo Escalonador execuuta o algoritmo de escalonamento.Justiça: todos os processos do sistema terão chances iguais de uso do processador;Eficiência: manter o processador ocupado o tempo todo;Tempo de resposta: minimizar o tempo de resposta para os usuários interativos;Turnaround: minimizar o tempo que os usuários batch devem esperar a saída;Throughput: maximizar o número de jobs processados na unidade de tempo, usualmente hora.

Page 19: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Escalonamento Round Robin

Neste tipo de escalonamento cada processo recebe um peso, conhecido como Quantum, e ciclicamente cada processo recebe atenção do processador.Este é o tipo mais comum e utilizado pela maioria dos Sistemas Operacionais atualmente.

Page 20: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Escalonamento com Prioridade

A necessidade de se considerar fatores externos para a escolha do próximo processo que vai ganhar o processador é denominada escalonamento com prioridade. A idéia básica é muito simples: a cada processo é associada uma prioridade, e o processo pronto com maior prioridade será aquele que vai rodar primeiro.

Page 21: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Menor job Primeiro (SJF)

Nesta política, quando vários jobs igualmente importantes estiverem esperando vez numa fila, o escalonador usa a política de alocar o processador ao menor dos jobs da fila. Efetuando o processamento de tais jobs nesta ordem, o tempo de turnaround será otimizado.

Page 22: Aula 4 - Temas 4 e 5 Sistemas Operacionais Luis Cezar Ribeiro

Até a próxima aula.