Sistemas multi-programáveis
Pesquisas Acadêmicas: Sistemas multi-programáveis. Pesquise 862.000+ trabalhos acadêmicosPor: Theucristao • 1/4/2014 • Pesquisas Acadêmicas • 1.778 Palavras (8 Páginas) • 284 Visualizações
SISTEMAS OPERACIONAIS – CAPÍTULO 3
CONCORRÊNCIA
1. INTRODUÇÃO
• O conceito de concorrência é o princípio básico para o
projeto e a implementação dos sistemas operacionais
multiprogramáveis.
• O sistemas multiprogramáveis surgiram a partir de limitações
dos sistemas monoprogramáveis, nos quais recursos
computacionais como processadores, memórias e dispositivos
de entrada e saída eram utilizados de maneira pouco
eficiente, limitando o desempenho dessas arquiteturas.
Muitos desses recursos de alto custo permaneciam
ociosos por longos períodos.
• Nos sistemas monoprogramáveis há um evidente desperdício
dos recursos do processador, visto que esse permanecia ocioso
enquanto a entrada de dados era efetuada, por exemplo.
• A memória principal também é subutilizada nos sistemas
monoprogramáveis, uma vez que apenas um programa por vez
era carregado, deixando grandes áreas livres. Nos sistemas
multiprogramáveis, vários programas podem estar na
memória, concorrendo pelo acesso ao processador.
A utilização concorrente da UCP deve ser implementada de
maneira que, quando um programa perde o uso do
processador e depois retorna para continuar sua
execução, seu estado deverá ser idêntico ao do momento
em que foi interrompido. O programa deverá executar a
instrução seguinte à última instrução executada,
aparentando ao usuário que nada aconteceu.
2. INTERRUPÇÃO E EXCEÇÃO
• São desvios forçados no fluxo de execução de um
programa ocasionados por algum evento inesperado.
• Podem ser ocasionados por dispositivos do hardware externo ao
processador ou da execução do próprio programa.
A diferença entre exceção e execução é dada pelo tipo de
evento ocorrido.2.1 INTERRUPÇÃO
• A interrupção foi o conceito que tornou possível a
implementação da concorrência nos computadores,
sendo o fundamento básico dos sistemas
multiprogramáveis.
• É pelo mecanismo de interrupção que o sistema
operacional sincroniza a execução de todas as suas
rotinas e dos programas dos usuários, além dos
dispositivos.
• É sempre gerada por algum evento externo ao
programa.
• Ao final da execução de cada instrução, a unidade
de controle verifica a ocorrência de algum tipo de
interrupção. Neste caso, o programa em execução é
interrompido e o controle desviado para uma rotina
responsável por tratar o evento ocorrido,
denominada rotina de tratamento de exceções.
• Para que o programa possa voltar a ser executado,
o conteúdo dos registradores deve ser preservado
a fim de que possa ser restaurado para a
continuação do programa.
• Para cada tipo de interrupção existe uma rotina de
tratamento associada. No momento da ocorrência de
uma interrupção, o processador deve saber para qual
rotina desviará o fluxo de execução.
Existem dois tipos de tratamento de interrupções:
Através de uma estrutura de dados chamada vetor de
interrupção, que contém o endereço de memória inicial de
todas as rotinas de tratamento associadas a cada tipo de evento.
Um segundo método utiliza um registrador de status que
armazena o tipo de evento ocorrido. Neste método só existe
uma rotina de tratamento, que no seu início testa o
registrador para identificar o tipo de interrupção e tratá-la de
maneira adequada.
INTERRUPÇÕES SÃO DECORRENTES DE EVENTOS
ASSÍNCRONOS.2.1.1 Interrupções Mascaráveis
São uma maneira de evitar múltiplas interrupções. Uma
rotina de tratamento inibe as demais interrupções,
fazendo com que, enquanto é executada, outras
interrupções sejam ignoradas.
Alguns processadores não permitem que
interrupções sejam desabilitadas. Contudo, possuem
um tratamento para múltiplas interrupções. Neste
caso, as interrupções devem ter prioridades em função de
importância de atendimento a cada uma. Geralmente, há
um dispositivo controlador de pedidos de interrupção.
2.2 EXCEÇÃO
•
...