Arquitetura de Sistemas Operacionais – Machado/Maia

23
etura de Sistemas Operacionais – Machado/Maia rquitetura de Sistemas Operacio rquitetura de Sistemas Operacio Francis Berenger Machado / Luiz Paulo M Francis Berenger Machado / Luiz Paulo M Revisto Revisto Capítulo 3 Capítulo 3 Concorrência Concorrência

description

Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia Revisto Capítulo 3 Concorrência. Arquitetura de Sistemas Operacionais – Machado/Maia. 3 – Concorrência. Sist. Monoprogramável x Multiprogramável Sistemas Monoprogramáveis: - PowerPoint PPT Presentation

Transcript of Arquitetura de Sistemas Operacionais – Machado/Maia

Page 1: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia

Arquitetura de Sistemas OperacionaisArquitetura de Sistemas OperacionaisFrancis Berenger Machado / Luiz Paulo MaiaFrancis Berenger Machado / Luiz Paulo Maia

Revisto Revisto

Capítulo 3 Capítulo 3

ConcorrênciaConcorrência

Page 2: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Sist. Monoprogramável x Multiprogramável

o 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

o Sistemas Multiprogramáveis:

Permite a concorrência dos programas

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

3/1

Page 3: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Sist. Monoprogramável x Multiprogramável

o Vantagens dos Sistemas Multiprogramáveis:

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

Uso mais racional dos recursos

o Melhor aproveitamento do espaço de memória

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

o Cada programa (processo) ocupa uma fatia de tempo do processador 3/2

Page 4: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Sist. Monoprogramável x Multiprogramável

3/3

2

(a ) Sistem a M o n o prog ra m á veltem po tem po

E/ S E/ S

U C P U C Plivre 11

1

(b ) Sistem a M ultip ro g ra m áve l

Page 5: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Sist. Monoprogramável x Multiprogramável

o Exemplo hipotético com 3 programas:

Prog 1:

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

Prog 2:

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

Prog 3:

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

Execução concorrente dos 3 programas:

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

3/4

Page 6: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Sist. Monoprogramável x Multiprogramável

o Troca de contexto:

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

Quando um processo retorna à sua execução, todo o contexto imediatamente anterior à sua saída deve ser recuperado

3/5

Page 7: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Interrupção e Exceção

o 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 (interrupção)

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

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

o Processador interrompe o programa em execução para tratar o evento 3/6

Page 8: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Interrupção e Exceção

3/7

Page 9: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Interrupção e Exceção

o Mecanismo de interrupção

Sinal de interrupção gerado p/ 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

3/8

Page 10: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Interrupção e Exceção

o Para cada tipo de interrupção existe uma rotina de tratamento associada para a qual o fluxo de execução é desviado

o Dois métodos para tratamento de interrupções

Vetor de interrupção

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

o Uma única rotina que verifica o tipo de evento e faz o tratamento adequado

3/9

Page 11: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Interrupção e Exceção

o 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

o Interrupções mascaráveis

Demais interrupções podem ser enfileiradas segundo respectivas prioridades 3/10

Page 12: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Interrupção e Exceção

o 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

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

o Tratamento equivalente ao da interrupção

o Rotina de tratamento para uma determinada exceção pode ser escrita pelo próprio programador 3/11

Page 13: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Operações de Entrada/Saída

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

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

o 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

3/12

Page 14: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Operações de Entrada/Saída

3/13

M em óriaPr in cip a lU C P

C on tro la do r

D ispo sitivo s d e E/ S

Page 15: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Operações de Entrada/Saída

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

o Solução usando DMA – Direct Memory Access

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

3/14

Page 16: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Canal de E/S

o Introduzido pela IBM no sistema 7094

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

o 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

o Pode controlar múltiplos dispositivos de E/S

3/15

Page 17: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Canal de E/S

3/16

M em óriaPr in cip a lU C P

C an a l de E/ S

C on tro la do r

D ispo sitivo s de E/ S

C on tro la do r

D ispo sitivo s de E/ S

Page 18: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Buffering

o Consiste em utilizar uma área na memória principal para transferência de dados entre dispositivos de E/S e a MP

o Numa operação de leitura do dispositivo:

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

o Numa operação de gravação p/o dispositivo:

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

3/17

Page 19: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Buffering

3/18

M em óriaPr in cip a l

U C P Bu ffer

g ravaçã o g ravaçã o

leitu ra leitu ra

C on tro lado r

Page 20: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Buffering

o Unidade de transferência é o registro, cujo tamanho depende do tipo de dispositivo

Vários registros podem ser armazenados num buffer

Buffer conterá dados lidos mas ainda não processados, ou dados processados mas ainda não gravados

o Buffering minimiza problemas decorrentes da disparidade de velocidades, compatibilizando tempos de acesso de maneira que processador e dispositivo de E/S não fiquem ociosos

3/19

Page 21: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Spooling

o Simultaneous Peripheral Operation On-line, introduzido no fim dos anos 1950

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

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

o SO é quem gerencia os jobs de impressão

3/20

Pro gram a Im p resso raA rq u ivod e Spo o l

Sistem a O peraciona lSistem a O peraciona l

Page 22: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Reentrância

3/21

M em ória Pr in cipa l

có d igo reentran te

á rea de da dos do u suá rio A

usuá rio A usuá rio C

usuá rio B usuá rio D

á rea de da dos do u suá rio B

á rea de da dos do u suá rio C

á rea de da dos do u suá rio D

Page 23: Arquitetura de Sistemas Operacionais – Machado/Maia

Arq

uite

tura

de

Sis

tem

as O

pera

cion

ais

– M

acha

do/M

aia3 – Concorrência3 – Concorrência

Proteção do Sistema

o SO deve garantir a confiabilidade e a integridade dos programas e dados dos usuários, além do próprio SO

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 monopolizados3/22