Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de...
Transcript of Arquitetura de Sistemas Operacionais – Machado/Maia Cap. 3 – Concorrência1 Arquitetura de...
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Flávio MedeirosFlávio Medeiros
Capítulo 3Capítulo 3ConcorrênciaConcorrência
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 2
Sumário
• Introdução• Interrupção e exceção• Operações de E/S• Buffering• Spooling• Reentrância• Proteção do sistema
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 3
Introdução
• Concorrência– Princípio básico para o projeto de e a
implementação de sistemas multiprogramáveis– Através da concorrência que diversas tarefas
podem ser executadas em paralelo
• Limitações nos sistemas monoprogramáveis– Disparidade no tempo que o processador executa
instruções e o tempo das operações de entrada e saída
– Ex.: Leitura de um registro na memória leva em torno de 0,0015 seg., enquanto a execução de 100 instruções leva em torno de 0,0001 seg.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 4
Introdução
• Outras limitações dos sistemas monoprogramáveis
– Subutilização da memória principal, caso o programa sendo executado não a ocupe por completo
– Subutilização dos dispositivos de entrada e saída, onde apenas um usuário, através de um único programa utiliza os dispositivos
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 5
Concorrência
• Sistemas multiprogramáveis utilizam os recursos de forma mais eficiente
– Vários programas compartilham o processador através de um algoritmo de escalonamento, seja por fatia de tempo ou prioridade
– Os programas que estão sendo executados são alocados na memória principal
– Dispositivos de entrada e saída são compartilhados entre as diversas aplicações
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 6
Utilização do Processador
• Sistema monoprogramável versus multiprogramável
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
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 7
Interrupção e Exceção
• Durante a execução de um programa, eventos inesperados podem ocorrer, ocasionando desvio forçado no fluxo de execução
• Esses eventos podem ocorrer a partir da sinalização de um hardware ou a partir da própria instrução de um programa– Ex.: Término de uma operação de Entrada
e Saída– Ex.: Divisão por zero
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 8
Interrupção
• Causada por um evento externo ao programa– Não tem haver com a instrução atual do
programa sendo processada– Interrupções podem ser geradas por
hardware ou software– Geradas por eventos assíncronos– Ex.: Término de uma operação de Entrada
e Saída
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 9
Exceção
• Resultado direto da execução do programa– Está relacionada a uma instrução do
programa que não executada de forma correta
– Geradas por eventos síncronos– Eventos são previsíveis e podem ser
tratadas pelo próprio programador– Ex.: divisão por zero, atribuição errada de
tipos, etc.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 10
Interrupção e Exceção
• Tratamento de interrupções e exceções:– Um sinal é gerado para o processador– Após o término da execução da instrução
corrente, o processador identifica a interrupção ou exceção
– O conteúdo dos registradores são salvos– Processador identifica rotina de tratamento– Rotina de tratamento é executada– Registradores são restaurados e programa
continua a execução
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 11
Interrupção e Exceção
• Mecanismo de Interrupção e Exceção
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 12
Operações de E/S
• Antigamente, o próprio processador era responsável pela comunicação com os dispositivos de entrada e saída– Conjunto de instruções de entrada e saída
com informações a respeito dos dispositivos
– Grande dependência entre o processador e os dispositivos
– Problema na disparidade entre a velocidade na execução das instruções e nas operações de entrada e saída
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 13
Operações de E/S
• Controlador– Processador
não se comunica mas diretamente com os dispositivos
– Não existe mais a dependência entre o processador e dispositivos
M em óriaPr in cip a lU C P
C on tro la do r
D ispo sitivo s d e E/ S
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 14
Operações de E/S
• Com a utilização do controlador– O processador apenas iniciava a operação
de entrada e saída
– Depois o processador ficou livre para realizar outras operações, mas ainda precisava checar periodicamente o término da operação
– Com muitos dispositivos o processador parava várias vezes
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 15
Operações de E/S
• Com a utilização de interrupções– Eficiência nas operações de entrada e
saída– Processador ficava livre para executar
outras tarefas e o controlador avisa ao processador o término da operação através de interrupções
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 16
Buffering
• Operações de E/S– Diminuir a disparidade entre a velocidade
do processador e entrada e saída de dados– Utiliza parte da memória principal para
transferência de dados entre dispositivos e e memória
– Depois que o dado está no buffer, processador pode utiliza-lo e dispositivo fica livre para novas operações de entrada e saída
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 17
Buffering
• Operações de E/S
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
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 18
Spooling
• Técnica de spooling– Gerenciamento de impressão, dados são
gravados no arquivo chamado Spool e programa fica livre para outras atividades
– SO envia os dados para a impressora
Pro gram a Im p resso raA rq u ivod e Spo o l
Sistem a O peraciona lSistem a O peraciona l
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 19
Reentrância
• Sistemas multiprogramáveis– Vários usuários podem utilizar os mesmo
programas simultaneamente– Seria desperdício colocar uma cópia do
código executável do programa para cada usuário
– Com a reentrância, diferentes usuários podem utilizar o mesmo código que está na memória principal
– Cada usuário pode executar partes diferentes do código
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 20
Reentrância
• Reentrância
M em ór ia 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
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 21
Proteção do Sistema
• Diversos usuário compartilhando os recursos em ambiente multiprogramáveis– Preocupação em garantir a confiabilidade
e a integridade dos programas e dados dos usuários, além do próprio sistemas operacional
– Implementação de um sistema operacional multiprogramável se torna bem mais complexa
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 22
Proteção do Sistema
• Compartilhamento da memória– Cada usuário deve ter sua parte, dados do
SO não podem ser sobrescritos e cada programa também precisa de sua parte
– Arquivos devem poder ser executados por diferentes usuários
– SO deve controlar violações de acesso– SO deve controlar o escalonamento do
processador entre os programas
– SO deve controlar o acesso concorrente!
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– M
ach
ado/M
aia
Cap. 3 – Concorrência 23
Dúvidas, críticas e sugestões...