Arquitetura de Sistemas Operacionais – Machado/Maia
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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