Sistemas Operacionais - Aula 05 (Concorrência)

38
# Sistemas Operacionais # Aula 05 – Concorrência Prof. Leinylson Fontinele Pereira

Transcript of Sistemas Operacionais - Aula 05 (Concorrência)

Page 1: Sistemas Operacionais - Aula 05 (Concorrência)

# Sistemas Operacionais #Aula 05 – Concorrência

Prof. Leinylson Fontinele Pereira

Page 2: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Na aula anterior...

Prática com Simulador SOsim

11:13

Page 3: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Mundo 5 – Concorrência

3

Hardware e software

Conceitos Básicos

Visão Geral de SO

Aula Prática I

Concorrência

Page 4: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

O que vamos aprender?

Concorrência em Sistemas Operacionais

11:13

Page 5: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Relembrando...

5

O que é um sistema operacional?É um programa ou conjunto de programas cuja função é gerenciar os recursos do hardware

Funções básicasFacilidade de acesso aos recursos do sistema + Compartilhar os recursos de forma organizada e protegida

Page 6: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Relembrando...

6

Hardware e Software são logicamente equivalentes

Sistemas monoprogramáveis executam apenas uma tarefa por vez

Sistemas multiprogramáveis executam várias tarefas “ao mesmo tempo”

Sistemas multiprocessadores possuem vários processadores, além disto podem ser fortemente ou fracamente acoplados.

Page 7: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Relembrando...

7

O Processador é comporto por: UC, ULA, e registradores

A memória principal pode ser volátil ou não volátil

Memória secundária é o armazenamento de dados “permanente” e não volátil

A linguagem de máquina é o que o processador realmente entende e está diretamente ligado a sua arquitetura, que comumente vão ser RISC ou CISC

Page 8: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Relembrando...

8

Tradutor: Traduz o programa para linguagem de máquina

Interpretador: Interpreta código direto

Linker: Liga vários módulos como um só

Loader: Carrega o programa na memória

Depurador: Acompanhar a execução de um programa

Page 9: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Concorrência?

9

Page 10: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Sistemas Monoprogramáveis:

Apenas um programa sendo executado a cada vez

Execução de um novo programa deve esperar o encerramento do programa sendo executado

Sistemas Multiprogramáveis:

Permite a concorrência dos programas

Execução de novos programas inicia-se durante a execução de outros programas

Monoprogramável x Multiprogramável

Page 11: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Tempo total de execução de vários programas torna-se menor

Uso mais racional dos recursos

Melhor aproveitamento do espaço de memória

Aproveitamento do processador durante operações de E/S

Cada programa (processo) ocupa uma fatia de tempo do processador

Vantagens dos Sistemas Multiprogramáveis

Page 12: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

2

(a) Sistema Monoprogramáveltempo tempo

E/ S E/ S

UCP UCPlivre 11

1

(b) Sistema Multiprogramável

Monoprogramável x Multiprogramável

Page 13: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Prog. 1:

10% de CPU, 30% de memória e 5 min

Prog. 2:

50% de CPU, 30% de memória e 15 min

Prog. 3:

30% de CPU, 20% de memória e 10 min

Execução concorrente dos 3 programas:

< 90% de CPU, < 80% de memória e < 15 min

Monoprogramável x Multiprogramável

Page 14: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Mudança de um processo para outro faz com que todo oconteúdo dos registradores seja trocado (estado do sistema)

Quando um processo retorna à sua execução, todo ocontexto imediatamente anterior à sua saída deve serrecuperado

Troca de contexto

Page 15: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Durante a execução de um programa, alguns eventos inesperados podem ocorrer, ocasionando um desvio forçado no fluxo de execução

Sinalização de operação de E/S de dispositivo externo

Problemas decorrentes da execução de instruções do programa

Ao final de cada instrução, a UC verifica a ocorrência de interrupção ou exceção

Processador interrompe o programa em execução para tratar o evento

Interrupção e Exceção

Page 16: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Interrupção e Exceção

Page 17: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Sinal de interrupção gerado para o processador

Processador termina a instrução corrente e identifica qual interrupção foi gerada

Registradores PC e de status são salvos, PC recebe endereço inicial da rotina de tratamento

Rotina de tratamento salva demais conteúdos de registradores na pilha de controle e é executada

Após o término, todos os registradores são restaurados e programa interrompido retorna

Mecanismo de interrupção

Page 18: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Vetor de interrupção Contém o endereço inicial de todas as rotinas de tratamento p/ cada tipo de evento

A partir de um registrador de status Uma única rotina que verifica o tipo de evento e faz o tratamento adequado

Interrupção e Exceção

Page 19: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Interrupções são decorrentes de eventos assíncronos, sem relação com o programa corrente

Podem ocorrer múltiplas vezes num mesmo intervalo de tempo (simultaneamente)

Rotina de tratamento pode desabilitar tratamento das demais interrupções

Interrupções mascaráveis

Demais interrupções podem ser enfileiradas segundo respectivas prioridades

Interrupção e Exceção

Page 20: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Exceções são eventos síncronos, resultado direto da execução do programa corrente

Divisão por zero

Overflow em operação aritmética

São previsíveis e só podem ocorrer um de cada vez

Tratamento equivalente ao da interrupção

Interrupção e Exceção

Page 21: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Rotina de tratamento de exceção em Java

21

Page 22: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Antes, instruções de E/S específicas para cada periférico eram executadas pela CPU

Surgimento do controlador de dispositivo desonerou o processador e permitiu maior agilidade

Processador não mais se comunica diretamente com o dispositivo, somente via controlador

Instruções de E/S mais simplificadas

Inicialmente operava em modo busy-wait, posteriormente fazendo polling nos dispositivos, finalmente se valendo de interrupção para avisar término da operação de E/S

Operações de Entrada/Saída

Page 23: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

MemóriaPrincipal

UCP

Controlador

Dispositivos de E/ S

Operações de Entrada/Saída

Page 24: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Transferência de grande volume de dados entre controladora e MP onera por demais o processador

Solução usando DMA

Permite que dados sejam transferidos entre controladoras e MP sem intervenção do processador, exceto

no início e no final

Área de memória usada pelo controlador de DMA é chamada buffer de entrada/saída

Controle de barramento assumido temporariamente pelo DMA, processador limitado a acessar caches

Operações de Entrada/Saída

Page 25: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Canal de E/S é um processador com capacidade de executar programas de E/S e controle total dos dispositivos

Instruções de E/S armazenadas na MP ou no canal de E/S, porém executadas pelo canal de E/S

Processador instrui o canal de E/S a executar um programa de canal, responsável por especificar dispositivos, buffers e ações

Ao final da transferência, gera interrupção

Pode controlar múltiplos dispositivos de E/S

Canal de E/S

Page 26: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

MemóriaPrincipal

UCP

Canal de E/ S

Controlador

Dispositivos de E/ S

Controlador

Dispositivos de E/ S

Canal de E/S

Page 27: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Numa operação de leitura do dispositivo:

Dado é transferido para buffer sem onerar o processador, dispositivo fica liberado após conclusão

Numa operação de gravação para o dispositivo:

Dado é escrito rapidamente no buffer, liberando o processador para outras atividades enquanto este é gravado no dispositivo.

Buffering

Page 28: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

MemóriaPrincipal

UCPBuffer

gravação gravação

leitura leitura

Controlador

Buffering

Page 29: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Introduzido no fim dos anos 1950

Técnica usa uma área do disco (arquivo) para buffering de impressão

Tudo que é submetido para impressão vai para o arquivo de spool, liberando o programa de origem

SO é quem gerencia os jobs de impressão

Programa ImpressoraArquivode Spool

Sistema OperacionalSistema Operacional

Spooling

Page 30: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Memória Principal

código reentrante

área de dados do usuário A

usuário A usuário C

usuário B usuário D

área de dados do usuário B

área de dados do usuário C

área de dados do usuário D

Reentrância

Page 31: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Cada programa possui uma área reservada para código e outra para dados que devem ser preservadas durante sua execução

Idem para o SO em si

Arquivos também devem ter sua integridade garantida quando acessados por múltiplos programas e/ ou múltiplos usuários

Recursos não devem ser monopolizados

Proteção do Sistema

Page 32: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Material: https://sites.google.com/site/leinylsonnassau

Aula adaptada do material de:

Sistemas Operacionais, Anhaguera - Prof. Charles Fortes

Arquitetura de Sistemas Operacionais, Machado e Maia

32

Page 33: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Nesta aula aprendemos...Concorrência em Sistemas Operacionais

33

Page 34: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

𝟐ªMissão - x 1.500Missão: criar mapa mental (Coogle, MindMeister),

implementar o algoritmo da equipe, analisar se é soluciona o problema de deadlock da impressora e apresentar.

Data da entrega: acompanhar no trello.

Obs. 1: Se pegar as respostas na internet ou eu receber 2 iguais eu anulo o exercício

Obs. 2: a cada $ 1000 = 1 𝑥

34

Page 35: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

𝟐ªMissão - x 1.500

35

Avestruz

Semáforo

Barbeiro

Banqueiro

Jantar dos Filósofos

Page 36: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Na próxima aula veremos... Estrutura do S.O.

36

Page 37: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Alguma Dúvida?

37

[email protected]

Page 38: Sistemas Operacionais - Aula 05 (Concorrência)

Sistemas Operacionais - Aula 05: Concorrência

Alguma Dúvida?

11:13

Até a próxima aula...

[email protected]